将一台 Linux PC 连接到两个不同的 LAN 网络(一个用于生产,一个用于测试)

将一台 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 服务器。电缆调制解调器将在其 WAN 端口上为 Router1 和 Router2 分配 IP 地址。两个路由器都运行 dnsmasq 作为 DHCP 服务器,并且由于设置相同,因此都向其 DHCP 客户端分配相同的 IP 地址范围。

当我的 PC 通过 eth0(IP 192.168.0.10)连接到 LAN 时,我需要临时连接到 Router2 进行一些测试。过去,我总是在工作时间之外做这项工作。流程是连接 Router2,断开我的 PC 与 LAN 的连接,并将其直接连接到 Router2,然后执行我的工作。然而,这非常不方便。

我的 PC 上有 eth1(第二个物理 NIC)。(我的 PC 也运行 Arch Linux。)我希望能够在通过 eth0 连接到 LAN 并在工作时间内使用 Router2。连接后,我需要通过 ssh 进入 Router2 并进行工作,然后关闭 Router2 并将其与电缆调制解调器断开连接。

默认情况下,Router1和Router2上的LAN口都是192.168.0.1,网关都是192.168.0.255。

我怎样才能实现我的目标?我假设我可能必须更改 Router2 上的某些网络设置,但我希望将此类更改保持在最低限度,因为它应该完全复制 Router1。

答案1

我喜欢 LostWander 的回答,但如果这只是您想要临时设置的东西,那么您可以使用以下命令将路由添加到您 PC 的路由表中:

ip route add a.b.c.d/32 dev eth1

其中 abcd 是 Router2 的 IP 地址。注意:除非删除此路由,否则您将无法与连接到 eth0 的网络上与 Router2 具有相同 IP 地址的任何设备进行通信。

答案2

实际上,在对路由器设置进行最少更改的情况下,您可以访问 Router2 的方法是在 PC 上创建虚拟机。然后,您可以将 eth1 分配给该 VM,并通过您想要使用的任何 VM 主机软件进行操作。这样,您就不必更改路由器的任何内容,也不必弄乱 PC 上的路由表。

相关内容