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 才能訪問外部。
大多數時候我們虛擬機使用的是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 ]

留言

這個網誌中的熱門文章

Json概述以及python對json的相關操作

Docker容器日誌查看與清理

遠程控制管理工具ipmitool