缺省情况下kvm会保留一个nat的网络,ip a命令查看,会看到virbr0和virbr0-nic
8: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 52:54:00:6c:22:2c brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
9: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 500
link/ether 52:54:00:6c:22:2c brd ff:ff:ff:ff:ff:ff
这个如果虚机都是静态IP,且不做NAT的话,则无必要保留,可以彻底删掉。
kvm删除掉缺省网络
virsh net-destroy default
virsh net-undefine default
那么如果非用不可,还需要给特定虚机用dhcp指定固定IP 方法如下:
查看缺省网络
$ virsh net-list
Name State Autostart Persistent
----------------------------------------------------------
default active yes yes
找出虚机的mac地址
$ virsh dumpxml vis-16-10-33 | grep -i '<mac'
<mac address='f0:00:ac:10:0a:21'/>
编辑网络
$ virsh net-edit default
<network>
<name>default</name>
<uuid>58e86841-ef4b-4d63-bf4f-7888515b8474</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0' />
<mac address='52:54:00:6C:22:2C'/>
<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>
在range下面来一列
<dhcp>
<range start='192.168.122.2' end='192.168.122.254' />
<host mac='f0:00:ac:10:0a:21' name='vis-16-10-33' ip='192.168.122.10'/>
</dhcp>
保存退出,重启网络
$ virsh net-destroy default
$ virsh net-start default
然后就可以了。