使用libvirt配置KVM虚拟机的网络,分别使用bridge和nat方式。
操作系统配置:centos7,libvirt-1.1.1,qemu-1.5.3BOOTPROTO=none DEVICE=eno16777736 HWADDR=00:0c:29:09:0d:3d NM_CONTROLLED=no ONBOOT=yes BRIDGE=br0修改文件ifcfg-br0的内容为:
BOOTPROTO=static DEVICE=br0 TYPE=Bridge NM_CONTROLLED=no IPADDR=192.168.7.183 NETMASK=255.255.255.0 GATEWAY=192.168.7.254
当然IP地址什么的要设置成自己所在的网段内,此处设置成静态的了,若有dhcp服务器(自家路由器),也可以设置成动态的,然后重启网络就可以了,如果重启不成功的话,试试生效了没有,没有生效的话,重启下系统,自然生效。
然后就该为guest虚拟机配置网桥网络了:在虚拟机的XML配置文件中device下添加interface标签即可,标签如下:
<interface type='bridge'> <mac address='52:54:00:84:e9:e1'/> <source bridge='br0'/> <model type='rtl8139'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
当然也可以先定义一下这个网络,然后在添加到虚拟机的XML文件中,给它起名为br0.xml,这个文件中可以写一些网络的详细配置参数,大致的形式如下:
<network> <name>br0</name> <uuid>fb48b969-b9f4-e859-d957-50aedd850fb4</uuid> <forward mode='bridge'> <bridge name ='br0'/> </forward> </network>然后用libvirt来定义并开启这个网络,配置文件中的interface标签当然还是不能少,用上面的就好,名字正好一致了:
<network> <name>default</name> <uuid>75dbebde-fc15-4350-8a06-f1432f9e6d30</uuid> <forward mode='nat'> <nat> <port start='1024' end='65535'/> </nat> </forward> <bridge name='virbr0' stp='on' delay='0' /> <mac address='52:54:00:bc:f2:65'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254' /> </dhcp> </ip> </network>可以看到该网络搭建在一个网桥virbr0上,这个网桥在安装并启动libvirt的时候自动生成。然后在客户机的XML配置文件中添加标签interface内容如下:
<interface type='network'> <mac address='52:54:00:c7:18:b5'/> <source network='default'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>则可以让客户机用nat方式来上网了,经验证,客户机可以获取到122网段,2到254之间的一个ip地址。
<network> <name>default</name> <uuid>dc69ff61-6445-4376-b940-8714a3922bf7</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' delay='0' /> <mac address='52:54:00:81:14:18'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254' /> <host mac='00:25:90:eb:4b:bb' name='guest1' ip='192.168.5.13' /> <host mac='00:25:90:eb:34:2c' name='guest2' ip='192.168.7.206' /> <host mac='00:25:90:eb:e5:de' name='guest3' ip='192.168.7.207' /> <host mac='00:25:90:eb:7e:11' name='guest4' ip='192.168.7.208' /> <host mac='00:25:90:eb:b2:11' name='guest5' ip='192.168.7.209' /> </dhcp> </ip> </network>然后用命令:
启用一个客户机,检查网络时候可用。
原文:http://blog.csdn.net/jiuzuidongpo/article/details/44677565