最后,我找到了实现问题目标的正确方法。这意味着Linux桥接,因为我无法使用libvirt网络解决问题。
脚步:
- 识别KVM VM接口。接口名称可能以
vnet*
在这个例子中vnet0
和vnet1
创建具有以下内容的Linux网桥:
brctl addbr virbr1
将物理接口和KVM VM接口连接到新的网桥:
警告:如果通过网络(SSH,Telnet等)连接到物理服务器,则将失去连接。使用终端或其他方法(例如具有连接性的其他接口)。
brctl addif virbr1 vnet0
brctl addif virbr1 vnet1
brctl addif virbr1 eth0
- 配置物理服务器接口未分配IP地址:
在CentOS 6.5中,/etc/sysconfig/network-scripts/ifcfg-eth0
使用以下内容编辑文件:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
- 将物理服务器桥配置为具有IP地址:
在CentOS 6.5中,/etc/sysconfig/network-scripts/ifcfg-virbr1
使用以下内容编辑文件:
DEVICE=virbr1
BOOTPROTO=none
ONBOOT=yes
IPADDR=<physical_server_public_ip_address>
NETMASK=<physical_server_public_ip_netmask>
GATEWAY=<physical_server_gateway_ip_address>
NAME=virbr1
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
NM_CONTROLLED=no
DNS1=<physical_server_primary_dns_server_ip_address>
DNS2=<physical_server_secondary_dns_server_ip_address>
- 重新启动物理服务器网络:
service network restart
注意:您应该恢复物理服务器网络连接(通过接口和网桥)
- 配置KVM VM的网络接口:
这取决于VM的操作系统。无论如何,它至少应包括IP地址,网络掩码和默认网关。显然,DNS服务器将完成配置。
所有这些配置都是静态的,可以用DHCP分配代替。在这种情况下,网桥和KVM VM接口的MAC地址可能会有用。