我创建了一个带有网桥配置的非常标准的 Xen-4.0 domU。但是,没有数据包从虚拟机发送到网桥 (peth0) 所连接的网络。从来宾处,我可以 ping 虚拟机管理程序,但无法 ping 其之外的任何内容。
IP地址:
x.x.x.121
——管理程序佛x.x.x.162
-- 虚拟机,xen6
怎么了?这是一个非常标准的网络配置。对于另一个虚拟机管理程序,完全相同的配置可以工作(相同的操作系统、相同的版本、相同的配置),但对于其他盒子则不然。
症状类似于这不过,我的网络配置看起来不错。有任何想法吗?
xen6:~$ ping -c 1 xxx121 PING xxx121 (xxx121) 56(84) 字节数据。 来自 xxx121 的 64 个字节:icmp_req=1 ttl=64 时间=0.093 ms --- xxx121 ping 统计数据 --- 发送 1 个数据包,接收 1 个数据包,丢包 0%,时间 0ms rtt 最小值/平均值/最大值/mdev = 0.093/0.093/0.093/0.000 毫秒
buddha$ sed -n '/^[^#].*\(\(network\)\|\(vif\)\)/p' xend-config.sxp (网络脚本网络桥) (vif 脚本 vif 桥)
佛# ifconfig -a eth0 链接 encap:以太网 HWaddr 00:30:48:5a:05:fa inet 地址:xxx121 广播:xxx255 掩码:255.255.255.0 inet6 地址:fe80::230:48ff:fe5a:5fa/64 范围:链接 上行广播运行多播 MTU:1500 指标:1 RX 数据包:6082 错误:0 丢弃:0 溢出:0 帧:0 TX 数据包:1138 错误:0 丢弃:0 溢出:0 运营商:0 碰撞:0 txqueuelen:0 RX 字节:573467 (560.0 KiB) TX 字节:230756 (225.3 KiB) lo 链接 encap:本地环回 inet 地址:127.0.0.1 掩码:255.0.0.0 inet6 地址:::1/128 范围:主机 上环回运行 MTU:16436 公制:1 RX 数据包:26 个错误:0 个丢弃:0 个溢出:0 个帧:0 TX 数据包:26 错误:0 丢弃:0 溢出:0 运营商:0 碰撞:0 txqueuelen:0 RX 字节:2428 (2.3 KiB) TX 字节:2428 (2.3 KiB) peth0 链接 encap:以太网 HWaddr 00:30:48:5a:05:fa inet6 地址:fe80::230:48ff:fe5a:5fa/64 范围:链接 上行广播运行 PROMISC 多播 MTU:1500 指标:1 RX 数据包:6218 错误:0 丢弃:0 溢出:0 帧:0 TX 数据包:1141 错误:0 丢弃:0 溢出:0 运营商:0 碰撞:0 txqueuelen:1000 RX 字节:693978 (677.7 KiB) TX 字节:235320 (229.8 KiB) 中断:26 vif1.0 链路 encap:以太网 HWaddr fe:ff:ff:ff:ff:ff inet6 地址:fe80::fcff:ffff:feff:ffff/64 范围:链接 上行广播运行 PROMISC 多播 MTU:1500 指标:1 RX 数据包:3 个错误:0 个丢弃:0 个溢出:0 个帧:0 TX 数据包:4369 错误:0 丢弃:43 溢出:0 运营商:0 碰撞:0 txqueuelen:32 RX 字节:84 (84.0 B) TX 字节:487332 (475.9 KiB)
佛# xm 网络列表 xen6 Idx BE MAC 地址。处理状态 evt-ch tx-/rx-ring-ref BE-path 0 0 00:16:3E:F3:0F:D9 0 4 15 769 /768 /本地/域/0/后端/vif/1/0 佛# brctl 显示 网桥名称 网桥 ID 启用 STP 的接口 eth0 8000.0030485a05fa 没有 peth0 vif1.0
xen6# ifconfig -a eth0 链路 encap:以太网 HWaddr 00:16:3e:f3:0f:d9 inet 地址:xxx162 广播:xxx255 掩码:255.255.255.0 inet6 地址:fe80::216:3eff:fef3:fd9/64 范围:链接 上行广播运行多播 MTU:1500 指标:1 RX 数据包:6870 错误:0 丢弃:0 溢出:0 帧:0 TX 数据包:209 错误:0 丢弃:0 溢出:0 运营商:0 碰撞:0 txqueuelen:1000 RX 字节:628821 (614.0 KiB) TX 字节:31636 (30.8 KiB) 中断:17 lo 链接 encap:本地环回 inet 地址:127.0.0.1 掩码:255.0.0.0 inet6 地址:::1/128 范围:主机 上环回运行 MTU:16436 公制:1 RX 数据包:1 个错误:0 个丢弃:0 个溢出:0 个帧:0 TX 数据包:1 错误:0 丢弃:0 溢出:0 运营商:0 碰撞:0 txqueuelen:0 RX 字节:80 (80.0 B) TX 字节:80 (80.0 B)
xen6:~$ ping -c 1 xxx121 PING xxx121 (xxx121) 56(84) 字节数据。 来自 xxx121 的 64 个字节:icmp_req=1 ttl=64 时间=0.081 ms --- xxx121 ping 统计数据 --- 发送 1 个数据包,接收 1 个数据包,丢包 0%,时间 0ms rtt 最小值/平均值/最大值/mdev = 0.081/0.081/0.081/0.000 毫秒
这是以太网控制器:
02:05.0 以太网控制器:Broadcom Corporation NetXtreme BCM5704 千兆位以太网(修订版 10) 子系统:Super Micro Computer Inc 设备 1648 标志:总线主控、66MHz、中等 devsel、延迟 64、IRQ 26 fc9f0000 处的内存(64 位,不可预取)[大小=64K] 扩展 ROM 位于 [已禁用] 功能:[40] PCI-X 非桥接设备 功能:[48] 电源管理版本 2 功能:[50] 重要产品数据 功能:[58] MSI:启用 - 计数=1/8 可屏蔽 - 64 位+ 使用的内核驱动:tg3
我在某处读到(不记得在哪里)说 IPMI 会造成网络问题。所以我禁用了IPMI。
motiejus@buddha> uname -a Linux 佛陀 2.6.32-5-xen-amd64 #1 SMP 1 月 16 日星期一 20:48:30 UTC 2012 x86_64 GNU/Linux motiejus@buddha> lsb_release -a 发行商 ID:Debian 说明:Debian GNU/Linux 6.0.4(挤压) 版本:6.0.4 代号:挤压
从 Pastebin-data 更新(路由信息和 ping 结果):
Xen6:
Destination Gateway Genmask Flags MSS Window irtt Iface
x.x.x.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 x.x.x.1 0.0.0.0 UG 0 0 0 eth0
Buddha:
Destination Gateway Genmask Flags MSS Window irtt Iface
x.x.x.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 x.x.x.1 0.0.0.0 UG 0 0 0 eth0
xen6:~$ ping -c1 x.x.x.1
PING x.x.x.1 (x.x.x.1) 56(84) bytes of data.
--- x.x.x.1 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
buddha# tcpdump -nni eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
22:51:01.977068 IP x.x.x.162 > x.x.x.1: ICMP echo request, id 2632, seq 1, length 64
However, x.x.x.1 does not receive the ICMP request.
buddha# ping -c1 x.x.x.1
PING x.x.x.1 (x.x.x.1) 56(84) bytes of data.
64 bytes from x.x.x.1: icmp_req=1 ttl=255 time=0.403 ms
--- x.x.x.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.403/0.403/0.403/0.000 ms
答案1
您的网络部门是否激活了“基于 MAC”的安全性?在我看来,好像只接受物理线路上的第一个传出 MAC。
答案2
我记得我的问题是一样的。打开 arp 缓存解决了我的问题,可能也适合你。
将这些行插入到/etc/sysctl.conf
:
net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.proxy_arp = 1
我使用路由网络,所以没有peth0
,也许你需要启用它:
net.ipv4.conf.peth0.proxy_arp = 1