centos7  firewall防火墙操作

1:防火墙:centos7firewalld是默认的防火墙,而不再是iptables。 防火墙firewall工具:

防火墙firewall工具:

  1):firewall-config 图形化工具(操作方便)

  2):firewall-cmd  命令工具(通过命令进行管理相比与iptables简化方便)

防火墙类型:firewalldipatblesebtables等。

拥有运行时配置和永久配置选项,支持直接添加防火墙规则。

2firewalld的原则:一个原地址只能匹配一个区域。

匹配顺序:1、所经过的网卡接口。

  2、原地址,原区域。

      3、使用默认。

3:有效的区域。

1:丢弃区域Drop:任何进入的数据包将被丢弃。

2:阻塞区域Block:拒绝进入的网络连接,只有服务器已建立的连接会被通过。

3:公共区域Public:只接受那些被选中的连接,默认sshdhcpv6-client

4:外部区域External:相当于路由器启用伪装,指定连接被接受。

5:隔离区域DMZ:只允许部分服务被外部访问。

6:信任区域Trusted:允许所有网络通过。

4firewall-cmd基本命令。

1:查看状态:firewall-cmd--statc

2:重新加载:firewall-cmd--rcload

3:获取区域列表:firewall-cmd --get-zones

4:获取支持服务:firewall-cm--get-services

5:获取支持ICMP类型:firewall-cmd --get-icmptypes

6:列出全部启用区域:firewall-cmd -list-all-zones

7:查看指定区域:firewall-cmd --zone=[区域名称]  --list-all

8:查看默认区域:firewall-cmd  --get-default-zone

9:设置默认区域:firewall-cmd   --set-default-zone=[区域名]

10:查看活动区域:firewall-cmd--get-active-zones

11:查看接口绑定某个区域:firewall-cmd  --get-zone-of-ineterface

12:将接口添加到区域:firewall-cmd  [--zone=区域名] --add-interface=接口名

13:修改接口区域: firewall-cmd [--zone=区域名] --change-interface=接口名

14:从区域删除一个接口: firewall-cmd [--zone=区域名] --remove-interface=接口名

15:查看区域中是否包含接口: firewall-cmd [--zone] --qurey-interace=接口名

16:查看区域中启动服务:firewall-cmd [--zone区域名] --change-interface=接口名

17:启用应急模式:firewall-cmd  --panic-on

18:禁用应急模式:firewall-cmd  --panic-off

19:查询应急模式:firewall-cmd  --query-panic

    20:查询区域中启用的服务:firewall-cmd  --list-services

        如果区域被忽略,可以使用默认区域:firewall-cmd --list-services --zone=home

5:处理运行区域:重新加载失效。

1给某个区域开启某个服务[可以设置秒数]firewall-cmd --zone=区域名 --add-service=服务 --timeout=秒数    (秒数可选添加)

2:关闭区域某个服务: firewall-cmd --zone=区域 --remove-service=服务

3:查看区域是否启用服务: firewall-cmd  --zone=区域名 --query-service=服务名

4:启用区域端口或协议组合:firewall-cmd --zone=区域名 --add-port=端口号/协议

   查看区域内的端口号:firewall-cmd --zone=区域名 --list-all

5:禁用端口和协议: firewall-cmd zone=区域名 --remove-port=端口号/协议

6:查看区域是否启用端口和协议:firewall-cmd --zone=区域 --query-port=端口号/协                             议

7:启用区域中IP伪装:firewall-cmd  --zone=区域 --add-masquerade

8:禁止区域IP伪装:firewall-cmd  --zone=区域 --remove-masquerade

9:查看区域伪装状态:firewall-cmd  --zone=区域 --query-masquerade

10:启用区域的ICMP阻塞功能:firewall-cmd --zone=区域 --add-icmp-block=icmp类型

11:禁止ICMPfirewall-cmd --zone=区域 --remove-icmp-block=icmp类型

12:查看ICMPfirewall-cmd --zone=区域 --quert-icmp-block=icmp类型

6:处理永久区域:

1:获取永久选项所以支持服务:。firewall-cmd --permanent --get-services

2:支持的ICMP服务: firewall-cmd --permanent --get-icmptypes

3:支持的永久区域:firewall-cmd --permanent --get-zones

4:配置防火墙在public区域打开http协议,并保存重启生效

       firewall-cmd --permanent --zone=public --add -service=http

 查看永久模式下public区域是否打开http服务

 firewall-cmd --permanent --zone=public --query-service=http

5:开放8080端口在public区域:

   firewall-cmd --permanent --zone=public --add-port=8080/tcp

6:配置富规则:

       查看富规则:firewall-cmd --list-rich-rules

       创建富规则:firewall-cmd --add-rich-rule  'rule family=ipv4 source address=地址/子网掩码 service name=ftp log prefix="ftp" level=info accept ' --permanent

                 firewall-cmd --add-rich-rule  'rule family=ipv4 source address=地址/子网掩码port  port=80  protocol=tcp  log prefix="80" level=info accept ' --permanent

                  firewall-cmd --add-rich-rule  'rule family=ipv4 source address=地址/子网掩码 forward-port port="8080" protocol='tcp' to-port="80" to-addr="地址"

    富规则中使用伪装功能可以更精确详细的限制

      firewall-cmd --add-rich-rule 'rule family=ipv4 source address=地址/子网掩码 masquerade'

7:删除rich规则:firewall-cmd --permanent --zone=public --remove-rich-rule='rule family=ipv4 source address=地址/子网掩码 source name=服务 reject'

8:劲允许部分IP访问::firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="地址/子网掩码" port portocol="协议" port="端口号" accept"

9:创建richfirewall-cmd --permanent  --zone=public  --add-rich-rule="rule family="ipv4" source adress="地址/子网掩码" port  port=端口号 protocol="协议"  log  prefix=proxy  level=wraning  accept"

可以通过/var/log/messages查看日志文件