Dockerコンテナを実行しているLinuxシステムでiptablesを設定する必要があります。 save iptables ルールを使用すると、iptables-save > /etc/iptables/rules.v4
すべてのチェーンのルールがファイルに書き込まれます。
しかし、INPUT、OUTPUT、DOCKER-USERチェーンだけを保存したい、DOCKER、DOCKER-ISOLATION-STAGE-1などのチェーンは保存したくありません。これは、dockerによって自動的に追加されたルールが含まれているためです。後続の再起動に関連する必要があります。
私が知っている限り、iptables-save
特定のテーブルは保存できますが、特定のチェーンは保存できません。
現在、不要なチェーンからルールを削除するiptables-save
ために組み合わせを使用しようとしています。grep
同じ結果を得るより良い方法はありますか?
答え1
iptables
オプション-S
()でデフォルトのコマンドを使用すると、指定された--list-rules
チェーンとテーブルに対して同様の出力を取得できます。たとえば、次のようになります。
$ sudo iptables -t filter -S OUTPUT
-P OUTPUT DROP
-A OUTPUT -o lo -j ACCEPT
...
ただし、各テーブルとチェーンに対してこの作業を繰り返す必要があります。互換性が必要な場合は、iptables-restore
各テーブルにヘッダーを追加したり、デフォルト*filter
ポリシーを-P
に変更したり:
、各テーブルに追加したりするなど、いくつかの出力を変更できますCOMMIT
。