单网卡单公网 IP 物理机上 KVM 的网络配置

单网卡单公网 IP 物理机上 KVM 的网络配置

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

问题是我的物理机有only one NIC,数据中心也a public IP为我提供了该接口。那么我应该如何在物理机上配置网络,以便为每个虚拟机分配一个可以连接到互联网的私有 IP。

如果我创建一个带接口br0的桥接eth0并创建一个带有选项的虚拟机--bridge=br0,那么 KVM 就无法为该虚拟机分配 IP,因此无法完成设置。

我应该使用 NAT 模式吗?KVM 有类似的吗host-only networkVirtualbox但虚拟机仍然需要连接到外部?

谢谢你!

更新

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

但如果我配置了br0物理桥接eth0,那么客户机就无法从启动时获取 IP。所以我删除了它br0,它就好了。

答案1

如果您使用 libvirt,则只需将虚拟机更改为使用 NAT 模式。如果您将虚拟机设置为使用 br0 桥接器(该桥接器已从属 eth0),并将其用于虚拟机,则您将无法获得 IP,因为您的 ISP 的 DHCP 服务器没有虚拟机 MAC 地址的租约记录。使用桥接器就像将您的 Internet 上行链路插入交换机,然后将您的物理机和虚拟机分别插入同一个交换机(带有各自的电缆)。

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

答案2

我的虚拟机管理程序也遇到了和你同样的问题,我已通过以下方式进行处理:

我已经创建了一个网桥 br0,其 IP 地址如下:

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>

我已经这样配置了 eth0:

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>

相关内容