Xen

Xen domU 無法訪問外部 dom0

  • January 25, 2012

我已成功安裝 xen 並在 debian 擠壓機上執行 domU。

我在這裡一步一步地遵循本教程。我可以通過 SSH 登錄我的 domU,但從 domU 我無法連接到除了 dom0 本身之外的任何東西。

誰能幫我啟用從我的 domU 到外面的網路?

這是我的 xend-config.sxp 文件:

   root@dom0:/etc/xen# grep -Evn "^#|^$" xend-config.sxp 
   145:(network-script 'network-bridge')
   176:(vif-script vif-bridge)
   193:(dom0-min-mem 196)
   197:(enable-dom0-ballooning yes)
   207:(total_available_memory 0) 
   211:(dom0-cpus 0)
   226:(vncpasswd '')
   root@dom0:/etc/xen#

這是我的 domU.cfg 文件:

root@dom0:/etc/xen# cat domU.cfg 
#  Kernel + memory size
kernel      = '/boot/vmlinuz-2.6.32-5-xen-686'
ramdisk     = '/boot/initrd.img-2.6.32-5-xen-686'

vcpus       = '1'
memory      = '128'

#  Disk device(s).
root        = '/dev/xvda2 ro'
disk        = [
     'file:/data/xen/domains/domU.telergos.net/disk.img,xvda2,w',
     'file:/data/xen/domains/domU.telergos.net/swap.img,xvda1,w',
         ]

#  Physical volumes

#  Hostname
name        = 'namaka-vm.telergos.net'

#  Networking
vif         = [ 'ip=172.23.154.105,mac=00:16:3E:04:8E:7A']
#  Behaviour
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'[/CODE]

我執行 ifconfig 時沒有任何 xenbr:只有 eth0、peth0、lo 和 vif1.0

當我執行 tshark -f ‘!port 22’ 時,當我嘗試 ping 其他主機而不是我的 dom0 但沒有答案時,我可以看到 ARP 請求。看起來這些 ARP 數據包卡在 dom0 主機中。

這是 iptables -L 輸出:

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED PHYSDEV match --physdev-out vif1.0 
ACCEPT     udp  --  anywhere             anywhere            PHYSDEV match --physdev-in vif1.0 udp spt:bootpc dpt:bootps 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED PHYSDEV match --physdev-out vif1.0 
ACCEPT     all  --  domU  anywhere            PHYSDEV match --physdev-in vif1.0[/CODE]

我太新手了,無法完全理解這個配置,但它看起來像是在啟動時應用的。

我曾認為 dom0 可能不知道如何處理 domU 數據包,但 do0 應該充當橋接器!所以,它應該簡單地在其 eth0 介面上中繼這些數據包,讓我的交換機將它們中繼到其他主機上……

感謝您的時間和幫助!

您確實有一個 xenbr,它只是稱為 eth0。執行“brctl show”,您會看到。現在,這個問題很可能是您的託管服務提供商只接受您的 dom0 的 mac。使用 arp 代理可能會有所幫助。

好的,這現在可以工作了。

實際上,伺服器 (dom0) 連接到被拒絕的未知 MAC 地址的交換機;允許未知 MAC 地址解決了這個問題。

非常感謝您的回答!

引用自:https://serverfault.com/questions/353136