我买了一个新的 PCI 网卡,这样我家里的“服务器”就可以有两个 NIC,因为我想在我的互联网和局域网之间的虚拟机上运行网关。
我有内部 LAN 接口 eth0 和未来的外部接口 eth1。
/etc/network/interfaces 中的配置是:
auto eth0
auto eth1
iface eth1 inet dhcp
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_maxwait 5
我当前的网关提供 IP 并始终将 br0 分配为 10.1.1.2,而当我测试新接口时,它已被分配 10.1.1.7
问题是,当我拔下 eth1(物理上)时,两个接口都会关闭并且无法 ping 通,即使 eth0(或 br0)仍然连接。
查看 dmesg 仅显示 eth1 按预期关闭,但没有显示网桥或 eth0。
[ 936.509077] r8169 0000:06:00.0 eth1: link down
[ 945.789768] r8169 0000:06:00.0 eth1: link up
我不知道发生了什么,如果能提供任何建议我将非常感激。
编辑:取得了一些进展,我让 eth1 拥有自己的桥,因此配置现在如下所示:
auto eth0
auto eth1
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_maxwait 5
auto br1
iface br1 inet dhcp
bridge_ports eth1
bridge_maxwait 5
我现在可以断开与 eth1 的物理连接,而 eth0 仍然处于打开状态!似乎当我物理断开 eth1 时,如果 eth0 保持连接,我仍然可以 ping 其 IP。再次,这似乎是奇怪的巫术,或者也许我误解了 Linux 路由的内部工作原理。