使用 KVM/libvirt 和 ip_forward = 1 时网络冻结

使用 KVM/libvirt 和 ip_forward = 1 时网络冻结

我正在使用 KVM 和 libvirt,每隔 2-3 分钟左右主机和客户机就会出现小规模的网络冻结。冻结持续 1-2 秒。使用的操作系统是 Ubuntu 10 LTS 服务器版。

我使用标准桥接设置,主机还充当来宾的路由器(因为数据中心始终将来宾 IP 路由到主机)。除了每隔几分钟偶尔出现网络冻结外,一切都运行良好。mtr来自外部机器的跟踪报告数据包丢失约为 1-2%(对于主机和来宾)。

我发现当我在主机上禁用 ip 转发(/proc/sys/net/ipv4/ip_forward)时,冻结不再发生(但客户机显然没有网络连接),所以我猜这是一个与软件相关的问题,而不是硬件问题。

我尝试过在客户机中切换到替代网络驱动程序(从 virtio 到 e1000/rtl),禁用我们的 iptables 数据包过滤,尝试各种网络选项(关闭/打开 icmp 重定向等),但这并没有改变任何东西。

任何对此的想法和意见都将不胜感激。

谢谢,托比亚斯

答案1

是的,我通过更改桥接设置解决了这个问题。以前,我直接使用外部 IP 地址添加桥接eth0。我将其更改为使用 IP 的内部桥接10.0.0.1,现在通过此桥接路由公共 VM IP。

答案2

您的 MAC 地址的前 2 个字符是什么?brctl 有一个已知问题,即 MAC 的起始位置太高(例如,新的 HP NIC 以 D8: 开头...)

相关内容