centos

centos iptables怎么保存设置

小樊
45
2025-03-21 11:44:27
栏目: 智能运维

在 CentOS 系统中,使用 iptables 命令配置的防火墙规则默认不会自动保存。当系统重启后,这些规则会丢失。为了在重启后保留 iptables 规则,你需要使用 servicesystemctl 命令来管理 iptables 服务。

以下是在 CentOS 7 及更高版本中保存和恢复 iptables 规则的方法:

  1. 保存 iptables 规则:
sudo iptables-save > /etc/sysconfig/iptables
  1. 创建一个名为 iptables-restore.service 的 systemd 服务文件:
sudo vi /etc/systemd/system/iptables-restore.service

将以下内容粘贴到文件中:

[Unit]
Description=Restore IPTables Firewall Rules
Before=network.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore < /etc/sysconfig/iptables

[Install]
WantedBy=multi-user.target

保存并关闭文件。

  1. 重新加载 systemd 配置:
sudo systemctl daemon-reload
  1. 启用 iptables-restore.service 以便在启动时自动恢复防火墙规则:
sudo systemctl enable iptables-restore.service

现在,当你重启系统时,iptables 规则将被自动恢复。

如果你使用的是 CentOS 6 或更低版本,可以使用以下命令来保存和恢复 iptables 规则:

  1. 保存 iptables 规则:
sudo service iptables save

或者

sudo iptables-save > /etc/sysconfig/iptables
  1. /etc/rc.d/rc.local 文件中添加以下行,以便在启动时恢复防火墙规则:
/sbin/iptables-restore < /etc/sysconfig/iptables

确保 /etc/rc.d/rc.local 文件具有可执行权限:

sudo chmod +x /etc/rc.d/rc.local

现在,在重启系统后,iptables 规则将被自动恢复。

0
看了该问题的人还看了