管理防火墙
防火墙根据技术的防范方式和侧重点的不同而分为多种,但总体来说分为包过滤防火墙和代理服务器两种类型
动态防火墙后台此程序firewalld提供了一个动态管理的防火墙,用以支持网络“zones”,已分配对一个网络及其相关链接和界面一定程度的新人。它具备对ipv4和ipv6防火墙设置的支持。它支持以太网,并且有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口。
系统提供图形化配置工具firewall-config/system-config-firewall,提供命令行客户端firewall-cmd,用于配置firewalld永久性或非永久性运行时间的改变:用iptables工具与执行数据包晒选的内核中的netfilter通信。
firewalld 和 iptables server 之间最本质的不同是:iptables server在/etc/sysconfig/iptables中存储配置,而ffirewalld将配置存储在/user/lib/firewalld/和/etc/firewalld/中的各种xml文件里;
1.防火墙的图形界面工具:输入 firewall-config 来启用
注意:以上页面右上角默认是临时设置,想要永久设置,选择permanent;
2.客户端firewall-cmd 启用或者关闭防火墙;
a. 在使用命令前,先启动防火墙,将防火墙设置为开机自启模式;
b.获取防火墙的状态;
c.获取防火墙的当前使用区域以及使用的物理网卡;
d.查看防火墙当前使用的默认区域;
e.获取防火墙支持的区域;
f.查看public区域的详细信息;
g.查看防火墙支持那些服务;
h.firewall-cmd --list-all-zones ###查看防火墙所有区域的详细信息;
i.firewall-cmd --set-def ault-zone=dmz ####设置防火墙的默认区域为dmz,查看如下;
j.防火墙特定区域添加默认访问ip与改变物理网卡;
firewall-cmd --permanent --zone=internal(区域) --add-source=192.168.88.134
##给特定区域添加用户可以使用该区域的服务;
可以看见我们添加成功,但是现在我们查看不出现默认用户需要重新加载才能同步出现;
firewall-cmd --permanent --zone=internal(区域) --remove-source=192.168.88.134
####删除指定区域的允许访问的用户
删除完的命令不能马上生效,需要重新加载;
firewall-cmd --permanent --zone=internal(区域) --add-interface=eth0
####给特定区域永久增加一块物理网卡eth1
firewall-cmd --permanent --zone=internal(区域) --change-interface=eth1
####将物理网卡eth1改变到某个区域
firewall-cmd --permanent --zone=internal(区域) --add-interface=eth0
####删除特定区域的物理网卡
k.给特定区域添加,删除服务与改变服务的端口
firewall-cmd --permanent --zone=public --add-server=http
####给公共区域添加http服务
我已经安装http服务,而且public区域里面没有http服务;现在开始添加:
firewall-cmd --permanent --zone=public --remove-server=http
####永久删除公共区域的http服务
firewall-cmd --zone=public --list-ports ####列出public区域的所有端口;
如果该区域启用端口,则显示使用的端口,否则没有返回信息
我们将http服务添加到public区域的防火墙下;http服务默认的端口是80端口,我们可以进行访问:
想要改成8080端口;需要在/usr/lib/firewalld/server/目录下http.xml文件里面将80端口改成8080端口;
虽然我们将http服务的80端口改成8080端口,但是我们的防火墙还没有设置8080端口,所以不能访问浏览器;
firewall-cmd --permanent --zone=public --add-port=8080/tcp
####允许公共区域的服务通过tcp协议的8080端访问
firewall-cmd --permanent --zone=public --remove-port=8080/tcp
####永久删除public区域tcp协议的8080端口
firewall-cmd --reload ####重新加载防火墙服务,不断开正在工作的任务
firewall-cmd --complete-reload ###重新加载防火墙服务,断开正在工作的任务