kvm虚拟机网卡改动无法启动问题
1.背景说明
centos7安装kvm,kvm创建的虚拟机由于无法ping通宿主机,因此选择增加了一块网卡并设置模式为NAT,并且IP段为
192.168.122.0/24,这样的话就可以通过这个192的地址去和宿主机的virbr0通信了,但是实际上这种做法是错误的,因为这个192段完全是虚拟的,外界无法连通这个段,比如连接公司内网vpn后就无法连接,并且在虚拟机中是无法ping通宿主机的
kvm安装完成后会创建一块名为 virbr0 IP为 192.168.122.1 的虚拟网卡

这块网卡就是虚拟机中的eth0,模式为桥接

这块网卡就是虚拟机中的 eth1 ,模式为 NAT

2.解决方法
2.1 虚拟网桥说明
KVM 客户机网络连接有两种方式:
- 用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式。
- 虚拟网桥(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。Bridge方式。
设置kvm虚拟机网络连接为虚拟网桥方式,这样就能解决使用一块网卡让kvm虚拟机与宿主机互通以及虚拟机间互通
如图所示,网桥的基本原理就是创建一个桥接接口br0,在屋里网卡和虚拟机网络接口之间传递数据

2.2 配置虚拟网桥
2.2.1 新增网桥设备br0
cat > /etc/sysconfig/network-scripts/ifcfg-br0 << EOF
DEVICE="br0"
TYPE="Bridge"
BOOTPROTO="static"
IPADDR=10.0.0.111
PREFIX=24
GATEWAY=10.0.0.1
DNS1=223.5.5.5
DNS2=114.114.114.114
ONBOOT=yes
EOF
2.2.2 修改eth0网卡
注释以下内容
IPADDR=10.0.0.111
PREFIX=24
GATEWAY=10.0.0.1
DNS1=223.5.5.5
DNS2=114.114.114.114
新增以下内容
NM_CONTROLLED=no 表示关闭服务 NetworkManager
BRIDGE=br0
NM_CONTROLLED=no
2.2.3 重启网络服务
systemctl restart network