Linux

virbr# 和 vnet# 有什麼區別?

  • March 14, 2016

我在 RHEL6 上執行 KVM,並在其中創建了幾個虛擬機。向主機系統命令行發出ifconfig命令會顯示 virbr0、virbr1… 和 vnet0、vnet2… 的列表,它們是來賓作業系統的 IP 地址嗎?virbr# 和 vnet# 有什麼區別?

這些是網路介面,而不是 IP 地址。網路介面可以在其上交換來自任何協議的數據包,包括 IPv4 或 IPv6,在這種情況下,可以為它們分配一個或多個 IP 地址。

virbr是橋接介面。它們是虛擬的,因為沒有與之關聯的網路介面卡。它們的作用就像真正的網橋或交換機一樣,即在連接到它的介面(真實或其他)之間交換數據包(在第 2 層),就像真正的乙太網交換機一樣。

您可以為該設備分配一個 IP 地址,這基本上為主機提供了網橋連接到的子網上的 IP 地址。然後它將使用連接到網橋的介面之一的 MAC 地址。

它們的名稱以開頭的事實vir並沒有使它們與任何其他橋接介面有任何不同,只是它們是由它們創建的,它們為介面libvirt保留了該名稱空間bridge

vnet介面是稱為介面的其他類型的虛擬tap介面。它們附加到一個程序(在本例中是在qemu-kvm模擬器中執行的程序)。程序寫入該介面的內容將顯示為已由主機在該介面上接收,並且主機在該介面上傳輸的內容可供該程序讀取。qemu通常將其用於來賓中的虛擬化網路介面。

通常,avnet將添加到橋接介面,這意味著將 VM 插入交換機。

引用自:https://unix.stackexchange.com/questions/52855