Xen-4.0 的网桥配置中 domU 上没有网络

Xen-4.0 的网桥配置中 domU 上没有网络

我创建了一个带有网桥配置的非常标准的 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

相关内容