如何連接2個相同IP的主機的LAN?

如何連接2個相同IP的主機的LAN?

我在辦公室的一個測試實驗室裡,有 6 個不同的 LAN,每個 LAN 有 3 台 PC,讓它們分別稱為機器 1、機器 2 和機器 3,透過交換器連接。他們使用的軟體僅適用於 3 個確定的 IP 位址(分別為 x、y 和 z)。

因此,擁有這 3 台類似 PC 的所有 6 個 LAN 都具有完全相同的手動配置的 IP 位址。現在我想連接這6個區域網路來共享檔案、資料夾和其他測試資料。如何?因為我無法連接到同一個交換器或路由器,這會導致 IP 衝突。

那麼有人可以幫我解決這個問題嗎?

我想到的解決方案是安裝第二個 NIC/LAN 卡並建立第二個網路以使它們連接到網路上。

還有什麼可能有效的嗎?

答案1

如果您的每個區域網路都有一個路由器,也許還有一個額外的交換機,您可以在專用lan0網路上建立自己的小型「網際網路」。這些方法也適用於 2 個以上的 LAN:

在此輸入影像描述

即使使用基本的家用級路由器也可以完成此設置,因為它們通常已經配置為網路位址轉換(網路位址轉換)並偽裝連接埠上的傳出流量wan。 (這意味著:路由器透過用自己的IP替換所有資料包中的來源位址,隱藏了lan1和中機器的位址)lan2wan

當您在網路中使用靜態 IP 位址時lan1lan2您必須手動設定預設路由在您的機器上指向其上游路由器 IP ( eth1)

wan當您在路由器的連接埠上使用靜態 IP 位址時,您應該使用網路位址轉換代替假面舞會(通常在使用 DHCP 設定wan連接埠時使用)。

可選:新增路由器lan0並設定為DHCP伺服器,將 IP 動態指派給wan路由器的連接埠。

選項 1 使用 DNAT(連接埠轉送):

現在您可以在路由器上設定一些連接埠轉送規則。根據您想要共享的服務,這可能會變得有點複雜。例如,為了能夠透過 SSH 從lan1到進行訪問lan2,反之亦然,您需要一些這樣的規則(當使用具有 iptables 的 Linux 路由器時):

iptables -A PREROUTING -i eth0 -p tcp --dport 2202 -j DNAT --to 10.0.0.2:22
iptables -A PREROUTING -i eth0 -p tcp --dport 2203 -j DNAT --to 10.0.0.3:22
iptables -A PREROUTING -i eth0 -p tcp --dport 2204 -j DNAT --to 10.0.0.4:22

您可以在其中使用來自其他 LAN 的轉送連接埠來存取單一 ssh 伺服器。例如lan1 10.0.0.2可以lan2 10.0.0.3透過IP和連接埠組合進行存取10.1.0.2:2203

選項 2 使用 VPN 網路:

在此輸入影像描述

如果您有另一台可用電腦(稱為server1),請將其放置在lan0網路上並將其配置為 VPN 伺服器。例如當使用開放VPNtun0一個稱為 VPN 網路的新虛擬介面。

在您的所有電腦上安裝 VPN 用戶端,並透過 IP 將它們全部連接到 VPN 伺服器10.1.0.100,這不需要在路由器上進行任何連接埠轉發,只需偽裝或 SNAT。

同樣,以 VPN 為例,這將tun0在每個客戶端上建立一個額外的虛擬接口,您可以在其中為每個客戶端分配一個唯一的IP位址在 VPN 子網路上10.8.0.0/24,它們可以相互通訊(在 OpenVPN 中,您需要使用指令client-to-client來允許此操作)。

此子網路也稱為「VPN 隧道」。

沒有專用路由器的替代方案 1:

正如您所建議的,您可以安裝一個附加網卡在每個區域網路中的一台電腦中,將其設定為路由器,取代上圖中的專用路由器。

沒有專用 VPN 伺服器的替代方案 2:

您可以使用您的一台機器lan1lan2託管VPN伺服器並透過轉送連接埠從其他 LAN 存取它,如選項 1 所述。

選項 3 對您的測試 IP 使用 VPN

根據您測試的內容,這可能是最簡單的解決方案,因為除了交換器之外,它根本不需要任何硬體。

壞處:這將對測試網路的效能產生影響,因為 VPN 隧道為所有網路封包增加了另一層複雜性。您可以透過停用加密來最小化影響,例如將以下指令新增至 OpenVPN 設定中:

auth none
cipher none

網路設定如下:

lan0 10.0.0.0/24
+-----+------------+------------+-------------+------------+------------+----+
      |            |            |             |            |            |
      |            |            |             |            |            |
  eth0|        eth0|        eth0|         eth0|        eth0|        eth0|
+----------+ +----------+ +----------+  +----------+ +----------+ +----------+
|10.0.0.1  | |10.0.0.2  | |10.0.0.3  |  |10.0.0.4  | |10.0.0.5  | |10.0.0.6  |
|machine1  | |machine2  | |machine3  |  |machine1  | |machine2  | |machine3  |
|lan1      | |lan1      | |lan1      |  |lan2      | |lan2      | |lan2      |
|VPN-server| |VPN-client| |VPN-client|  |VPN-server| |VPN-client| |VPN-client|
|10.8.0.x  | |10.8.0.y  | |10.8.0.z  |  |10.8.0.x  | |10.8.0.y  | |10.8.0.z  |
+----------+ +----------+ +----------+  +----------+ +----------+ +----------+
  tun0|        tun0|        tun0|         tun0|        tun0|        tun0|
      |            |            |             |            |            |
      |            |            |             |            |            |
+-----+------------+------------+----+  +-----+------------+------------+----+
lan1 (VPN) 10.8.0.0/24                  lan2 (VPN) 10.8.0.0/24

您只需將VPN的子網路調整為x, y, z測試所需的子網路和IP即可。

相關內容