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
命令。