我有一台 CentOS 6.5 KVM 主机,带有 3 个 KVM-Guest CentOS 6.5。现在我想使用单个网络接口为主机分配一个公共 IP,为每个客户机分配一个公共 IP。我的 IP(由网络管理员分配)是:
- 10.25.147.100
- 10.25.147.101
- 10.25.147.102
- 10.25.147.103
掩码:255.255.254.0
网关 10.25.146.9
下面的图片可以更好地解释我的情况:
我是 Linux 新手,请帮助我:)
提前致谢
答案1
您可以在主机服务器上使用网桥。其他 KVM 将使用静态 IP。
如何创建桥梁:关联。现在您只需要在 KVM 中使用 Bridge。如果您使用带有参数 --network=bridge:br0 的 virsh
要借助 virsh 安装新的 VM,我使用以下命令:
virt-install --connect qemu:///system --name test_vm --ram 1024 --vcpus 2 --disk path=/vms/test_vm.img,size=10 \
--network=bridge:br0 \
--os-type=linux --graphics vnc,password=test --autostart --virt-type kvm
特别的是第 2 行告诉模拟器使用桥接器 br0。Linux 内核会自动为桥接器创建 tap 设备,您可以使用以下命令进行检查是否配置。
VM 现在需要静态 IP。在 CentOS 中,您必须编辑/etc/sysconfig/network-scripts/ifcfg-eth0
:
DEVICE="eth0"
BOOTPROTO="none"
HWADDR=
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID=
IPADDR=10.25.147.10*
NETMASK=255.255.254.0
DNS1=10.25.146.???
GATEWAY=10.25.146.9
答案2
您的图片是错误的 - 您不能在 KVM 主机外部分配 IP 地址,而只能在 KVM 主机内部分配。
如果您想要为 3 台 KVM 机器分配 3 个 IP 地址,则必须使用 KVM 交换机,并在每个 KVM 主机中分配 IP 地址(并且只能在 KVM 主机中分配!)。它们将通过软件交换机进行通信,您将在它们的地址下看到它们。