我的 CentOS 5.5 系统中存在桥接网络问题:
服务器有两个桥接接口:一个连接到公共网络,另一个连接到私有网络,一切运行良好,但是当我向桥接器添加新接口时
/usr/sbin/brctl addif br1 veth237151.1
(openvz 虚拟接口用于公网)网络挂起 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
答案1
整个网络挂起还是只有添加的接口挂起?后一种情况是以太网交换机的正常行为。端口在添加到交换机时,在“转发延迟”参数定义的时间内不会发送任何帧。这对于正确防止拓扑环路是必要的,尤其是在使用 STP 时。
请注意,在 Linux 中,STP 开/关和转发延迟设置是分开控制的。即使 STP 已关闭,当定义“转发延迟”时,端口仍将处于“监听”状态。而且,您可以启用 STP 而无转发延迟(我猜这有点违反 STP 规范)。
要禁用转发延迟,请尝试:
brctl setfd br1 0
答案2
您尝试过禁用 STP 吗?
答案3
持续减少forward delay
以下是如何永久减少forward delay
,无论是否重启。
编辑/etc/network/interfaces
:
$ sudo vim `/etc/network/interfaces`
添加一行bridge_fd
:
auto br0
iface br0 inet dhcp
bridge_ports all
bridge_fd 2.5