Qual é a diferença entre virbr # e vnet #?

11

Estou executando o KVM no RHEL6 e criei várias máquinas virtuais nele. O ifconfigcomando de emissão para a linha de comando do sistema host mostra uma lista de virbr0, virbr1 ... e vnet0, vnet2 ... Eles são os endereços IP do sistema operacional convidado? Quais são as diferenças entre virbr # e vnet #?

xczzhh
fonte

Respostas:

21

Essas são interfaces de rede, não endereços IP. Uma interface de rede pode ter pacotes de qualquer protocolo trocado neles, incluindo IPv4 ou IPv6; nesse caso, eles podem receber um ou mais endereços IP.

virbrsão interfaces de ponte. Eles são virtuais, pois não há uma placa de interface de rede associada a eles. O papel deles é agir como uma ponte ou um comutador real, ou seja, pacotes de comutadores (na camada 2) entre as interfaces (reais ou outras) que estão anexadas a ele, exatamente como um comutador Ethernet real faria.

Você pode atribuir um endereço IP a esse dispositivo, que basicamente fornece ao host um endereço IP na sub-rede à qual a ponte se conecta. Ele usará o endereço MAC de uma das interfaces conectadas à ponte.

O fato de o nome começar com virisso não os torna diferentes de qualquer outra interface de ponte, mas apenas aqueles criados pela libvirtqual reserva esse espaço de nome para bridgeinterfaces

vnetinterfaces são outros tipos de interfaces virtuais chamadas tapinterfaces. Eles estão anexados a um processo (nesse caso, o processo em execução no qemu-kvmemulador). O que o processo grava nessa interface parecerá ter sido recebido nessa interface pelo host e o que o host transmite nessa interface está disponível para leitura por esse processo. qemunormalmente o usa para sua interface de rede virtualizada no convidado.

Normalmente, um vnetserá adicionado a uma interface de ponte, o que significa conectar a VM a um comutador.

Stéphane Chazelas
fonte
Muito obrigado pela resposta! Mas, se virbré uma interface de ponte, e como as pontes são dispositivos de camada dois, para que ele precisa de um endereço IP (existem endereços IP seguindo todas as interfaces virbr #)?
Xczzhh 25/10/12
Eu atualizei a resposta. A idéia é fornecer ao host um endereço IP nessa rede.
Stéphane Chazelas 25/10/12
Obrigado novamente pela resposta. Sei que dois sistemas operacionais convidados diferentes criados pelo KVM podem compartilhar o mesmo virbr, mas e se eu tiver um terceiro sistema operacional convidado conectado a um diferente virbre esses dois virbrs estiverem em redes IP diferentes, o que devo fazer para que essas duas redes podem se comunicar?
Xczzhh 25/10/12
a mesma coisa que você faria com switches reais. Algumas máquinas, normalmente o host, já que possuem um endereço IP nas duas redes, roteariam entre as duas redes. Provavelmente o faz por padrão, mas talvez você precise alterar a configuração do firewall no host.
Stéphane Chazelas
Sim, eu tentei, mas o problema é que o SO A pode executar ping no OS B, mas o OS B não pode executar o ping no A. Você sabe qual pode ser o problema ...? Obrigado novamente :)
xczzhh