在Debian系統中,iptables的規則默認不會在重啟后自動保存。為了確保iptables規則在系統重啟后仍然有效,你需要手動保存這些規則。以下是幾種常見的方法來保存iptables規則:
iptables-save和iptables-restore保存當前的iptables規則:
sudo iptables-save > /etc/iptables/rules.v4
如果你使用的是IPv6,還需要保存IPv6的規則:
sudo ip6tables-save > /etc/iptables/rules.v6
創建一個啟動腳本: 你可以創建一個啟動腳本來在系統啟動時自動恢復iptables規則。
創建一個腳本文件,例如/etc/network/if-pre-up.d/iptables:
sudo nano /etc/network/if-pre-up.d/iptables
在文件中添加以下內容:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables/rules.v4
/sbin/ip6tables-restore < /etc/iptables/rules.v6
賦予腳本執行權限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
ufw(Uncomplicated Firewall)如果你使用的是ufw,它會在系統啟動時自動加載iptables規則。
啟用ufw:
sudo ufw enable
保存ufw配置:
ufw會自動保存配置到/etc/ufw/user.rules和/etc/ufw/user6.rules。
iptables-persistentiptables-persistent是一個方便的工具,可以自動保存和恢復iptables規則。
安裝iptables-persistent:
sudo apt-get update
sudo apt-get install iptables-persistent
保存當前規則: 安裝過程中會提示你是否要保存當前規則,選擇“是”。
手動保存規則:
如果你已經安裝了iptables-persistent但還沒有保存規則,可以使用以下命令:
sudo netfilter-persistent save
sudo netfilter-persistent reload
通過以上方法之一,你可以確保在Debian系統重啟后,iptables規則仍然有效。