防火墙(centos7)的配置及应用

1:防火墙有基本的三类 iptablesfirewalldip6tables

Systemctl   status   {firewalldiptablesip6tables}  查看三类的状态这里主要介绍firewalld防火墙的配置以及基本应用功能

2firewalld提供支持区域定义网络连接的防火墙

3:拥有运行时配置和永久性配置(临时和永久性配置)

4:之前是静态,现在是动态,不用重新启动防火墙,不用卸载防火墙的模块

5:有两种工具:(1)图形:firewall-config  2)字符:firewall-cmd

6:区域:定义网络连接的可信等级

数据包进入内核必须要通过zone中的一个,而且每个区域的过滤强度不一样

一张网卡只能对应一个zone;一个zone可以对应多个网卡

7:服务:提供资源;或者是端口与协议的组合

ICMP的阻塞

地址伪装

端口转发

8;firewalld9个区域:

丢弃区域drop zone  丢弃,不用建立规则

阻塞区域blockzone  只有服务器已建立初始化连接会通过,但不许进入

公共区域 public zone 接受选中的连接,默认sshdhcpub-client是缺省区域

外部区域 external zone 指外部网络区域,是允许接受

工作区域 work zone 内部网络区域

隔离区域 dmz zone

家庭区域 home zone

信任区域 trusted zone 任何条件都可以通过

内部区域 internal zone 类似 home

重点1

1:在区域里创建规则

(1):客户端的数据包ipzonesource相配,每个zone只能有唯一的ip地址,

(2)客户端数据包进入某一个接口,匹配的zone应用该区域的配置

(3)以上都不满足,就是缺省区域

区域的配置文件/usr/lib/firewalld/zones

基本应用:

1:重新加载防火墙: firewall-cmd  --reload

2:查看区域: firewall-cmd --get-zones

3;列出防火墙的规则: firewall-cmd --list'-all-zones

4:查看单个区域: firewall-cmd --zone=xx --list-all

5:查看默认区域: firewall-cmd --list-all

6:查看活动区域: firewall-cmd --get-active-zones  当一个区域绑定网卡,或拥有source地址,则为活动区域

7:查看网卡绑定的某个区域: firewall-cmd --get-zone-of-interface=enoxxx

8:解除绑定: firewall-cmd --zone=public --remove-interface=enoxxx添加则将remove换成add即可;修改则换成change

9:查看区域是否包含接口: firewall-cmd --query-interface=enoxxx

10:启动服务:firewall-cmd --list-service  --zone=区域

11:启动应急模式: firewall-cmd --panic-on

12:查看应急模式: firewall-cmd --query-panic

重点2

1:规则要在活动区域和默认区域里创建

添加规则:firewall-cmd --zone=work  --add-service=httpd

删除: firewall-cmd --zone=work --remove-service=httpd

查询: firewall-cmd --zone=work --query-service=httpd

2:添加协议和端口

添加: firewall-cmd --add-port=3306-3309/tcp --zone=work

删除: firewall-cmd --remove-port=3306-3309/tcp --zone=work

查询: firewall-cmd --query-port=3306-3309/tcp --zone=work

3:地址伪装: firewall-cmd --add-masquerade --zone=home

删除:firewall-cmd --remove-masquerade --zone=home

查询: fierwall-cmd --query-port=3306-3309/tcp --zone=home

4:开启路由功能:

echo1 > /porc/sys/net/ipv4/ip-forward

Vim /etc/sysctl.conf

Net.ipv4.ip_forward = 1

保存sysctl -p

5:在区域中启用端口转发或映射

firewall-cmd --zone=区域 --add-forward -port=port=8080proto=tcptoproto=80

6:自定义策略:

创建、转发、

查看防火墙的命令:

Iptables -vnL

检查语句规则: 1 log  2 deny  3 allow

重点3

查看man手册

使用man -k 查看具体的分类,之后再根据分类的选择,分别查看语句的类型

试验案例:结合以上命令短语实现

192.168.31.83             192.168.31.254;172.31.1.1            172.31.1.2

web/ssh (内网)       (网关) firewalld     (外网) internet  web

spacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gif 

 

spacer.gifspacer.gif 

 

 

一、lan:web/ssh

1192.168.31.83主机提供web服务和ssh远程管理。两个服务已经启动

wKiom1j8mQvRMaW5AAAb4_cSqFk125.png-wh_50 

2192.168.31.83主机通过8000提供web服务,ssh通过10211提供ssh服务。

wKiom1j8mTqxRkLoAABENvny6Jc524.png-wh_50 

3192.168.31.83禁止ping

wKiom1j8mVXDzOp9AAAH1A7OjYU018.png-wh_50 

4192.168.31.83除了webssh之外,禁止任何访问

wKioL1j8mWqgFLHiAAAPe3UWRQI202.png-wh_50 

5:开始验证:是否可以通过web8000;ssh10211访问192.168.31.83主机

wKiom1j8mYeSHAkIAACR5FgFU8w981.png-wh_50wKioL1j8mZ3C-zXmAAAweCk3N-E879.png-wh_50wKioL1j8mbXy8bOyAAATtpidfxY728.png-wh_50 

说明以上的防火墙策略已经生效;验证成功,以上的策略是永久性生效的加 --permanent 不加则是临时生效

二、firewalld主机

1firewalld主机实现laninternet之间的数据包转发,要写两条策略,(1)开启网管防火墙的路由转发(2)开启防火墙的maquerade策略是内网访问外网,地址伪装策略

1)开启陆游策略修改vim /etc/sysctl.conf配置文件

wKiom1j8mdeDL2bMAAADxi_ZKiw431.png-wh_50 

sysctl -p 重启配置文件

2)开启防火墙的maquerade地址伪装类似nat协议

wKiom1j8me2jAKGCAAAFEG7x1Yw922.png-wh_50 

2firewalld主机通过地址伪装实现内网连接internet

wKiom1j8mgWBDVXrAAAURSOOHMQ844.png-wh_50wKiom1j8mhqzg4Y8AANq4zZ9PDs208.png-wh_50 

3internet用户通过80端口访问内网web服务

需要在网关防火墙上添加一条规则,使internet可以访问内网的web 服务器,当然使用的是网关服务器的外网接口,实现端口映射

wKiom1j8mjLQvX6JAAAG_em3apU602.png-wh_50 

wKioL1j8mkiyivgvAABVBOJhM3U310.png-wh_50 

4、允许管理员在172.31.1.2主机通过ssh远程管理内网的192.168.31.83主机(所用口为23456)。。

wKioL1j8ml7DSujIAAAHhRrdiHY914.png-wh_50 

wKioL1j8mnOAU9d1AAAtUnKO--Q566.png-wh_50wKiom1j8morDa1WLAABHyxIoRhA687.png-wh_50 

 

5:如果要想实现内网的web服务器和internet的服务器可以互相访问,在网关防火墙上面必须设置两个活跃区域,当前是在一个活动区域做的规则,内往现在访问外网的web 出不去,通过路由重定向访问的是自己本身通过内网和外网的访问进行对比

wKioL1j8mqHyUbOOAAAvNMAxN_I082.png-wh_50wKiom1j8mraxlCh0AAA8B2KySng255.png-wh_50 

如果要实现相互访问,在网关的防火墙策略上要设置两个活跃区域与

比如:

wKiom1j8ms7C82zyAAAjMywWi-Y501.png-wh_50 

 

再次访问网页的内容,验证察看是否访问的一样

wKiom1j8muWRDbRIAANVBjIExHE964.png-wh_50wKioL1j8mxeRYyALAAA1ZnlSng8090.png-wh_50