Was ist der Unterschied zwischen virbr # und vnet #?

10

Ich verwende KVM auf RHEL6 und habe mehrere virtuelle Maschinen darin erstellt. Wenn Sie einen ifconfigBefehl an die Befehlszeile des Hostsystems ausgeben, wird eine Liste von virbr0, virbr1 ... und vnet0, vnet2 ... angezeigt. Sind dies die IP-Adressen des Gastbetriebssystems? Was sind die Unterschiede zwischen virbr # und vnet #?

xczzhh
quelle

Antworten:

20

Dies sind Netzwerkschnittstellen, keine IP-Adressen. Auf einer Netzwerkschnittstelle können Pakete von jedem Protokoll ausgetauscht werden, einschließlich IPv4 oder IPv6. In diesem Fall können ihnen eine oder mehrere IP-Adressen zugewiesen werden.

virbrsind Brückenschnittstellen. Sie sind insofern virtuell, als ihnen keine Netzwerkkarte zugeordnet ist. Ihre Aufgabe besteht darin, sich wie eine echte Brücke oder ein Switch zu verhalten, dh Switch-Pakete (auf Schicht 2) zwischen den Schnittstellen (real oder andere), die wie ein echter Ethernet-Switch daran angeschlossen sind.

Sie können diesem Gerät eine IP-Adresse zuweisen, die dem Host im Grunde eine IP-Adresse in dem Subnetz gibt, mit dem die Bridge verbunden ist. Anschließend wird die MAC-Adresse einer der an die Bridge angeschlossenen Schnittstellen verwendet.

Die Tatsache, dass ihr Name mit beginnt vir, unterscheidet sie nicht von anderen Bridge-Schnittstellen. Es wurden lediglich solche erstellt, mit libvirtdenen dieser Namensraum für bridgeSchnittstellen reserviert wird

vnetSchnittstellen sind andere Arten von virtuellen Schnittstellen, die als tapSchnittstellen bezeichnet werden. Sie sind an einen Prozess gebunden (in diesem Fall der Prozess, der im qemu-kvmEmulator ausgeführt wird). Was der Prozess auf diese Schnittstelle schreibt, scheint vom Host auf dieser Schnittstelle empfangen worden zu sein, und was der Host auf dieser Schnittstelle überträgt, kann von diesem Prozess gelesen werden. qemuVerwendet es normalerweise für seine virtualisierte Netzwerkschnittstelle im Gast.

In der Regel wird a vnetzu einer Bridge-Schnittstelle hinzugefügt, was bedeutet, dass die VM an einen Switch angeschlossen wird.

Stéphane Chazelas
quelle
Vielen Dank für die Antwort! Wenn virbres sich jedoch um eine Bridge-Schnittstelle handelt und Bridges Layer-2-Geräte sind, wofür benötigt sie eine IP-Adresse (hinter jeder virbr # -Schnittstelle stehen IP-Adressen)?
xczzhh
Ich habe die Antwort aktualisiert. Die Idee ist, dem Host eine IP-Adresse in diesem Netzwerk zu geben.
Stéphane Chazelas
Nochmals vielen Dank für die Antwort. Ich weiß, dass zwei verschiedene Gastbetriebssysteme, die von KVM erstellt wurden, dasselbe gemeinsam nutzen virbrkönnen. Was ist, wenn ich ein drittes Gastbetriebssystem habe, das mit einem anderen verbunden virbrist und sich diese beiden virbrin unterschiedlichen IP-Netzwerken befinden, was soll ich tun, damit diese beiden Netzwerke kann miteinander kommunizieren?
xczzhh
das gleiche, was Sie mit echten Schaltern machen würden. Einige Computer, normalerweise der Host, da er in beiden Netzwerken eine IP-Adresse hat, werden zwischen den beiden Netzwerken weitergeleitet. Dies ist wahrscheinlich standardmäßig der Fall, aber möglicherweise müssen Sie die Firewall-Konfiguration auf dem Host ändern.
Stéphane Chazelas
Ja, ich habe es versucht, aber das Problem ist, dass OS A OS B anpingen kann, OS B jedoch nicht an OS A. Wissen Sie, was das Problem sein könnte ...?
Nochmals vielen