iptablesとRETURNターゲット

iptablesとRETURNターゲット

RETURNiptablesコマンドはターゲットの役割を理解していません。

ここから疑問が生じるガイドそれは言う:

チェーンは、パケットを順番にチェックする一連のルールです。パケットがこれらのルールのいずれかと一致する場合、関連するアクションを実行し、チェーン内の残りのルールと比較して検証されません。

したがって、パケットがルールと一致し、他のルールチェックを停止する場合、そのパケットがなぜ必要ですかRETURN

たとえば、インターネットで次の内容を見つけました。

iptables -A PREROUTING -t mangle -i wlan0 -s 192.168.1.10 -j MARK --set-mark 30;
iptables -A PREROUTING -t mangle -i wlan0 -s 192.168.1.10 -j RETURN;

なぜ必要ですかRETURN?パケットが最初のルールと一致すると、他のルールの実行は自動的に停止します。

答え1

ACCEPTパケットは、またはにDROP達するまでチェーンを通過します。試合に終了アクションが含まれていない限り、試合中は停止しません。あなたの例では、最初のルールと一致するパケットが表示されますが、2番目のルールによってチェック(および処理される可能性があります)されます。REJECTRETURN

参考のために、関連部分は次のとおりです。マニュアルページ:

ファイアウォールルールは、パケットと宛先の基準を指定します。パケットが一致しない場合、チェーンの次のルールが確認されます。一致すると、次のルールは、カスタムチェーンの名前または特殊値のいずれかである可能性があるターゲット値として指定されますACCEPTDROPREJECT] QUEUE、またはRETURN

  • ACCEPTパケットを通過させるという意味です。
  • DROPパケットが床に落ちたことを示します。つまり、パケットを破棄して応答を送信しないことを示します。
  • [REJECT一致するパケットに応答してエラーパケットを再送信するために使用されます。それ以外の場合は、DROPTARGETを終了し、ルール巡回を終了するのと同じです。 ]
  • QUEUEパケットをユーザー空間に転送することを意味します。
  • RETURNチェーンの巡回を停止し、前の(呼び出し)チェーンの次のルールから再開することを意味します。チェーンポリシーで指定された宛先は、組み込みチェーンの終わりに到達するか、宛先を持つ組み込みチェーンのルールが一致する場合にRETURNパケットの運命を決定します。

あなたの具体的な懸念について、次のように申し上げたいと思います。あなたのガイド誤解を招く事があります。 「相関操作」が5つの端末操作の1つでない限り、パケットはRETURN最後に暗黙の操作に達するまでチェーンを通って流れ続けます。

関連情報