環境
2 つの異なる LAN にある 3 台のマシンを想像してください。
Machine1 (1 NIC) : NIC_IP=10.1.1.1
Machine2 (2 NIC) : NIC(1)_IP = 10.3.3.3 ; NIC(2)_IP= 10.1.1.1
Machine3 (1 NIC) : NIC_IP=10.3.3.3
LAN は次のように構成されています。
LAN(1) = Machine1.NIC, Machine2.NIC1
LAN(2) = Machine3.NIC, Machine2.NIC2
したがって、Machine2 だけが両方の LAN のメンバーです。
質問
次に、Machine2.Nic2 から Machine3.NIC への 1 つの接続を確立します。これは、machine2 の 10.1.1.1 から machine3 の 10.3.3.3 への接続です。
Machine2 の TCP/IP スタックに、localhost ではなく LAN(2) で宛先アドレスを見つけるように指示するにはどうすればよいでしょうか!? (明らかに、Machine3 が接続を開始した場合、目的のエンドポイントが接続に参加します [ただし、この場合は machine2 がイニシエーターです])
使用シーン(欲しいもの)
[Machine3=] ______LAN 2 _____ [=Machine2=]_______LAN 1________ [=Machine1]
| |
|_ _ _ _ _ _ _ _ _ _ _ _ virtually connected_ _ _ _ _ _ _ _ _ _|
Machine2 が、Machine1 と Machine3 の通信のために、LAN(1) と LAN(2) の間で一種の「ブリッジング サービス」を何らかの方法で提供するとします。このようにして、machine1 は machine3 に接続しようとします (それらが同じ LAN にあるかのように考えます) が、ここでは、machine1 から見える machine3 の目的の IP を使用して、途中で machin2 が接続されます。このプロセスでは、マシン 2 はマシン 1 からマシン 3 にデータを渡すことができます (したがって、選択的な手動ブリッジングのようなものです)。
さらに考えた後...(回避策)
[Machine3=] __LAN 2 __ [=Machine2A=]__LAN3__ [=Machine2B=]___LAN 1___ [=Machine1]
| |
|_ _ _ _ _ _ _ _ _ _ _ _ virtually connected_ _ _ _ _ _ _ _ _ _ _ _ _ _|
Machine2B (2 NIC) : NIC(1)_IP = 10.3.3.3 ; NIC(2)_IP= 10.x.y.z
Machine2A (2 NIC) : NIC(1)_IP = 10.w.s.t ; NIC(2)_IP= 10.1.1.1
シナリオに別のマシンと別の LAN を追加することで、同じことを達成できることがわかります [ただし、現在は単なる回避策です (少なくとも現時点での答えではありません)]。
PS:パケット スニファーを作成していて、おそらく接続を確立しておらず (パケットの読み取り/注入など)、IP アドレスをインターフェイスに割り当てていないため、同じフィールドに質問があります。 1 つはローカルホストに、もう 1 つは LAN に 2 つの異なる宛先があります。