
を実行するとsudo iptables -F
、nat テーブルの iptable ルールがフラッシュされません。なぜでしょうか? 上記のコマンドは何をしますか?
テーブルは 3 つあると思います: filter、nat、mangle。これらのテーブルはいずれも の影響を受けないと思いますsudo iptables -F
。これで正しいでしょうか?
答え1
としてマニュアル 州によっては、すべてのiptables
コマンドが特定のテーブルで機能します。
オプション-t TABLE
フラグを省略するとiptables -F
、コマンドはデフォルトのテーブルでのみ機能し、フィルターテーブル。
テーブル
現在、独立したテーブルが 3 つあります (どのテーブルが存在するかは、カーネル構成オプションと存在するモジュールによって異なります)。
-t, --table table
このオプションは、コマンドが操作するパケット マッチング テーブルを指定します。カーネルが自動モジュール ロードで構成されている場合には、そのテーブルに適切なモジュールがまだ存在しない場合は、そのモジュールをロードしようとします。表は次のとおりです。
フィルター:
これはデフォルトのテーブルです (-t
オプションが渡されない場合)。これには、組み込みチェーンINPUT
(ローカル ソケット宛てのパケット用)、FORWARD
(ボックス経由でルーティングされるパケット用)、およびOUTPUT
(ローカルで生成されたパケット用) が含まれます。
ナット:
このテーブルは、新しい接続を作成するパケットに遭遇したときに参照されます。このテーブルは、PREROUTING
(パケットが到着するとすぐに変更するため)、OUTPUT
(ローカルで生成されたパケットをルーティング前に変更するため)、POSTROUTING
(パケットが送信されるときに変更するため) の 3 つの組み込み関数で構成されています。
マングル:このテーブルは、特殊なパケット変更に使用されます。
カーネル 2.4.17 までは、2 つの組み込みチェーンがありました:PREROUTING
(ルーティング前に着信パケットを変更する) およびOUTPUT
(ルーティング前にローカルで生成されたパケットを変更する)。
カーネル 2.4.18 以降では、他の 3 つの組み込みチェーンもサポートされています:INPUT
(ボックス自体に着信するパケット用)、FORWARD
(ボックスを介してルーティングされるパケットを変更する)、およびPOSTROUTING
(送信されようとしているパケットを変更する)。
生:このテーブルは主に、ターゲットと組み合わせて接続追跡の免除を構成するために使用されますNOTRACK
。これは、より高い優先度でネットフィルタフックに登録されるため、ip_conntrack または他の IP テーブルの前に呼び出されます。
次の組み込みチェーンを提供します:PREROUTING
(任意のネットワークインターフェース経由で到着するパケット用)OUTPUT
(ローカルプロセスによって生成されたパケット用)
答え2
-t <table_name>
フラッシュnat
とmangle
テーブルにオプションを追加する必要があると思います。