Iptables
為什麼 Iptables 持久服務不保存我的更改?
我按照本教程在 ubuntu 12.04 上設置 IP 規則。設置時一切正常——但現在我對防火牆進行了更改,這些更改在重新啟動後不會持續存在。我不明白為什麼會這樣。這是我如何使用 iptables-persistent 的展示。我究竟做錯了什麼?
$ sudo service iptables-persistent start * Loading iptables rules... * IPv4... * IPv6... $ sudo iptables -L //shows a certain rule $ iptables -D INPUT ... //command successfully drops the rule $ sudo iptables -L //shows rule has been deleted $ sudo service iptables-persistent restart * Loading iptables rules... * IPv4... * IPv6... [ OK ] $ sudo iptables -L //rule is back
iptables-persistent
不能那樣工作。重新啟動iptables-persistent
“服務”不會擷取 iptables 的目前狀態並保存它;它所做的只是恢復上次配置軟體包時保存的 iptables 規則。要配置
iptables-persistent
,您需要告訴它您目前的 iptables 規則集。一種實現方法如下:
iptables-save >/etc/iptables/rules.v4 ip6tables-save >/etc/iptables/rules.v6
或者,等效地,該
iptables-persistent
軟體包還提供以下內容:dpkg-reconfigure iptables-persistent
(您需要對是否保存規則的問題回答“是”。)
之後,下次
iptables-persistent
啟動/重新啟動時,您期望的 iptables 規則集將被載入。