Rede em Linux KVM

Rede em Linux KVM

Quero saber se existe outra maneira além de usar pontes Linux para interconectar interfaces de duas máquinas virtuais?

Como estou tentando executar a implementação de spanning tree privado em máquinas virtuais ... a ponte linux subjacente que conecta ambas as máquinas virtuais está eliminando os BPDUs.

O VirtualBox resolve o problema fornecendo opção de rede interna.

Existe alguma opção semelhante se eu usar KVM?

Atualização-01:Habilitar o STP acabaria criando uma topologia contendo 3 pontes (2VMs e 1 ponte Linux conectando ambas as VMs) em vez de 2 pontes (2VMs).

Responder1

Parece que você poderia usar -netdev socketa opção do QEMU aqui, provavelmente a versão UDP se encaixará melhor.

Também -netdev vdepode funcionar, embora seja mais complicado e exija o daemon de switch VDE configurado.

Mas eu tentaria superar o problema com a ponte Linux de qualquer maneira, com a opção STP habilitada, como sugeriu @Martin. Esta é uma configuração simples e muito comum.

Responder2

Você pode tentar usar o driver macvtap. Observe que isso tem algumas limitações - certifique-se de ler a documentação da libvirt sobre isso.

Responder3

QEmu/KVM oferece opções para usar umTOCARinterface em seu host:

  1. quando seu host envia um quadro Ethernet para esta interface, ele é enviado para a interface do seu convidado;

  2. quando seu convidado envia um quadro Ethernet para sua interface, ele é enviado para a interface TAP em seu host.

Você pode criar ambos VMS com interfaces TAP. Agora você precisa trocar os quadros entre as duas interfaces TAP: você pode fazer isso escrevendo um programa que encaminha quadros Ethernet entre as interfaces (usando AF_PACKET, SOCK_RAWsoquetes) porrecebendo quadrosde uma interface eenviandoeles para o outro.

Responder4

As pessoas que sugeriram um dispositivo TAP estavam no caminho certo, mas você também precisa de algo mais:

Primeiro, crie umquinto par. Este é um par de interfaces virtuais, cada uma das quais simplesmente passa qualquer tráfego que recebe para a outra.

Em seguida, anexe uma de suas duas VMs via macvtap a uma das interfaces veth do par e anexe a outra VM à outra interface veth.

Finalmente, envie algum tráfego.

informação relacionada