iptables com vlans e IPs duplicados

1

Estou configurando uma situação de laboratório de teste em que vários computadores terão os mesmos endereços IP, portanto, precisam de separação de vlan. Por exemplo, um grupo de máquinas virtuais terá os IPs 192.168.1.200, 192.168.1.201, etc. E outro grupo de máquinas virtuais também terá os mesmos IPs.

Eu quero fornecer mapeamentos NAT para cada uma das máquinas virtuais para que cada uma delas possa ser publicamente acessível. Estou usando o Ubuntu 11.04 com o iptables.

Nota: normalmente sou um administrador do Windows, mas o Linux foi a melhor solução aqui.

Então, basicamente, eu quero que o mapeamento NAT do iptables aponte para uma interface específica e permita que vários IPs duplicados coexistam.

Isso é possível com um único dispositivo Ubuntu? Estou usando o tecido de rede virtual, por isso não tenho um dispositivo de rede física entre eles.

Aqui está um diagrama para representá-lo:

Minhas regras de NAT podem ser algo assim:

iptables -t nat -I PREROUTING -d 72.73.74.75 -j DNAT --to-destination 192.168.1.200 -o eth1.5
iptables -t nat -I POSTROUTING -s 192.168.1.200 -j SNAT --to-source 72.73.74.75 -i eth1.5

São os -i e -o que parecem funcionar apenas com o NIC público, então essa é a parte que eu não consegui trabalhar. Por exemplo, usar -i no POSTROUTING (SNAT) fornece este erro: Não é possível usar -i com POSTROUTING. -o faz o mesmo com a DNAT.

Alguma sugestão sobre o caminho a percorrer para conseguir isso?

    
por Scott Forsyth - MVP 15.07.2011 / 00:06

1 resposta

2

Você precisa usar um segundo NAT para contornar o problema - criar uma 4ª VM com IPs distintos na VLAN e fazer uma segunda camada de NAT para atingir os hosts reais na VLAN da 4ª VM. Você também pode criar essas 4 VMs no Ubuntu SPF, é claro.

Eu tenho que fazer a pergunta, no entanto: por que você quer fazer isso --- você poderia ter duas caixas Ubuntu, uma em 5, uma em 6?

    
por 29.09.2011 / 03:14