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

相關內容