macvtap na VM do VMware

1

A ponte do macvtap entre as VMs do VMWARE?

Meu aplicativo funciona na VM VMware e deve lidar com o tráfego da rede. Estou tentando usar o macvtap para esse propósito:

conjunto de links ip dev eth1_index promisc on allmulticast on up link ip adicionar link eth1_index nome macvtap1 tipo macvtap conjunto de links ip dev macvtap1 promisc em allmulticast em cima

Então, a partir do aplicativo eu abro / dev / tapX, defino (via TUNSETIFF) como (IFF_TAP | IFF_NO_PI) e tento fazer algum tráfego.

Se eu usar o mac da eth1 para enviar / receber tráfego para outra VM no mesmo host, vejo que os pacotes TX são bem recebidos, e as respostas (destinadas ao mac da eth1) são encaminhadas para eth1, mas não para macvtap1 (portanto, aplicação não pode lê-los).

Se eu usar o mac do macvtap1 para enviar / receber tráfego - eu vejo (ao capturar a outra VM) que os pacotes TX, com o mac do macvtap como fonte mac - não são entregues a ele (eu vejo esses pacotes quando eu capturar o eth1 da VM 'local').

Além disso, se eu apenas tentar (sem meu aplicativo) definir um IP sobre a interface macvtap e executá-lo ping a partir da outra VM - vejo que as solicitações ARP atingem a eth1, mas não a macvtap1.

Minhas perguntas são: Deve macvtap trabalhar sobre VMWARE VMs? - Se sim, o que fiz de errado?

Obrigado.

    
por Ami Sabo 17.05.2015 / 16:57

1 resposta

0

Acho que entendi.

Os dispositivos macvtap usam seu próprio mac para rx / tx. Então, para vmware para que o vswitch entregue o pacote para a VM, Alterei a configuração de segurança do grupo de portas, configurando o modo promíscuo. Funcionou.

    
por 18.05.2015 / 19:03

Tags