Sha*_*ipf 3 networking linux bridge libvirt kvm-virtualization
我有一台运行 Debian 6 的专用服务器,带有 Libvirt(0.9.11.3)和 Qemu-KVM(qemu-kvm-1.0+dfsg-11,Debian)。
我在使用较新内核 (>2.6.38) 的 KVM 来宾中使用桥接/路由网络时遇到问题。NATted 网络虽然工作正常。
较旧的内核也能正常工作。
主机内核的版本为 3.2.0-2-amd64,旧主机内核也存在问题。
主机的内容/etc/network/interfaces(去掉ip):
# 环回设备: 自动低速 iface lo inet环回 # 桥 自动 br0 iface br0 inet 静态 地址 176.9.xx.xx 广播 176.9.xx.xx 网络掩码 255.255.255.224 网关 176.9.xx.xx 点对点 176.9.xx.xx 网桥端口 eth0 bridge_stp 关闭 bridge_maxwait 0 桥接_fd 0 up route add -host 176.9.xx.xx dev br0 # VM IP 后期 mii-tool -F 100baseTx-FD br0 # 访问子网的默认路由 up route add -net 176.9.xx.xx 网络掩码 255.255.255.224 gw 176.9.xx.xx br0
ifconfig -a主机上的输出:
br0 链接封装:以太网 HWaddr 54:04:a6:8a:66:13
inet 地址:176.9.xx.xx Bcast:176.9.xx.xx 掩码:255.255.255.224
inet6 地址:fe80::5604:a6ff:fe8a:6613/64 范围:链接
上行广播运行多播 MTU:1500 公制:1
RX 数据包:20216729 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:19962220 错误:0 丢弃:0 溢出:0 载波:0
碰撞:0 txqueuelen:0
RX 字节:14144528601 (13.1 GiB) TX 字节:7990702656 (7.4 GiB)
eth0 链接封装:以太网 HWaddr 54:04:a6:8a:66:13
上行广播运行多播 MTU:1500 公制:1
RX 数据包:26991788 错误:0 丢弃:12066 溢出:0 帧:0
TX 数据包:19737261 错误:270082 丢弃:0 超限:0 载波:270082
碰撞:1686317 txqueuelen:1000
RX 字节:15459970915 (14.3 GiB) TX 字节:6661808415 (6.2 GiB)
中断:17 内存:fe500000-fe520000
lo 链路封装:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址:::1/128 范围:主机
上环回运行 MTU:16436 公制:1
RX 数据包:6240133 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:6240133 错误:0 丢弃:0 溢出:0 载波:0
碰撞:0 txqueuelen:0
RX 字节:6081956230 (5.6 GiB) TX 字节:6081956230 (5.6 GiB)
virbr0 链接封装:以太网 HWaddr 52:54:00:79:e4:5a
inet 地址:192.168.100.1 广播:192.168.100.255 掩码:255.255.255.0
上行广播运行多播 MTU:1500 公制:1
RX 数据包:225016 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:412958 错误:0 丢弃:0 溢出:0 载波:0
碰撞:0 txqueuelen:0
RX 字节:16284276 (15.5 MiB) TX 字节:687827984 (655.9 MiB)
virbr0-nic 链接封装:以太网 HWaddr 52:54:00:79:e4:5a
广播多播 MTU:1500 公制:1
RX 数据包:0 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:0 错误:0 丢弃:0 超限:0 载波:0
碰撞:0 txqueuelen:500
RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)
vnet0 链接封装:以太网 HWaddr fe:54:00:93:4e:68
inet6 地址:fe80::fc54:ff:fe93:4e68/64 范围:链接
上行广播运行多播 MTU:1500 公制:1
RX 数据包:607670 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:5932089 错误:0 丢弃:0 溢出:0 载波:0
碰撞:0 txqueuelen:500
RX 字节:83574773 (79.7 MiB) TX 字节:1092482370 (1.0 GiB)
vnet1 链接封装:以太网 HWaddr fe:54:00:ed:6a:43
inet6 地址:fe80::fc54:ff:feed:6a43/64 范围:链接
上行广播运行多播 MTU:1500 公制:1
RX 数据包:922132 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:6342375 错误:0 丢弃:0 溢出:0 载波:0
碰撞:0 txqueuelen:500
RX 字节:251091242 (239.4 MiB) TX 字节:1629079567 (1.5 GiB)
vnet2 链接封装:以太网 HWaddr fe:54:00:0d:cb:3d
inet6 地址:fe80::fc54:ff:fe0d:cb3d/64 范围:链接
上行广播运行多播 MTU:1500 公制:1
RX 数据包:9461 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:665189 错误:0 丢弃:0 溢出:0 载波:0
碰撞:0 txqueuelen:500
RX 字节:4990275 (4.7 MiB) TX 字节:49229647 (46.9 MiB)
vnet3 链接封装:以太网 HWaddr fe:54:cd:83:eb:aa
inet6 地址:fe80::fc54:cdff:fe83:ebaa/64 范围:链接
上行广播运行多播 MTU:1500 公制:1
RX 数据包:1649 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:12177 错误:0 丢弃:0 溢出:0 载波:0
碰撞:0 txqueuelen:500
RX 字节:77233 (75.4 KiB) TX 字节:2127934 (2.0 MiB)
来宾的/etc/network/interfaces,在这种情况下运行 Ubuntu 12.04(已删除 ip):
# 该文件描述了系统上可用的网络接口
# 以及如何激活它们。有关详细信息,请参阅接口 (5)。
#环回网络接口
自动低速
iface lo inet环回
自动 eth0
iface eth0 inet 静态
地址 176.9.xx.xx
网络掩码 255.255.255.248
网关 176.9.xx.xx # 主机 IP
点对点 176.9.xx.xx # 主机 IP
dns 名称服务器 8.8.8.8 8.8.4.4
ifconfig -a来宾上的输出:
eth0 链接封装:以太网 HWaddr 52:54:cd:83:eb:aa
inet 地址:176.9.xx.xx Bcast:0.0.0.0 掩码:255.255.255.255
inet6 地址:fe80::5054:cdff:fe83:ebaa/64 范围:链接
上行广播运行多播 MTU:1500 公制:1
RX 数据包:14190 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:1768 错误:0 丢弃:0 溢出:0 载波:0
碰撞:0 txqueuelen:1000
RX 字节:2614642 (2.6 MB) TX 字节:82700 (82.7 KB)
lo 链路封装:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址:::1/128 范围:主机
上环回运行 MTU:16436 公制:1
RX 数据包:954 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:954 错误:0 丢弃:0 溢出:0 载波:0
碰撞:0 txqueuelen:0
RX 字节:176679 (176.6 KB) TX 字节:176679 (176.6 KB)
ping -c4来宾上的输出:
PING google.nl (173.194.35.151) 56(84) 字节数据。 来自 muc03s01-in-f23.1e100.net (173.194.35.151) 的 64 字节:icmp_req=1 ttl=55 time=14.7 ms 从 static.174.82.xx.xx.clients.your-server.de (176.9.xx.xx): icmp_seq=2 Redirect Host(New nexthop: static.161.82.9.176.clients.your-server.de (176.9.82.161) )) 来自 muc03s01-in-f23.1e100.net (173.194.35.151) 的 64 字节:icmp_req=2 ttl=55 time=15.1 ms 从 static.198.170.9.176.clients.your-server.de (176.9.170.198) icmp_seq=3 目标主机不可达 从 static.198.170.9.176.clients.your-server.de (176.9.170.198) icmp_seq=4 目标主机不可达 --- google.nl ping 统计 --- 发送 4 个数据包,接收 2 个数据包,+2 个错误,50% 数据包丢失,时间 3002ms rtt min/avg/max/mdev = 14.797/14.983/15.170/0.223 ms,管道 2
的static.174.82.xx.xx.clients.your-server.de (176.9.xx.xx)是主机的IP。
我尝试过的每个来宾操作系统都遇到了这个问题,即 Fedora、Ubuntu(服务器/桌面)和带有升级内核的 Debian。我也尝试过自己编译访客内核,但无济于事。
我重新编译内核没有问题,尽管主机无法承受任何停机时间。
关于这个问题的任何想法都非常受欢迎。
编辑:我可以从客人内部 ping 主机。
好的,我自己找到了解决方案。显然,Hetzner wiki上的文章并不完整。重定向仍在发送,导致 Hetzner(我们的服务器在那里)阻塞了流量。我不确定它与来宾运行的内核版本有什么关系,如果有人可以解释说我非常想听听。
您可以通过执行以下命令来确定您是否遇到了同样的问题:
对于`find /proc/ -iname send_redirects` 中的文件;做回声 $file; 猫$文件;完毕
输出类似:
/proc/sys/net/ipv4/conf/all/send_redirects 0 /proc/sys/net/ipv4/conf/default/send_redirects 1 /proc/sys/net/ipv4/conf/lo/send_redirects 1 /proc/sys/net/ipv4/conf/eth0/send_redirects 0 /proc/sys/net/ipv4/conf/br0/send_redirects 1 /proc/sys/net/ipv4/conf/vnet1/send_redirects 1 /proc/sys/net/ipv4/conf/vnet0/send_redirects 1 /proc/sys/net/ipv4/conf/virbr0/send_redirects 1 /proc/sys/net/ipv4/conf/virbr0-nic/send_redirects 1 /proc/sys/net/ipv4/conf/vnet2/send_redirects 1 /proc/sys/net/ipv4/conf/vnet3/send_redirects 1
我不得不承认我不知道哪些应该或不应该是 0,但我已经将它们全部设置为 0,现在它工作正常,所以我会保留它。
对于`find /proc/ -iname send_redirects` 中的文件;做 echo 0 > $file; 完毕
| 归档时间: |
|
| 查看次数: |
9261 次 |
| 最近记录: |