このチュートリアルに従って、ubuntu12.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ルールセットについて説明する必要があります。
これを実現する1つの方法は、次のとおりです。
iptables-save >/etc/iptables/rules.v4
ip6tables-save >/etc/iptables/rules.v6
または、同等に、iptables-persistent
パッケージには次のものも含まれています:
dpkg-reconfigure iptables-persistent
(ルールを保存するかどうかについての質問には、「はい」と答える必要があります。)
その後、次回はiptables-persistent
が開始/再起動されると、期待するiptablesルールセットが読み込まれます。