我对此一头雾水。基本上,我正在尝试使用 KVM 将 Ubuntu Server 10.10 设置为虚拟机。一切顺利,我甚至可以sudo-apt get
从客户操作系统打包。
现在,由于我的网络和管理经验有限,我无法找到如何从主机操作系统连接到 VMed Ubuntu 服务器。当我这样做时,ifconfig
我看到的唯一地址以 开头,127.0.x.x
这意味着没有用于外部通信的 IP。
我该怎么做?我尝试 ping/telnet,但显然没有合适的 IP。
我这样做的原因是将一些应用程序转移到 VM 服务器并在其上运行一些测试。
我用 Google 搜索了一下,但显然找不到任何有用的指南。
提前致谢。
P/S:主机操作系统是 ubuntu 10.10 桌面版
答案1
你正在用吗桥接网络? 这通常是在 Linux 下设置 KVM 网络的最简单方法。我认为,您无需明确设置其 IP 即可在客户虚拟机上建立网络连接的一个原因是,它从 DHCP 服务器获取有效 IP,无论是通过主机操作系统的 NAT 还是从网络上的 DHCP 服务器获取。但是,通常您会在安装过程中选择网络接口(使用 virt-install、KVM 等)以提供给客户机。您是如何安装客户操作系统的?
要找到它的 IP,您需要ifconfig
在客户机上运行,而不是在主机上运行。如果您获得的 IP 与主机操作系统的 IP 位于同一子网,则可以使用该 IP 连接到它 - 在这种情况下,将其视为网络上的任何其他计算机。
更新:
根据我下面的评论,要设置桥接网络,请在主机操作系统上编辑文件,/etc/network/interfaces
使其如下所示:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.0.10 #change these 5 lines
network 192.168.0.0 #to match your IP/network info
netmask 255.255.255.0 #
broadcast 192.168.0.255 #
gateway 192.168.0.1 #
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
如果您使用 DHCP 获取 IP,请将 br0 部分设置为如下所示,而不是上面的最后一部分:
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
您可以在安装客户机时使用 libvirt 设置网络:
sudo virt-install --vnc -n vm1 -r 1024 --vcpus=1 \
--os-type=linux --os-variant=ubuntulucid --hvm --accelerate \
--network=bridge:br0 -c ~/isos/ubuntu_lucid_amd64.iso \
-f ~/vms/vm1ubuntu.vm -s 50
这将从 iso 文件安装名为“vm1”的 Ubuntu Lucid 客户机,为其提供 1 vCPU、1024MB RAM 和 50GB qcow2 磁盘映像文件。
如果您已使用此方法或其他方法安装了您的客户端,您可以运行sudo virsh dumpxml vm1 > vm1.xml
以转储有关该客户端的信息,编辑文件以更改设置,并使用sudo virsh create vm1.xml
新设置重新创建客户端(您需要在中间运行sudo virsh destroy
或sudo virsh undefine
使用其他方法在重新创建之前停止并删除当前格式的客户端)。