2 つのネットワーク A と B の間で NAT を実行するルータに次の設定があるとします。
- eth0 - 物理インターフェイス -いいえIPアドレス
- eth0.1 - ネットワークAのVLANインターフェイス -いいえIPアドレス
- eth0.2 - ネットワークBのVLANインターフェイス - ネットワークBのIPアドレス
- br0 - ブリッジ - ネットワークAのIPアドレス
- eth0.1を他の(関連していない)インタフェースと組み合わせる
質問
パケットはネットワーク A から到着するため、VLAN ID 1 でタグ付けされます。物理的にeth0によって受信されます。論理的にはeth0.1ですが、br0にすることもできます。
宛先IPがネットワークBにある場合、論理的にはeth0.2にさらに転送されますが、物理的にはeth0を通過する必要があります。
任意の順序でこれらのパケットは、受信/送信qdiscおよびPRE/POSTROUTING iptablesによって処理されますか?
異なる方向(同じインターフェイスを介してネットワークBからAへ)はどうですか?
答え1
tcpdumpとiptablesでいくつかの実験を行った後、以下を観察しました。
パケットがネットワーク A からネットワーク B に送信されると、tcpdump は以下を表示します。
- eth0:VLAN ID 1タグ付きフレーム(4バイト以上)。
- eth0.1:タグ付けされていないフレーム
- br0: 同じフレーム
- eth0.2:NATフレーム
IPテーブル:
- br0 in
- ネットワークアドレス変換
- eth0.2 出力
私考えるqdisc は次の順序で処理されます。
- eth0エントランス
- eth0.1エントランス
- br0 入り口
- br0 エクスポート
- eth0.1 エクスポート
- eth0 終了