Firewalld是一个动态的防火墙管理工具,它是Linux内核中iptables防火墙的增强前端。Firewalld为管理员提供了一个更为直观和易于使用的界面来管理防火墙规则,同时保持了iptables的强大功能。
主要特点包括:
动态更新:Firewalld可以在运行时添加、删除或修改防火墙规则,而不需要重启服务。
区域管理:Firewalld将网络接口分配到不同的区域(例如:public, private, external等),每个区域可以有自己的防火墙规则。
服务管理:管理员可以为特定的服务(如SSH, HTTP等)设置规则,这些服务规则可以应用于单个或多个区域。
端口和协议管理:可以单独开放或关闭特定的端口和协议。
网络交通控制:Firewalld提供了基于网络流量和连接状态的规则管理能力。
易于理解和维护:通过命令行工具firewall-cmd,管理员可以轻松地查看和管理防火墙规则。
Firewalld的设计目的是为了提高管理效率和简化防火墙的配置过程,同时保持系统的安全性。它通常用于需要灵活网络配置的环境,如企业服务器和数据中心。
Firewalld提供了一系列的命令行操作,用于管理防火墙规则。以下是一些常用的Firewalld操作:
查看当前区域:
firewall-cmd --get-active-zones
查看可用区域:
firewall-cmd --get-zones
查看指定区域的端口和协议:
firewall-cmd --zone=public --list-all
添加端口规则:
firewall-cmd --zone=public --add-port=80/tcp --permanent
删除端口规则:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
重载防火墙:
firewall-cmd --reload
更新防火墙规则:
firewall-cmd --update
允许IP地址或网络:
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.1" accept' --permanent
禁止IP地址或网络:
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.1" reject' --permanent
查看防火墙状态:
firewall-cmd --state
设置默认区域:
firewall-cmd --set-default-zone=public
管理接口所属区域:
firewall-cmd --zone=public --change-interface=eth0
请注意,带有--permanent参数的操作会在重新启动后保持有效。如果你想立即应用更改但不希望在重新启动后保留这些更改,可以省略--permanent参数,然后重新加载防火墙或重启系统。
在执行这些操作时,确保你有足够的权限,通常需要root权限。此外,更改防火墙设置可能会影响系统的安全性和网络访问,因此在进行任何更改之前,请确保你理解这些更改的影响。