想象三機器在兩個不同的局域網:
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(1) = Machine1.NIC, Machine2.NIC1
LAN(2) = Machine3.NIC, Machine2.NIC2
因此只有Machine2是兩個局域網的成員。
問題
現在我們要建立從Machine2.Nic2到Machine3.NIC一個連接。這是從machine2上的10.1.1.1到machine3上的10.3.3.3的連接。
如何告訴Machine2的TCP/IP堆棧在局域網(2)上找到目的地址,而不是在本地主機上? (顯然,如果Machine3發起連接,期望的端點將參與連接[但機2是在我們的情況下,引發劑])
使用場景(該一個I WANT)
[Machine3=] ______LAN 2 _____ [=Machine2=]_______LAN 1________ [=Machine1]
| |
|_ _ _ _ _ _ _ _ _ _ _ _ virtually connected_ _ _ _ _ _ _ _ _ _|
考慮Machine2以某種方式爲LAN1(1)和LAN(2)之間提供一種用於Machine1和Machine3通信的「橋接服務」。通過這種方式,machine1嘗試連接到machine3(思考它們在同一個LAN中),但是在這裏machinein2在machine1中可見的machine3所需的machine3的期望IP。在這個過程中,Machine2可以將數據從machine1傳遞給machine3(因此可以選擇手動橋接)。
思考更多...(解決方法)
[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:有a question somehow in the same field其不同之處在於,他們正在編寫一個數據包嗅探器和probabl沒有建立連接(只是讀取/注入數據包等),並且它們沒有爲其接口分配IP地址,因此它們在localhost和LAN中沒有兩個不同的目的地。
除非路由已啓用,則將無法使用Machine2.NIC2連接到Machine3,因爲它位於不同的子網中。是否有一個你不想使用NIC1的理由? –
機器2與機器1和機器3共享相同的IP地址。我不認爲這是您想要的配置。我假設你希望機器2的IP地址爲10.3.3.4和10.1.1.2。 – selbie
@selbie:感謝您的評論。我在問題文本中添加了「使用場景」部分以更好地描述我的意圖。 –