イーサネットインターフェイスを介していくつかのルーティングが設定されているが、ゲートウェイが指定されていないLinuxシステムが見つかりました。私は、ゲートウェイではなくインターフェイスを指定するルーティングがポイントツーポイントリンクでしか機能しないと常に考えました。イーサネットはポイントツーポイントメディアではないため、イーサネットインターフェイスには適していません。
ゲートウェイを指定しないイーサネットインターフェイスを介してパケットがルーティングされると、Linuxはどのようにパケットを転送しますか?インターフェイスから宛先IPアドレスにARP要求をブロードキャストしますか? (そして、指定されていないゲートウェイはARPプロキシとして機能する必要がありますか?)複数のルーティングテーブルを使用するポリシーベースのルーティングの動作は異なりますか? (下記の2番目の例)
これらのパスの例は次のとおりです。
[Gaia]# ip route list
10.25.35.0/24 dev eth3 proto routed
...
[Gaia]# cat /proc/net/route
Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT
eth3 0023190A 00000000 0011 0 0 0 00FFFFFF 0 0 0
...
[Gaia]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.25.35.0 0.0.0.0 255.255.255.0 UD 0 0 0 eth3
...
そのようなPBRルーティングの例:
[Gaia]# ip route list table 2
default dev eth7 proto routed
...
システムは、RHEL 5.2およびLinuxカーネル2.6.18に基づいてCheck Point Gaia R77.30を実行します。
答え1
あなたの家は正しいです。 easyを使用して確認できますtcpdump -i eth7 -n
。私はこれが起こっているのを見たことがなく、default
Web上でのみ可能ですが、おそらく違いはありません。宛先IPアドレスへのARP要求はこのインターフェイスでブロードキャストされます。
ポリシールーティングはルーティングテーブルのみを選択し、未定義のネクストホップの問題には影響しません。
答え2
他のネットワークに接続されていない孤立したネットワークがある場合は、ゲートウェイは必要ありません。ホストは互いに直接通信し、ARP(またはIPv6の場合はNeighbor Discovery)を使用して互いを見つけます。
ローカル接続は次のように処理されます。するゲートウェイがあります。ネットワーク外で通信している場合は、同じメカニズムを使用してネットワーク上のゲートウェイを見つけることもできます。ホストは発信パケットを送信するためにゲートウェイホストのMACアドレスを知る必要があるため、それを見つけるためにARP / NDを使用します。
答え3
各イーサネットネットワークインターフェイスには、ローカルネットワークセグメントに指定されたパスがあります。ゲートウェイがない場合は、常にローカルネットワークセグメントのホストに接続できる必要があり、各ネットワークカードはローカルネットワークに接続されます。
ローカルネットワーク外のホストに接続するには、ゲートウェイを介してトラフィックをルーティングする必要があります。ゲートウェイ(ルーター)では、宛先IPはローカルIPまたは別のルーターに転送される式です。
ゲートウェイを指定しないイーサネットインターフェイスを介してパケットがルーティングされると、Linuxはどのようにパケットを転送しますか?
あなたの質問は私には少し不明です。
- パケットの宛先がインターフェイスのローカルネットワーク内にあることを意味しますか(パスが「一致」すると言いましたか?)。次に、提案されているようにARPを使用してデバイスを見つけ、Ethernetフレームを送信します。この場合、ルーティングは含まれず、ホストはローカルなので、直接ホストに接続できます。
- 目的地がローカル区間にないことを意味しますか?その後、ルーティングは発生せず、パケットは破棄されます。これは、ルーティングテーブルが(インターフェイスやローカルネットワークに関係なく)パケットをどこに送信するのかを判断できないためです。
ゲートウェイは、非ホストローカルパケットのルーティングを有効にするように定義されています。