安装 Xen 或安装 KVM 后都会发现网络接口里多了一个叫做 virbr0 的虚拟网络接口:
这是由于系统安装和并启用了 libvirt 服务后生成的,libvirt 在服务器(host)上生成一个 virtual network switch (virbr0),host 上所有的虚拟机(guests)通过这个 virbr0 连起来。默认情况下 virbr0 使用的是 NAT 模式(采用 IP Masquerade),所以这种情况下 guest 通过 host 才能访问外部。
virbr0 是 KVM 默认创建的一个 Bridge,其作用是为连接其上的虚机网卡提供 NAT 访问外网的功能。
virbr0 默认分配了一个IP 192.168.122.1,并为连接其上的其他虚拟网卡提供 DHCP 服务。
大多数时候虚拟机使用的是 bridge(网桥)直接连到局域网里,所以这个 virbr0 不是必须的(注:不要搞混淆了,bridge 和这里的 virbr0 bridge 是互不相干的),bridge模式改为普通模式后,查看网卡的时候还是可以看到很多垃圾信息,想彻底删除自己不想要的网卡配置信息。
如何关掉这个 virbr0 呢?总结为以下三步:
1)首先net-destroy,删除掉
2)接着net-undefine,从配置文件剔除
3)最后重启libvirtd让设置生效,service libvirtd restart
[root@db opt]# virsh net-list
Name State Autostart Persistent
--------------------------------------------------
default active yes yes
[root@db opt]# virsh net-destroy default
Network default destroyed
[root@db opt]# virsh net-list
Name State Autostart Persistent
--------------------------------------------------
[root@db opt]# virsh net-undefine default
Network default has been undefined
[root@db ~]# service libvirtd restart
Stopping libvirtd daemon: [ OK ]
Starting libvirtd daemon: [ OK ]