具有单个NIC和单个公共IP的物理机上的KVM的networkingconfiguration

我有一台运行CentOS 6.4的物理机器,我将租用一个地方在数据中心运行它。 我想在该机器上安装KVM来运行一些虚拟机。

问题是我的物理机器only one NIC ,数据中心给我a public IP接口。 那么我应该怎样在物理机器上configurationnetworking,以便为每个vm分配一个可以连接到Internet的私有IP。

如果我创build一个与eth0接口桥接的br0 ,并用选项--bridge=br0创build一个--bridge=br0那么KVM不能为--bridge=br0分配一个IP,所以安装程序无法完成。

我应该使用NAT模式吗? KVM是否有像Virtualbox这样的host-only network ? 但是这个虚拟机还是要连接到外面?

谢谢!

更新

我使用NAT(– --network network:default )安装访客networking,然后我只需要从主机进行端口转发。

但是如果我将br0configuration为与物理eth0桥接,那么guest br0无法从启动中获取IP。 所以我删除了br0 ,它工作。

如果您使用libvirt,则只需将您的VM更改为使用NAT模式即可。 如果您将虚拟机设置为使用拥有eth0的br0网桥,并将其用于虚拟机,则不会获得IP,因为您的ISP的DHCP服务器没有虚拟机MAC地址的租用logging。 使用网桥就像将互联网上行链路插入交换机,然后使用自己的电缆将物理机器和虚拟机各自插入同一个交换机。

Libvirt将通过dnsmasq自动设置私有NATnetworking。 如果您不使用libvirt,则必须手动设置,但强烈build议使用libvirt。

我的pipe理程序有同样的问题,我已经这样pipe理了:

我用ip地址创build了一个桥br0:

 DEVICE="br0"<br> BOOTPROTO="none"<br> HWADDR="XX:XX:XX:XX:XX:XX"<br> NM_CONTROLLED="no"<br> ONBOOT="yes"<br> TYPE="Bridge"<br> NETMASK="255.255.255.0"<br> IPADDR="XXX.XXX.XXX.XXX"<br> GATEWAY="XXX.XXX.XXX.XXX"<br> DEFROUTE=yes<br> 

我这样configurationeth0:

 DEVICE="eth0"<br> BOOTPROTO="none"<br> HWADDR="XX:XX:XX:XX:XX:XX"<br> NM_CONTROLLED="no"<br> ONBOOT="yes"<br> TYPE="Ethernet"<br> BRIDGE=br0<br> 

每个vm的接口都是br0上的一个桥:

 <interface type='bridge'> <mac address='YY:YY:YY:YY:YY:YY'/> <source bridge='br0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>