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

9

Estou executando o KVM no RHEL6 e criei várias máquinas virtuais nele. Emitir o comando ifconfig 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 guest? Quais são as diferenças entre o virbr # e o vnet #?

    
por xczzhh 25.10.2012 / 09:22

1 resposta

18

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, caso em que eles podem receber um ou mais endereços IP.

virbr são interfaces de ponte. Eles são virtuais, pois não há uma placa de interface de rede associada a eles. Seu papel é agir como uma bridge ou switch real, isto é, trocar pacotes (na camada 2) entre as interfaces (reais ou outras) que estão ligadas a ele da mesma forma que um switch ethernet real faria.

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

O fato de seu nome começar com vir não os torna diferentes de qualquer outra interface de ponte, é que eles foram criados por libvirt , que reserva esse espaço de nome para bridge interfaces

vnet interfaces são outros tipos de interfaces virtuais chamadas tap interfaces. Eles estão anexados a um processo (nesse caso, o processo está executando o qemu-kvm emulator). O que o processo grava nessa interface aparecerá como tendo sido recebido nessa interface pelo host e o que o host transmite nessa interface está disponível para leitura por esse processo. qemu normalmente usa-o para sua interface de rede virtualizada no convidado.

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

    
por 25.10.2012 / 09:48