MAC address NAT com ebtables para IPv4 e IPv6?

0

Eu tenho uma máquina virtual em execução no VMware. Tem o Ubuntu 14.04. Eu quero instalar contêineres LXC nele e tê-los usar o mesmo espaço de endereço que a máquina virtual.

Então, criei uma interface de bridge e coloquei a porta ethernet nela. Então eu tenho meus contêineres LXC adicionar sua interface para a ponte.

Em teoria, isso deve funcionar. E em máquinas físicas, tem. Eu posso pingar por contêineres LXC da máquina host (virtual) do LXC. Mas não consigo pingar de nenhum outro lugar, incluindo outras máquinas virtuais VMware.

Eu fiz algumas pesquisas, e parece que o "switch" virtualizado da VMware para a VLAN que entra na máquina host VMware não funciona como um switch normal. Ele já conhece os endereços MAC das máquinas anexadas a ele e elimina o tráfego proveniente de qualquer outro endereço MAC. Em essência, não aprende endereços MAC porque já os conhece. Existe uma opção VMware para desativar isso, mas em vez de fazer com que o switch virtual aprenda os endereços MAC, ele apenas o transforma no equivalente a um hub, com todas as máquinas no switch virtual recebendo todo o tráfego cruzando o switch. (Isso é algo que eu não quero fazer - tanto para questões de desempenho quanto de segurança).

Então, fico pensando que preciso fazer o equivalente a NAT, exceto no nível de ethernet para pacotes de saída na bridge, para torná-los o que a VMware acha que deveria ser. Em seguida, reescreva novamente os pacotes que chegam aos contêineres de volta ao endereço MAC correto. Para esse fim, encontrei o link que parece que deve funcionar. Mas tenho um problema: também preciso fazer o IPv6. Embora eu possa provavelmente descobrir como reescrever o material para um endereço IPv6, também preciso reescrever o equivalente IPv6 do ARP para que os hosts saibam onde encontrá-lo também.

Então, quais regras eu preciso no ebtables para fazer o nível ethernet, o endereço MAC "NAT" (reescrevendo endereços MAC de saída) para IPv6?

    
por Azendale 11.10.2014 / 09:05

1 resposta

0

Não há como fazer um mac-NAT.

Na verdade, o MAC de saída é sempre reescrito porque o MAC é usado entre máquinas vinculadas DIRETAMENTE. O MAC de origem deve ser o MAC do remetente direto e o MAC de destino deve ser o MAC do próximo salto. Em vez disso, o IP é usado entre as máquinas de link direto e as máquinas de link indireto para roteamento. O ip de origem é o ip do remetente original e o destino ip é para final.

Mas, felizmente, o NAT para ipv6 está disponível apenas através de algumas alterações na tabela NAT.

    
por user452880 20.09.2015 / 13:38