Qual è la differenza tra virbr # e vnet #?


11

Sto eseguendo KVM su RHEL6 e ho creato diverse macchine virtuali. L'invio di un ifconfigcomando alla riga di comando del sistema host mostra un elenco di virbr0, virbr1 ... e vnet0, vnet2 ... Sono gli indirizzi IP del sistema operativo guest? Quali sono le differenze tra virbr # e vnet #?

Risposte:


21

Quelle sono interfacce di rete, non indirizzi IP. Un'interfaccia di rete può avere pacchetti da qualsiasi protocollo scambiato su di essi, incluso IPv4 o IPv6, nel qual caso possono ricevere uno o più indirizzi IP.

virbrsono interfacce bridge. Sono virtuali in quanto non è associata alcuna scheda di interfaccia di rete. Il loro ruolo è quello di agire come un vero bridge o switch, ovvero pacchetti di switch (a livello 2) tra le interfacce (reali o di altro tipo) ad esso collegate, proprio come farebbe un vero switch Ethernet.

È possibile assegnare un indirizzo IP a quel dispositivo, che in pratica fornisce all'host un indirizzo IP su quella sottorete a cui si collega il bridge. Quindi utilizzerà l'indirizzo MAC di una delle interfacce collegate al bridge.

Il fatto che il loro nome inizi virnon li rende diversi da qualsiasi altra interfaccia bridge, è solo che sono stati creati da quelli libvirtche riservano lo spazio dei nomi per le bridgeinterfacce

vnetle interfacce sono altri tipi di interfacce virtuali chiamate tapinterfacce. Sono collegati a un processo (in questo caso il processo viene eseguito qemu-kvmnell'emulatore). Ciò che il processo scrive su quell'interfaccia apparirà come ricevuto su quell'interfaccia dall'host e ciò che l'host trasmette su quell'interfaccia è disponibile per la lettura da quel processo. qemuin genere lo utilizza per la sua interfaccia di rete virtualizzata nel guest.

In genere, a vnetverrà aggiunto a un'interfaccia bridge che significa collegare la VM a uno switch.


Grazie mille per la risposta! Ma se si virbrtratta di un'interfaccia bridge e poiché i bridge sono dispositivi di livello due, a cosa serve un indirizzo IP (ci sono indirizzi IP che seguono ogni interfaccia virbr #)?
xczzhh,

Ho aggiornato la risposta. L'idea è di fornire all'host un indirizzo IP su quella rete.
Stéphane Chazelas,

Grazie ancora per la risposta So che due diversi sistemi operativi guest creati da KVM possono condividere lo stesso virbr, ma se avessi un terzo sistema operativo guest collegato a un altro virbre questi due si virbrtrovassero in reti IP diverse, cosa dovrei fare in modo che queste due reti puoi comunicare tra loro?
xczzhh,

la stessa cosa che faresti con interruttori reali. Qualche macchina, in genere l'host poiché ha un indirizzo IP su entrambe le reti, verrebbe instradata tra le due reti. Probabilmente lo fa per impostazione predefinita, ma forse è necessario modificare la configurazione del firewall sull'host.
Stéphane Chazelas,

Sì, ho provato, ma il problema è che l'OS A può eseguire il ping dell'OS B, ma l'OS B non può eseguire il ping dell'OS A. Sai quale potrebbe essere il problema ...? Grazie ancora :)
xczzhh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.