我似乎找不到与我的场景类似的现有问题。我为 4 个虚拟机使用了 2 个公共网桥。每个网桥设备有 2 个虚拟机。接口统计数据显示,入站流量使用了为虚拟机分配的网桥,但出站流量仅通过第一个网桥。
# cat /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
pre-up iptables-restore < /etc/firewall-rules
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
auto br1
iface br1 inet dhcp
bridge_ports eth1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.a4badb4e3949 no eth0
vnet0
vnet2
br1 8000.a4badb4e394a no eth1
vnet1
vnet3
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default vlan-200.mydoma 0.0.0.0 UG 0 0 0 br0
XXX.YYY.200.0 * 255.255.248.0 U 0 0 0 br0
XXX.YYY.200.0 * 255.255.248.0 U 0 0 0 br1
根据我所看到的情况,路由是合理的:所有出站流量(除非是 200 子网)都将使用 br0。
如何配置才能让 br1 上的 KVM 客户机的出站流量真正使用 br1 作为网关?当前设置运行良好,但我更愿意将网桥分配给虚拟机作为它们自己的完整网关,以便 br1 更好地用于 TX 数据包。
答案1
如果接口位于同一子网,则将它们绑定。如果不是,除非虚拟机具有穿越第二座桥的路由,否则它们永远不会使用它。看起来它们位于同一子网,在这种情况下,请遵循以下指南: