これiptablesに関するWikipediaの記事これを言及した
PREROUTING
:ルーティング決定が行われる前に、パケットがこのチェーンに入ります。
iptablesは、さらなる処理のためにパケットを別のチェーンにDROP
送信したり、意図したものとは異なる宛先に送信するなど、パケットに対して多くの操作を実行できます。したがって、取ることができるすべての措置の中で何が起こりますか?JUMP
DNAT
iptables
「ルーティング決定」覆われて?
たとえば、「ルーティングの決定」には、iptablesが実行できるすべての可能なアクションが含まれていますか?つまり、「ルーティング決定」というフレーズを「最終決定」というフレーズに置き換えることができますか?つまり:
PREROUTING
:パケットが入ります決定的な決定を下す。テーブル自体はパケット処理方法について決定的な決定を提供せず、パケットに対するいくつかの調整のみを提供します。
そしてDROP
それはルーティング決定と見なされますか?
それとも、「ルーティングの決定」は実際のルーティング操作にのみ適用されますか?たとえば、パケットを新しいネットワークに転送しますか?
答え1
したがって、単純化のためにブリッジングを完全に無視し、ネットワーク層のコンテキストでのみ維持します。
この場合、「ルーティングの決定」は、nat
テーブルのチェーンを通過した直後に発生します。これは、PREROUTING
問題のパケットがローカルホスト自体にバインドされているのか、それとも別のホストに転送されるのかを決定することを意味します。
iptablesには複数のパスがあるため、決定を下す必要があります。
- パケットがローカルホストに向かっている場合は、ネットワーク層を離れ、
INPUT
複数のテーブルの複数のチェーンを通過してアプリケーション層に到達します。 - パケットが転送されると、ネットワーク層にとどまり、複数の
FORWARD
チェーンを通過します。
この「決定」の理由後ろにnat
テーブルチェーンは、PREROUTING
このパケットに対してネットワークアドレス変換を実行すると、宛先アドレスが変更される場所であるため、渡されます。
チェーンおよび/またはテーブル(つまり、ACCEPT
sums DROP
)の巡回に影響を与えるターゲットは、ルール内でそのジャンプを定義して移動できるターゲットです。これは、iptablesが自分で行うことではありません。
ACCEPT
or文を含むチェーンがDROP
巡回されるという点も注目する価値があります。後ろにこの「ルーティング決定」はすでに行われているため、決定に直接的な影響はありません。
「ルーティング決定」が行われる他の場所があり、パケットのコンテキスト(ローカルホスト、ローカルホストを離れるなど)によっては、決定に他のコンテンツが含まれる場合があります。これ違いを理解するのに良い資料です。言及した「決定」が表6-3のステップ5であることがわかります。