Networking

這個虛擬介面是什麼?我怎樣才能刪除它?

  • May 17, 2018

我正在使用 RHEL 7.4 並且有 virbr0 和 virbr1。我想同時刪除它們。

我可以通過停止和禁用預設的虛擬 kvm 來刪除 virbr0。

libvirtd 沒有執行,但我仍然有 virbr1。最初,我關注了 setaoffice.com/2015/01/06/remove-virbr0-interface-in-linux,它刪除了 virbr0,但沒有刪除 virbr1。

當我執行 ifconfig 時,我看到以下內容:

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 192.168.0.27  netmask 255.255.255.0  broadcast 192.168.0.255
       inet6 fe80::b675:d8a3:7535:216d  prefixlen 64  scopeid 0x20<link>
       ether 3c:97:0e:96:36:a5  txqueuelen 1000  (Ethernet)
       RX packets 2649  bytes 529358 (516.9 KiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 1315  bytes 230578 (225.1 KiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
       device interrupt 20  memory 0xf3a00000-f3a20000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
       inet 127.0.0.1  netmask 255.0.0.0
       inet6 ::1  prefixlen 128  scopeid 0x10<host>
       loop  txqueuelen 1  (Local Loopback)
       RX packets 10  bytes 840 (840.0 B)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 10  bytes 840 (840.0 B)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
       inet 192.168.123.1  netmask 255.255.255.0  broadcast 192.168.123.255
       ether 00:16:3e:14:cb:4c  txqueuelen 1000  (Ethernet)
       RX packets 0  bytes 0 (0.0 B)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 0  bytes 0 (0.0 B)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

如果我 ping 192.168.123.1 我會收到響應,因此該地址上的某些東西處於活動狀態

我想弄清楚為什麼我有一個virb1?我需要嗎?據我所知,我已經禁用並銷毀了預設的 libvirt virth 機器,它們不再存在。

有什麼想法可以弄清楚這個設備是什麼以及如何從我的配置中刪除它?

這是一個libvirt通常支持“預設”基於 NAT 的網路的橋接設備。

即使您沒有使用任何虛擬機,只要libvirt正在執行,該介面就會存在(前提是您完全定義了預設網路)。

它自己不會做任何事情,而且通常是無害的。但是,如果您想刪除它,您可以執行以下操作之一(如果您有創意,可能更多):

  • 完全刪除libvirt。小心並記下libvirt正在管理的資源。它有自己的捲管理服務,可以掛載文件系統、創建卷組、建立其他網路等。這可以通過以下方式完成:

# yum remove libvirt*

  • 完全停止並禁用 libvirt。這將使它即使在重新啟動時也無法管理所有資源,因此您需要確定它實際使用的是什麼(如上所述)。在 Cent/RHEL 7 中,可以這樣做:

# systemctl stop libvirtd

# systemctl disable libvirtd

  • 銷毀“預設”libvirt網路。這將停止已創建的網路並拆除相關的網橋。此更改是短暫的,並且此網路將在管理程序節點重新啟動或libvirt守護程序重新啟動後重新聯機。可以使用單個命令(在相關的虛擬機管理程序上)完成臨時禁用“預設”網路:

# virsh net-destroy default

如果您想完全永久刪除“預設”網路,您可以取消定義它:

# virsh net-undefine default

但是,簡單地阻止該網路啟動而不是取消定義它可能更明智(以防您將來想在不必定義新的預設網路的情況下使用它)。這可以通過禁用“預設”的網路自動啟動來實現:

# virsh net-autostart --disable default

引用自:https://serverfault.com/questions/912733