CentOS7--Firewalld防火墙

  Firewalld服务是红帽RHEL7系统中默认的防火墙管理工具,特色是拥有运行时配置永久配置选项且可以支持动态更新以及"zone"的区域功能概念,使用图形化工具firewall-config或文本管理工具firewall-cmd网络

 

 配置文件的位置:ssh

  firewalld 的配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 里的各类 XML 文件里,firewalld 优先使用 /etc/firewalld/services/ 里的文件。tcp

经过编辑 /etc/firewalld/services/ 中的 XML 文件,服务能够被增长和删除,/usr/lib/firewalld/services/ 文件能够做为模板使用。工具

 

区域概念与做用:spa

  防火墙的网络区域定义了网络链接的可信等级,咱们能够根据不一样场景来调用不一样的firewalld区域,区域规则有:3d

   特别须要注意的是firewalld服务有两份规则策略配置记录,必须要可以区分:code

    RunTime:当前正在生效的。orm

    Permanent:永久生效的。blog

 

当下面实验修改的是永久生效的策略记录时,必须执行"--reload"参数后才能当即生效,不然要重启后再生效。ip

开启firewalld

 

systemctl start firewalld
systemctl enable firewalld

 

查看当前的区域:

[root@Centos7 ~]# firewall-cmd --get-default-zone
public

查询网卡的区域:

[root@Centos7 ~]# firewall-cmd --get-zone-of-interface=eno16777736
public

在public中分别查询ssh与http服务是否被容许:

[root@Centos7 ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@Centos7 ~]# firewall-cmd --zone=public --query-service=http
no

设置默认规则为dmz:

[root@Centos7 ~]# firewall-cmd --set-default-zone=dmz
success

让“永久生效”的配置文件当即生效:

[root@Centos7 ~]# firewall-cmd --reload
success

启动/关闭应急情况模式,阻断全部网络链接:

应急情况模式启动后会禁止全部的网络链接,一切服务的请求也都会被拒绝,小心,请慎用。

[root@Centos7 ~]# firewall-cmd --panic-on
success [root@Centos7~]# firewall-cmd --panic-off
success

 

实例:

模拟训练A:容许https服务流量经过public区域,要求当即生效且永久有效:

  方法一:分别设置当前生效与永久有效的规则记录:

[root@Centos7 ~]#  firewall-cmd --zone=public --add-service=https
success
[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https
success

  方法二:设置永久生效的规则记录后读取记录:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@Centos7 ~]# firewall-cmd --reload
success

模拟训练B:再也不容许http服务流量经过public区域,要求当即生效且永久生效:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --remove-service=http
success

[root@Centos7 ~]# firewall-cmd --reload 
success

模拟训练C:容许8080与8081端口流量经过public区域,当即生效且永久生效:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp
success
[root@Centos7 ~]# firewall-cmd --reload 
success

模拟训练D:查看模拟实验中的规则:

[root@Centos7 ~]# firewall-cmd --zone=public --list-services 
dhcpv6-client http https ssh
[root@Centos7 ~]# firewall-cmd --zone=public --list-ports 
8080-8081/tcp

模拟实验F:设置富规则,拒绝192.168.10.0/24网段的用户访问ssh服务:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success

 模拟实验G:将访问主机888端口的请求转发至22端口:

[root@Centos7 ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.0.85
success
[root@Centos7 ~]# firewall-cmd --reload 
success

在别的机器访问192.168.0.85(Centos7)

[root@wls12c ~]$ ssh -p 888 192.168.0.85
root@192.168.0.85's password: 
Last login: Mon Jan 16 17:22:42 2017 from 192.168.0.85
[root@Centos7 ~]# 

 

 图形管理工具
执行 firewall-config命令便可看到firewalld的防火墙图形化管理工具,真的很强大,能够完成不少复杂的工做。
 

相关文章
相关标签/搜索