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 防火墙规则在系统重启后仍然有效。选择适合你的方法进行操作即可。