CentOS 防火墙(firewalld)规则的持久化可以通过以下几种方法实现:
firewall-cmd 命令添加永久规则: 使用 firewall-cmd 命令添加规则时,可以加上 --permanent 参数,这样规则会被保存到配置文件中。
firewall-cmd --permanent --zone=public --add-port=80/tcp 重新加载防火墙配置: 添加或修改规则后,需要重新加载防火墙配置以使更改生效。
firewall-cmd --reload 找到配置文件: firewalld 的配置文件通常位于 /etc/firewalld/ 目录下,主要包括 firewall.conf 和各个区域的配置文件(如 zones/public.xml)。
编辑配置文件: 打开相应的区域配置文件,添加或修改规则。例如,编辑 public.xml 文件:
sudo vi /etc/firewalld/zones/public.xml 在 <zone> 标签内添加规则:
<port protocol="tcp" port="80"/> 重新加载防火墙配置: 编辑完成后,重新加载防火墙配置。
firewall-cmd --reload firewall-config 图形界面工具安装 firewall-config: 如果尚未安装,可以使用以下命令安装:
sudo yum install firewalld-config 启动图形界面工具: 使用以下命令启动 firewall-config:
sudo firewall-config 添加或修改规则: 在图形界面中添加或修改规则,然后保存并退出。
重新加载防火墙配置: 图形界面工具通常会自动重新加载配置,如果没有,可以手动执行:
firewall-cmd --reload iptables 和 iptables-persistent如果你更喜欢使用 iptables,可以结合 iptables-persistent 来实现规则的持久化。
安装 iptables-persistent:
sudo yum install iptables-persistent 保存当前的 iptables 规则:
sudo netfilter-persistent save 查看保存的规则:
sudo netfilter-persistent status 通过以上方法,你可以确保 CentOS 防火墙规则在系统重启后仍然有效。选择适合你的方法进行操作即可。