无法在 XenServer VM 内连接到 Internet

无法在 XenServer VM 内连接到 Internet

最近我一直在尝试学习如何将 XenServer 用于我的另一个项目,我需要能够从命令行以编程方式启动和销毁虚拟机。

由于这主要是个人项目,我无法购买任何真正的硬件,因此我目前在桥接模式下在 Oracle VirtualBox 中运行 XenServer,没有 HVM,所以我只能启动 32 位 Linux VM(我认为)。

目前我运行以下命令,成功启动虚拟机并使其处于运行状态:

xe vm-install template=<the_ubuntu_precise_template_32bit> new-name-label=UbuntuVM sr-uuid=<local_storage_uuid>

xe network-list bridge=xenbr0 --minimal

xe vif-create vm-uuid=<vm_uuid> network-uuid=<network_uuid (previous command output)> mac=random device=0

xe vm-param-set uuid=<vm_uuid> other-config:install-repository=http://archive.ubuntu.com/ubuntu/dists/precise-updates/

xe vm-start uuid=<vm_uuid>

一旦我运行这些命令,就会出现短暂的停顿,同时我假设网络安装程序已下载,然后虚拟机进入运行模式。(如我运行时所显示的那样xe vm-list

然后如果我运行xe console uuid=<vm_uuid>,我就会进入 ubuntu 安装程序,但是每次安装程序都会失败。

在设置中,一切似乎都运行良好,IPv6 设置正确,我仔细检查了路由器,发现虚拟机已正确注册为连接设备。然后它要求我选择一个镜像,但在选择镜像后,安装程序开始“下载发布文件”,进度条开始在几分钟内从 0% 跳到 100%,返回错误消息:BAD MIRROR。我尝试了不同的镜像,但我发现没有一个能用,并抛出了同样的错误。

最后,我启动了安装程序中包含的 Shell,并运行以下命令来测试我的互联网连接是否正常:

ping 127.0.0.1=127.0.0.1 is alive!

ping 192.168.0.31(XenServer 主机)=192.168.0.31 is alive!

ping 192.168.0.1但是(我的路由器)什么也没有返回。

ping 8.8.8.8也没有返回任何内容。

由此看来,虚拟机似乎无法访问互联网,所以我相信我分配给虚拟机的网络可能存在问题?

在XenServer主机上我运行ifconfig并收到以下信息:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 08:00:27:6f:51:a0  txqueuelen 1000  (Ethernet)
        RX packets 246  bytes 47076 (45.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 93  bytes 10473 (10.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)
        RX packets 16  bytes 4602 (4.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 4602 (4.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

xenbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.31  netmask 255.255.255.0  broadcast 192.168.0.255
        ether 08:00:27:6f:51:a0  txqueuelen 0  (Ethernet)
        RX packets 274  bytes 48924 (47.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 121  bytes 13909 (13.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

为了确保万无一失,我还在netstat -rnXenServer 主机上运行了该程序,并收到了以下输出:

内核 IP 路由表

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 xenbr0
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 xenbr0

任何帮助将不胜感激,

干杯,奥利

答案1

好吧,事实证明,经过一番大费周章之后,您无法使用桥接适配器在 VirtualBox 中运行 XenServer,同时提供对虚拟机的访问。因此,为了快速解决这个问题,我求助于使用 NAT 和端口转发 SSH 到我的主机(我的 MacBook),以便能够连接。我不完全确定为什么我无法在桥接模式下运行 XenServer,但我猜这与xenbr0设置不正确有关,坦率地说,对于一台测试机器来说,看看我是否能够启动虚拟机,我懒得重新配置它,而且我不确定是否有可能这样做。

因此,作为对所有 VirtualBoxers 的快速修复,在 NAT 中运行 XenServer就像它在桥接适配器模式下不起作用

希望这能帮助任何头痛的人,

奥利。

相关内容