Ubuntu 12.04 LTS-iptables v1.4.12
TLDR:
起動時にiptablesのルールセットはどこに保存されiptables-save <ruleset-name>ますか?
説明:
この回答によると、 iptablesのルールを保存する基本的な方法は、
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
その後、これらのルールを次の/etc/network/interfacesようにロード/復元します:
iface eth0 inet static
....
pre-up iptables-restore < /etc/iptables/rules.v4
pre-up ip6tables-restore < /etc/iptables/rules.v6
...またはこれらをのシェルスクリプトに入れ/etc/network/if-pre-up.dます。
これは、iptables-persistentパッケージをインストールすることで簡略化できます。
sudo apt-get install iptables-persistent
inovoke-rc.d iptables-persistent save
update-rc.d iptables-persistent defaults
いくつかのチュートリアルに従って私が呼び出そうとしましたservice iptables status(iptables12.04がプリインストールされているバージョン/パッケージの存在しない/不明なコマンド)と、この興味深い出力が見つかりました:
Aborting iptables initd: unknown command(s): "status".
...
save <ruleset>
save the current ruleset
load <ruleset>
load a ruleset
...
Saved rulesets:
active, inactive
...
ロードできるルールセットが2つあるようです(activeおよびinactive)...
..しかし、これらはどこに保存されますか?
アクティブ/非アクティブはかなり悪い検索用語でdpkg-query -L iptablesあり、助けにもならないため、私は彼らの場所を見つけることができません。
サーバーをpuppet/ chefでプロビジョニングしているので、ルールセットを配置し、/etc/networking/if-pre-upこれらをロードするための簡単なシェルスクリプトを追加できる場所があるかどうかを知っておくとよいでしょう。
次に、iptables-persistent異なるルールセットのロードを許可しないため、柔軟性のないパッケージを省略できます。
ご協力いただきありがとうございます。