Xen 和 KVM 下如何关闭 virbr0

安装 Xen安装 KVM 后都会发现网络接口里多了一个叫做 virbr0 的虚拟网络接口:

# ifconfig
...
virbr0    Link encap:Ethernet  HWaddr d2:91:97:b8:3d:fc  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
...

这是由于安装和启用了 libvirt 服务后生成的,libvirt 在服务器(host)上生成一个 virtual network switch (virbr0),host 上所有的虚拟机(guests)通过这个 virbr0 连起来。默认情况下 virbr0 使用的是 NAT 模式(采用 IP Masquerade),所以这种情况下 guest 通过 host 才能访问外部。

virtual network switch (virbr0)

大多数时候我们虚拟机使用的是 bridge(网桥)直接连到局域网里,所以这个 virbr0 不是必须的(注:不要搞混淆了,bridge 和这里的 virbr0 bridge 是互不相干的)。如何关掉这个 virbr0 呢?先 net-destroy 然后 net-undefine,最后别忘了重启 libvirtd 让设置生效:

# virsh net-list
Name                 State      Autostart
-----------------------------------------
default              active     yes

# virsh net-destroy default
Network default destroyed

# virsh net-undefine default
Network default has been undefined

# service libvirtd restart
Stopping libvirtd daemon:                                  [  OK  ]
Starting libvirtd daemon:                                  [  OK  ]

评论 (9 Comments)

  1. vbox和vmware也有类似服务,如果不用nat确实用不着。。。

  2. 好像任何复杂,很难理解的问题,vpsee都能很简单的解析,让大家都看懂。

  3. 不错,学习了

  4. 确实这个virbr0看到不舒服。

  5. virsh # net-autostart –disable default
    Network default unmarked as autostarted

    disable autostart就ok了

  6. 好办法~

  7. 要用的时候该如何打开啊???

  8. 我把virbr0按你的方法关了,现在dom u 启动不了, 该怎么弄回来?

  9. 创建xml 文件(这个文件包含的配置是网桥的初始配置)

    default

    virsh net-define xml文件
    virsh net-start default
    virsh net-list

发表评论