我有一个KVM主机(在192.168.0.10),它现在有一个工作的KVM客户(在192.168.0.12)。在今天尝试安装一个新的KVM客户机时,我遇到了一个问题,即新客户上的网络只部分工作。
我唯一能从新客户访问的东西是网络内部的资源。尝试访问任何其他网络资源(包括那些通过网关的资源)会导致100%的数据包丢失到目的地。
客人通过br0的一座桥进行连接,该桥使用eth2访问网络。
主机网络按预期工作,另一个(目前只有一个)客户的网络也通过相同的桥连接,工作正常。关闭工作客人并不能解决问题。
两位客人都通过DHCP获得了他们的网络细节。
在客户的虚拟接口上从主机上运行tcpdump,显示来宾试图与外部世界通信,并且只从主机和网关获得响应。
该问题的客户目前正在通过vnet0进行连接。
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:1e:4f:34:dc:79 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:1e:4f:34:dc:7b brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP qlen 1000
link/ether 00:15:17:6a:fb:ee brd ff:ff:ff:ff:ff:ff
13: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 00:15:17:6a:fb:ee brd ff:ff:ff:ff:ff:ff
inet 192.168.0.10/24 brd 192.168.0.255 scope global br0
inet6 fe80::215:17ff:fe6a:fbee/64 scope link
valid_lft forever preferred_lft forever
24: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN qlen 500
link/ether fe:54:00:fc:0f:07 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fefc:f07/64 scope link
valid_lft forever preferred_lft forever
25: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN qlen 500
link/ether fe:54:00:89:8e:17 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fe89:8e17/64 scope link
valid_lft forever preferred_lft forever
# ip route
default via 192.168.0.202 dev br0
192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.10
# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto br0
iface br0 inet dhcp
bridge_ports eth2
bridge_stp off
bridge_maxwait 0
bridge_fd 0
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.0015176afbee no eth2
vnet0
vnet1请注意,不工作的来宾使用busybox ip。
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisk pfifo_fast qlen 1000
link/ether 52:54:00:fc:0f:07 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.27/24 scope global eth0
inet6 fe80::5054:ff:fefc:f07/64 scope link
valid_lft forever preferred_lft forever
# ip route
default via 192.168.0.202 dev eth0
192.168.0.0/24 dev eth0 src 192.168.0.27# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:89:8e:17 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.12/24 brd 192.168.0.255 scope global eth0
inet6 fe80::5054:ff:fe89:8e17/64 scope link
valid_lft forever preferred_lft forever
# ip route
default via 192.168.0.202 dev eth0
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.12主人和客人都在运行。
在发布的详细信息中,我没有看到任何错误配置,特别是要记住,最近完全相同的安装方法在安装其他KVM客户时起了作用(甚至现在也继续工作)。造成这个问题的原因是什么,我该如何解决呢?
发布于 2013-08-03 15:53:57
用于KVM虚拟机的桥上的应启用STP。
在您的/etc/network/interfaces文件中修复这个问题:
bridge_stp on在运行时启用它,而不重新启动网络服务:
# brctl stp br0 onhttps://serverfault.com/questions/528449
复制相似问题