Linux在启动时添加一个不好的路由?

我有几个Linux(Debian Wheezy)机器有一个奇怪的问题。 在引导它们之后,创build一条额外的路由,在机器可以与同一子网上的其他机器通信之前,必须删除一条额外的路由。 启动后,路由看起来像这样(公共IP掩码):

~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 208.XXX.XXX.0 * 255.255.255.0 U 0 0 0 vmbr0 default 208.XXX.XXX.1 0.0.0.0 UG 0 0 0 vmbr0 

208.XXX.XXX.0路由阻止服务器与同一子网中的任何其他服务器进行通信。 删除这条路线后,一切都很好。 但是,重启后,这条路线又回来了。 什么是创build这条路线? 这样的路线自动创build是否正常? (换句话说,如果这条路线实际上起作用了,而且我必须删除它,这实际上意味着我的networking上的其他地方出现了问题)。

这台机器运行Proxmox(这就是为什么接口说“vmbr0”),所以很可能这实际上是一个Proxmox问题。 我已经尝试在他们的论坛上张贴这个问题,并得到零答复。

或许一个更好的问题是问这个问题:这个路由是什么造成这个208.XXX.XXX.XXX子网中的机器互相通话?

如果有帮助,这里是/etc/network/interfaces (再次使用XXX来避免发布公共IP,我保证这些IP的前3个字节匹配)。

 auto lo iface lo inet loopback auto vmbr0 iface vmbr0 inet static address 208.XXX.XXX.165 netmask 255.255.255.0 gateway 208.XXX.XXX.1 bridge_ports eth0 bridge_stp off bridge_fd 0 

当你添加一个IP地址到一个特定的接口(通过DHCP或手工使用ifconfig)时,linux内核会把这个IP的子网路由添加到特定的接口上。 这是因为逻辑上你是子网的一部分。

可能的问题是:

  • DHCP服务器没有给你正确的IP从正确的子网(您试图戳的子网是在路由器后面)

  • arp请求有一些问题,这样你的主机只能通过路由器相互通话