Natables ルーティング決定ステップ

Natables ルーティング決定ステップ

以下のリンクは、クロスチェーンパケットフローを説明するイメージです。nftables

Webフィルタフック

1つを除いてすべて理解しています。画像では、現在のステップが何であるかはわかりませんrouting decision

画像によると、これは2つの場所で行われるべきです。

  1. フック後、preroutinginputと前forward
  2. outputパケットが localhost プロセスを離れるときにフックする前に

上記の最初のポイントは後ろに2つの可能なフックがあるため意味がありますが、preroutingポイント2の場合、唯一のストリーミングオプションはローカルプロセスで実行されるため、実行するルーティング決定は明確ではないため、ルーティングoutput決定はあってはなりません。一つあるそうです。

これにより、ルーティング決定は上記の1番目の項目にのみあると信じられます。画像が間にノードフックを
指定するのはなぜですか?routing decisionlocal processoutput

SNATこれはpostroutingフックで行われ、「ルーティング後にローカルシステムを離れる前にすべてのパケットをチェックする」ドキュメントに従って行われますが、
質問はどのルーティングですか?イメージに基づいて2つのルーティング決定があるためです。

ところで。 「ルーティング決定」(イメージのノード)とは何ですか? and Hookで行われるのでそうでNATはありません。NATpreroutingpostrouting

答え1

画像が正しいです。

ルーティングは一度だけ実行されます。Local Process出発地または宛先であるため、パケットフローはルーティング決定を一度だけ行います。 2番目のポイントの場合、プロセスは次のように進みます。

  • ローカルプロセス
  • ルーティング決定
  • 出力
  • ポストルーティング
  • 出口
  • 運転手が送る

これ以前には何もないので、ルーティングの決定だけを経ます。この場合、ルーティング決定は、パケットを送信するIPアドレスと使用するインターフェイスを選択することを意味します。 1.1.1.1にパケットを送信するには、次の手順を実行する必要があります。

$ ip r get 1.1.1.1
1.1.1.1 via 192.168.1.1 dev wlp0s20f3 src 192.168.1.254 uid 1000 
    cache 

したがって、パケット(srcip:192.168.1.254、dstip:1.1.1.1)をWi-Fiインターフェースwlp0s20f3の192.168.1.1に送信します。これを選択すると、snatを実行するためにIPヘッダーソースIPを変更できます。

関連情報