在Linux的桥梁

我在CentOS 5.5框中遇到了networking连接问题:

服务器有两个网接口:一个到公网,一个到私网都工作正常,但是当我添加新的接口到网桥

/usr/sbin/brctl addif br1 veth237151.1 

(openvz公网虚拟接口)networking挂起30秒,然后重新工作

在日志中,我只是这个

 Jul 28 09:04:08 sea kernel: device veth237151.1 entered promiscuous mode Jul 28 09:04:08 sea kernel: br1: topology change detected, propagating Jul 28 09:04:08 sea kernel: br1: port 3(veth237151.1) entering forwarding state Jul 28 09:04:08 sea kernel: br1: topology change detected, propagating Jul 28 09:04:08 sea kernel: br1: port 3(veth237151.1) entering forwarding state 

一些额外的信息

 bridge name bridge id STP enabled interfaces br0 8000.001851083838 yes eth0 br1 8000.0018511f824f yes veth237151.1 eth1 

整个networking挂起或仅添加接口? 后一种情况是以太网交换机的正常行为。 端口在添加到交换机时,不会在“forward delay”参数定义的时间内发送任何帧。 这是正确保护拓扑循环所必需的,特别是在使用STP时。

请注意,在Linux STP开/关和延时设置是分开控制的。 当定义了“转发延迟”时,端口仍然处于“收听”状态,即使STP是closures的。 而且你可以让STP没有转发延迟(我猜这对STP规范是有点不合适的)。

要禁用转发延迟尝试:

 brctl setfd br1 0 

你尝试禁用STP?