CentOS 中的 iptables 规则在系统重启后不会自动保存。因此,当你重启系统时,之前设置的 iptables 规则会丢失。
为了在 CentOS 重启后保留 iptables 规则,你需要手动保存规则并在启动时自动加载它们。以下是保存和恢复 iptables 规则的方法:
使用 iptables-save 命令将当前的 iptables 规则保存到一个文件中。例如,将规则保存到 /etc/sysconfig/iptables 文件:
sudo iptables-save > /etc/sysconfig/iptables
创建一个名为 iptables-restore.service 的 systemd 服务文件:
sudo vi /etc/systemd/system/iptables-restore.service
在文件中添加以下内容:
[Unit]
Description=Restore IPTables Rules
Before=network.target
[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore < /etc/sysconfig/iptables
[Install]
WantedBy=multi-user.target
保存并关闭文件。
sudo systemctl daemon-reload
sudo systemctl enable iptables-restore.service
现在,每次系统启动时,iptables-restore 服务都会自动运行并恢复你的 iptables 规则。
请注意,这些步骤适用于 CentOS 7 及更高版本。如果你使用的是 CentOS 6 或更早版本,你可能需要使用其他方法来保存和恢复 iptables 规则,例如使用 service iptables save 和 service iptables restore 命令。