¿Cuál es la diferencia entre virbr # y vnet #?

11

Estoy ejecutando KVM en RHEL6, y he creado varias máquinas virtuales en él. La emisión de ifconfigcomandos a la línea de comandos del sistema host muestra una lista de virbr0, virbr1 ... y vnet0, vnet2 ... ¿Son las direcciones IP del sistema operativo invitado? ¿Cuáles son las diferencias entre virbr # y vnet #?

xczzhh
fuente

Respuestas:

21

Esas son las interfaces de red, no las direcciones IP. Una interfaz de red puede tener paquetes de cualquier protocolo intercambiado en ellos, incluidos IPv4 o IPv6, en cuyo caso se les puede dar una o más direcciones IP.

virbrson interfaces de puente. Son virtuales porque no hay ninguna tarjeta de interfaz de red asociada a ellos. Su función es actuar como un puente o conmutador real, es decir, cambiar paquetes (en la capa 2) entre las interfaces (reales u otras) que están conectadas a él como lo haría un conmutador de ethernet real.

Puede asignar una dirección IP a ese dispositivo, que básicamente le da al host una dirección IP en esa subred a la que se conecta el puente. Luego usará la dirección MAC de una de las interfaces conectadas al puente.

El hecho de que su nombre comience virno los diferencie de ninguna otra interfaz de puente, es solo que aquellos que fueron creados por libvirtellos reservan ese espacio de nombre para las bridgeinterfaces

vnetLas interfaces son otros tipos de interfaces virtuales llamadas tapinterfaces. Se adjuntan a un proceso (en este caso, el proceso se ejecuta en el qemu-kvmemulador). Lo que el proceso escribe en esa interfaz aparecerá como si hubiera sido recibido en esa interfaz por el host y lo que el host transmite en esa interfaz está disponible para su lectura por ese proceso. qemunormalmente lo usa para su interfaz de red virtualizada en el invitado.

Por lo general, vnetse agregará a una interfaz de puente, lo que significa conectar la VM a un conmutador.

Stéphane Chazelas
fuente
Muchas gracias por la respuesta! Pero, si virbres una interfaz de puente, y como los puentes son dispositivos de capa dos, ¿para qué necesita una dirección IP (hay direcciones IP que siguen a cada interfaz virbr #)?
xczzhh
He actualizado la respuesta. La idea es darle al host una dirección IP en esa red.
Stéphane Chazelas
Gracias de nuevo por la respuesta. Sé que dos sistemas operativos invitados diferentes creados por KVM pueden compartir lo mismo virbr, pero qué pasa si tengo un tercer sistema operativo invitado que está conectado a un sistema diferente virbr, y estos dos virbrs están en redes IP diferentes, ¿qué debo hacer para que estas dos redes pueden comunicarse entre sí?
xczzhh
lo mismo que harías con interruptores reales. Alguna máquina, típicamente el host ya que tiene una dirección IP en ambas redes, se enrutaría entre las dos redes. Probablemente lo haga de manera predeterminada, pero tal vez necesite cambiar la configuración del firewall en el host.
Stéphane Chazelas
Sí, lo he intentado, pero el problema es que el sistema operativo A puede hacer ping al sistema operativo B, pero el sistema operativo B no puede hacer ping al sistema operativo A. ¿Sabes cuál podría ser el problema ...? Gracias de nuevo :)
xczzhh