Xen domU 无法访问外部 dom0

Xen domU 无法访问外部 dom0

我已经成功安装了 xen 并在 debian squeeze 上运行了 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 接口上中继这些数据包,让我的交换机在其他主机上中继它们……

感谢您的时间和帮助!

答案1

您确实有一个 xenbr,它只是称为 eth0。执行“brctl show”您就会看到。现在,这个问题可能是您的托管提供商只接受您的 dom0 的 mac。使用 arp 代理可能会有所帮助。

答案2

好的,现在可以了。

确实,服务器(dom0)连接到的交换机拒绝了未知的 MAC 地址;允许未知的 MAC 地址解决了该问题。

非常感谢您的回答!

相关内容