Simted NAT Traversal na Virtual Box

1

Instalei uma caixa virtual (com dois adaptadores virtuais (tipo NAT)) - Host (Ubuntu -10.10) - Guest-Opensuse-11.4. Meu objetivo é simular todos os quatro tipos de NAT como definidos aqui . A simulação dos vários tipos de NATs pode ser feita usando o Linux iptables . Nestes exemplos, eth0 é a rede privada e eth1 é a rede pública.

Full-cone:

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source <public ip goes here>
iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination <private ip goes here>

Cone restrito:

iptables -t nat POSTROUTING -o eth1 -p tcp -j SNAT --to-source <public ip goes here> 
iptables -t nat POSTROUTING -o eth1  -p udp -j SNAT --to-source <public ip goes here> 
iptables -t nat PREROUTING -i eth1 -p tcp -j DNAT --to-destination <private ip goes here> 
iptables -t nat PREROUTING -i eth1 -p udp -j DNAT --to-destination <private ip goes here> 
iptables -A INPUT -i eth1 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A INPUT -i eth1 -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A INPUT -i eth1 -p tcp -m state --state NEW -j DROP 
iptables -A INPUT -i eth1 -p udp -m state --state NEW -j DROP 

Cone com restrição de porta:

 iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source <public ip goes here>

Symmentric:

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables --flush
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE --random
iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

Eu configurei um convidado do OpenSuse com dois adaptadores virtuais, eth0 e eth1.

  • eth1 com endereço 10.0.3.15 / eth1: 1 como 10.0.3.16
  • eth0 com endereço 10.0.2.15

Em seguida, executei o stund cliente / servidor ...

Servidor:

eKimchi@linux-6j9k:~/sw/stun/stund> ./server -v -h 10.0.3.15 -a 10.0.3.16

Cliente:

eKimchi@linux-6j9k:~/sw/stun/stund> ./client -v 10.0.3.15 -i 10.0.2.15

... nos quatro casos está dando os mesmos resultados:

teste I = 1 teste II = 1 teste III = 1 teste I (2) = 1 é nat = 0 mapeado IP mesmo = 1 grampo = 1 porta preservador = 1 Primário: valor de retorno aberto é 0x000001

Q-1: Por favor, deixe-me saber Se algum já fez, deve se comportar como NAT como por descrição, mas em nenhum lugar ele funciona como um NAT.

Q-2: Como o NAT foi implementado em roteadores domésticos (geralmente com porta restrita), mas também regras pré-configuradas do iptables e Linux ajustado

    
por Sumit Arora 25.06.2011 / 09:10

1 resposta

1

Se você quiser "controlar" os diferentes tipos de NAT com os convidados em execução em qualquer tipo de hipervisor, será necessário executar os convidados no modo de rede "em ponte".

    
por 25.06.2011 / 10:23