將一台 Linux PC 連接到兩個不同的 LAN 網路(一個生產,一個用於測試)
Cable Modem (with 4-port switch) | / \ / \ / \ Router1 Router2 | | LAN | | | (multiple PC's) | | / \ / \ / [eth0 eth1] [ my PC ]
Router1 和 Router2 執行 Arch Linux。兩者設置相同。Router1 是現場/生產。Router2 是一個測試/開發單元。Router2 用作冷備用(通常僅在 Router1 出現故障或需要維修時才連接的備用。)
電纜調製解調器是 DHCP 伺服器。路由器 1 和路由器 2 都將通過電纜調製解調器在其 WAN 埠上分配 IP 地址。兩個路由器都將 dnsmasq 作為 DHCP 伺服器執行,並且設置相同,它們都將相同的 IP 地址範圍分配給它們的 DHCP 客戶端。
當我的 PC 通過 eth0 (IP 192.168.0.10) 連接到 LAN 時,我需要臨時連接到 Router2 以執行一些測試。過去,我總是在工作時間之外做這項工作。過程是連接Router2,斷開我的PC與LAN的連接並將其直接連接到Router2,然後執行我的工作。然而,這是非常不方便的。
我的電腦上有 eth1(第二個物理網卡)。(我的 PC 也執行 Arch Linux。)我希望能夠在通過 eth0 連接到 LAN 時以及在工作時間在 Router2 上工作。連接後,我需要通過 ssh 進入 Router2 並完成我的工作,然後關閉 Router2 並斷開它與電纜調製解調器的連接。
預設情況下,Router1 和 Router2 的 LAN 埠均為 192.168.0.1,網關為 192.168.0.255。
我怎樣才能實現我的目標?我假設我可能必須更改 Router2 上的一些網路設置,但我希望將此類更改保持在最低限度,因為它應該完全複製 Router1。
我喜歡 LostWander 的回答,但如果這只是您想臨時設置的東西,您可以使用以下方式向您的 PC 路由表添加一條路由:
ip route add a.b.c.d/32 dev eth1
其中 abcd 是 Router2 的 IP 地址。注意:在刪除此路由之前,您將無法與連接到 eth0 的網路上與 Router2 具有相同 IP 地址的任何設備通信。
在對路由器設置進行最少更改的同時,實際上可以讓您訪問 Router2 的方法是在您的 PC 上創建一個虛擬機。然後,您可以將 eth1 分配給該 VM,並通過您想要使用的任何 VM 主機軟體工作。這樣您就不必更改路由器的任何內容或弄亂 PC 上的路由表。