Xen
Xen domU 無法訪問外部 dom0
我已成功安裝 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 地址解決了這個問題。
非常感謝您的回答!