基于linux下的firewalld的管理

动态防火墙后台程序 firewalld 提供了一个 动态管理的防火墙, 用以支持网络 “ zones” , 以分配对一个网络及其相关链接和界面一定程度的信任。它具备对 IP v4 和 IP v6 防火墙设置的支持。它支持以太网桥 , 并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口

•系统提供了三种配置方法:(1)图像化的配置工具 firewall-config ;(2) 命令行工具 firewall-cmd;(3)直接编辑xml文件;

首先,区分一下firewalld和iptables services

• firewalld 和 iptables service 之间最本质的不同是 :
• iptables service 在 /etc/sysconfig/iptables 中储存配置
• firewalld 将配置储存在 /usr/lib/firewalld/ 和
/etc/firewalld/ 中的各种 XML 文件里 .


下面我们介绍命令行怎么配置firewalld?

安装配置

//安装
yum install firewalld firewall-config
//服务管理
systemctl start firewalld  ##启动防火墙
systemctl stop firewalld   ##停止防火墙
systemctl disable firewalld  ##停用防火墙
systemctl status firewalld  ##查看当前防火墙的状态

firewalld的管理方式

firewall-cmd --state //查看状态
firewall-cmd --get-active-zone //查看当前生效的域
firewall-cmd --get-default-zone  //查看火墙默认生效的域
firewall-cmd --get-zones  //查看所有的域
firewall-cmd --zone=public --list-all //查看public的域的信息
                    block
firewall-cmd --get-services  //列出系统中用名称表示的服务
firewall-cmd --list-all-zones  //所有域的状态
firewall-cmd --list-all   //列出所有域的规则
firewall-cmd --set-default-zone=trusted  //修改默认的为trusted域
firewall-cmd --reload  //更新防火墙规则
firewall-cmd --complete-reload  
######它与--reload的区别就是第一个无需断开连接,第二个需要断开连接,类似重启服务
firewall-cmd -get-zone-of-interface=eth0  //查看eth0的域
firewall-cmd --change-interface=eth0 --zone=trusted  //改变eth0的域
firewall-cmd --remove-interface=eth0 --zone=trused   //移除
firewall-cmd --add-source=ip  //临时添加一个ip源
firewall-cmd --permanent --add-source=ip  //永久添加一个ip源
firewall-cmd --add-port=8080/tcp --zone=public  //添加一个端口8080

这里写图片描述
这里写图片描述

实验 A:

[root@client ~]# yum install httpd  //安装apppache
[root@client ~]# systemctl start httpd  //开启服务
[root@client ~]# echo westos > /var/www/html/index.html //在httpd服务的默认发布文件追加westos
[root@client ~]# firewall-cmd --set-default-zone=trusted
success

这里写图片描述
这里写图片描述
打开浏览器查询,输入172.25.254.174
这里写图片描述

实验 B:
在试验A 的基础上,完成下面操作:

[root@client ~]# firewall-cmd --set-default-zone=public
success
[root@client ~]# firewall-cmd --add-source=172.25.254.74 --zone=trusted
success
[root@client ~]# firewall-cmd --permanent --add-source=ip  //永久添加一个ip源

打开两个不同主机的浏览器查询(除了设置http的主机):ip为74的主机可以看到内容,其他的主机是看不到内容的

实验 C:
文件修改方式将http设置允许穿过火墙;

[root@client ~]# cd /etc/firewalld/zones
[root@client zones]# vim public.xml 
 <service name="http"/>
[root@client zones]# vim /usr/lib/firewalld/http.xml
 <port protocol="tcp" port="8080"/>   //修改端口为8080
[root@client zones]# systemctl restart firewalld
[root@client zones]# firewall-cmd --list-all  //设置允许http穿过火墙成功
[root@client ~]# firewall-cmd --add-port=8080/tcp --zone=public
[root@client ~]# firewall-cmd --list-all

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/wangkana/article/details/80610094
今日推荐