firewalld

一、定义和对比

FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。以前的 system-config-firewall/lokkit 防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核 netfilter 防火墙模块的卸载和新配置所需模块的装载等。而模块的卸载将会破坏状态防火墙和确立的连接。


相反,firewall daemon 动态管理防火墙,不需要重启整个防火墙便可应用更改。因而也就没有必要重载所有内核防火墙模块了。不过,要使用 firewall daemon 就要求防火墙的所有变更都要通过该守护进程来实现,以确保守护进程中的状态和内核里的防火墙是一致的。另外,firewall daemon 无法解析由 ip*tables 和 ebtables 命令行工具添加的防火墙规则。

二、打开firewalld

运维学习之firewall防火墙服务

三、命令测试

查看可用区域

运维学习之firewall防火墙服务

查看firewalld状态,默认活动的区域,修改默认域为trusted

运维学习之firewall防火墙服务

修改后,http和ftp功能可以正常使用

运维学习之firewall防火墙服务

运维学习之firewall防火墙服务

恢复默认域为默认public

运维学习之firewall防火墙服务

永久性添加http服务,需重新加载才可永久生效

运维学习之firewall防火墙服务

手动在配置文件中添加ftp服务

运维学习之firewall防火墙服务

添加成功

运维学习之firewall防火墙服务

设置防火墙通过8080端口访问http,配置文件写入listen=8080

运维学习之firewall防火墙服务

无法连接,因为未写入火墙配置

运维学习之firewall防火墙服务

永久性添加8080tcp端口

运维学习之firewall防火墙服务

可以访问

运维学习之firewall防火墙服务

移除8080端口服务,移除http服务,重新加载

运维学习之firewall防火墙服务

允许172.25.254.126主机访问任何连接

运维学习之firewall防火墙服务

运维学习之firewall防火墙服务

运维学习之firewall防火墙服务

四、不同网卡访问不同设置

把eth1网卡调整到trusted域中

运维学习之firewall防火墙服务

172.25.254.126不能连接

运维学习之firewall防火墙服务

172.25.26.126可以连接

运维学习之firewall防火墙服务

永久添加访问172.25.254.226的22端口

运维学习之firewall防火墙服务

五、direct rules

直接端口服务适用于服务或者程序,在运行期间添加规则优先使用

在filter表中的第一行添加172.25.254所有网段的80端口拒绝服务

运维学习之firewall防火墙服务

不能访问172.25.254.250和172.25.254.126,可以访问172.25.26.126

运维学习之firewall防火墙服务

运维学习之firewall防火墙服务

运维学习之firewall防火墙服务

六、rich rules

通过rich language语法,可以用简单的语法建立复杂防火墙规则

打开伪装

运维学习之firewall防火墙服务

将从真机的22端口发出的数据伪装成172.25.26.226出来的数据

运维学习之firewall防火墙服务

测试,连接126显示的IP为172.25.26.226

运维学习之firewall防火墙服务

将从客户传输来的数据伪装成172.25.254.126来的数据

运维学习之firewall防火墙服务

客户端连接真机,显示登陆为www.westos.com,查看解析后发现是172.25.254.126主机

运维学习之firewall防火墙服务

修改http默认端口为6666,添加策略

运维学习之firewall防火墙服务

运维学习之firewall防火墙服务

查看,未添加成功6666端口到http

运维学习之firewall防火墙服务

添加6666到默认端口中,重启服务

运维学习之firewall防火墙服务

可以访问6666端口通过http

运维学习之firewall防火墙服务