回答:
最も簡単な方法は、 iptables-saveおよび iptables-restoreを使用して、現在定義されているiptablesルールをファイルに保存し、(たとえば、再起動時に)ロード(再)することです。
したがって、たとえば、実行します
sudo iptables-save | sudo tee /etc/iptables.conf
現在のiptablesルールを保存し、/etc/iptables.conf
これらの行を/etc/rc.local
以下に挿入します:
# Load iptables rules from this file
iptables-restore < /etc/iptables.conf
iptables-save
一度使用する必要があり、常にリロードします(/etc/rc.localのiptables-restoreは良さそうです)。
sudo sh -c "iptables-save > /etc/iptables.conf"
代わりに使用sudo iptables-save > /etc/iptables.conf
現在12.04を使用している可能性があるため、これを簡単に更新してください。
iptables-persistent
パッケージは、この問題を解決します。インストールするには、
sudo apt-get install iptables-persistent
パッケージのインストール時に定義されたルールは保存され、以降の各ブートで使用されます。ロードされた新しいルールは、再起動時に破棄されます。
設定ファイルは、それらを変更する必要がある場合(iptables-persistent
インストールされている場合) /etc/iptables/rules.v4
または /etc/iptables/rules.v6
ipv4およびipv6 iptables用です。
/etc/iptables/rules.v4
、[公式に]どのように適用されますか?現在私はやっていますsudo iptables-restore < /etc/iptables/rules.v4
このように、iptableのルールを保存/etc/rc.local
した/etc/network/interfaces
後に行を追加するよりも良い
post-up iptables-restore < /etc/iptables.up.rules
または、ファイルを/etc/network/if-down.d/
or /etc/network/if-post-down.d/
または/etc/network/if-pre-up.d/
orの中に入れるのと同じ/etc/network/if-up.d/
です。
rc.local
。場合によっては他のアプローチは機能しませんか?