答案1
最后我找到了实现问题目标的正确方法。它意味着 Linux 桥接,因为我无法使用 libvirt 网络解决问题。
脚步:
- 识别KVM虚拟机接口。接口名称可能以以下开头
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虚拟机的网络接口:
这取决于虚拟机的操作系统。无论如何,它至少应该包括 IP 地址、网络掩码和默认网关。显然DNS服务器会完成配置。
所有这些配置都是静态的,可以通过 DHCP 分配来替代。在这种情况下,网桥和 KVM VM 接口的 MAC 地址可能会很有用。