连接同一子网上的主机的最简单方法是什么?

连接同一子网上的主机的最简单方法是什么?

我希望实现无论主机(位于同一子网上)我连接到 tunx 上的 ethx,都可以看到(ping,有 ip 连接)位于其他 ethx 或 tunx 上的其他主机(位于同一子网上) 。这对于桥梁来说似乎是不可能的,有什么建议吗? (不是像 openvswitch 这样的东西,简单/小的东西)

               +-----------+           
               |    BR0    |      10.11.12.x     
   172.16.1.y  |           |      172.16.1.x
       --------|ETH2   TUN1|-------           
               |           |           
               |           |      172.16.1.x
    10.11.12.y |       TUN2|-------           
       --------|ETH1       |
               +-----------+    

在下面的这种情况下,我可以从连接到 172.16.1.y 的 br0 ping 虚拟机

               +-----------+           
               |    BR0    |           
   172.16.1.y  |           |      172.16.1.x
       --------|ETH2   TUN1|-------           
               |           |           
               |           |      172.16.1.x
               |       TUN2|-------           
               |           |
               +-----------+ 

仅使用连接到 10.11.12.y 的“brctl addif br0 eth1”添加第二个 eth 适配器时。相同的 ping 不再起作用。我了解到这是因为网桥 mac 更改为新添加的 eth1s mac,使用“ifconfig br0 hw ether”将其更改回 eth2,重新建立了与 172.16.1.y 的连接。

               +-----------+           
               |    BR0    |           
   172.16.1.y  |           |      172.16.1.x
       --------|ETH2   TUN1|-------           
               |           |           
               |           |      172.16.1.x
    10.11.12.y |       TUN2|-------           
       --------|ETH1       |
               +-----------+     

问题是,即使尝试使用 'arping -I br0 -s 10.11.12.158 10.11.12.1' 强制 arp 更新或设置专用条目,我似乎也只能 ping 10.11.12.y 或 172.16.1.y在 arp 表中。

理论上应该可以通过网桥桥接多个子网?

更新:我在 vmware 中有 BR0 虚拟机,Linux 高级路由和流量控制邮件列表中的某人告诉我,vmware 的 vswitch 可能会导致 eth1 和 eth2 的行为不同。例如。我的配置应该已经可以工作了。

答案1

您无法桥接路由协议(例如 IP)的不同子网。您可以桥接两个(或多个)同一子网。您可以在两个(或更多)不同子网之间进行路由。

如果您希望子网 A 上的计算机能够联系子网 B 上的计算机,您需要在它们之间进行路由。这座桥没有任何帮助。

相关内容