Cursos / Redes de Computadores / Redes de Computadores I / Aula

arrow_back Aula 10 - Tradução de Endereços de Rede - NAT

Configurando o NAT 1:1

Suponha agora que queremos tornar a máquina B, que possui o endereço IP 10.1.1.3, visível de fora da rede 10.1.1.0. Suponha também que o endereço IP público 200.1.1.2 está disponível na nossa rede.

Vamos, então, criar uma regra de NAT 1:1 no roteador associando o IP privado 10.1.1.3 com o IP público 200.1.1.2. Ao fazermos isso, qualquer máquina da internet que enviar dados para 200.1.1.2, estará se comunicando na verdade com a máquina B.

Configurando NAT 1 para 1 no iptables

A Figura 15 mostra os dois comandos que são necessários para configurar o NAT 1:1. A primeira linha diz que essa regra será aplicada apenas aos pacotes recebidos da máquina 10.1.1.3 (“-s 10.1.1.3”) e que serão reencaminhados pela interface eth1 (“-o eth1”). O endereço de origem desses pacotes será trocado para 200.1.1.2 (“-j SNAT --to-source 200.1.1.2”). Como essa regra altera o endereço IP de origem, ela é cadastrada no hook POSTROUTING.

A segunda linha diz que a regra será aplicada apenas aos pacotes recebidos pela interface eth1 (“-i eth1”) e que são destinados ao IP 200.1.1.2. O endereço de destino desses pacotes será alterado para 10.1.1.3 (“-j DNAT – to-destination 10.1.1.3”). Como essa regra altera o endereço IP de destino, ela é cadastrada no hook PREROUTING.

Portanto, a primeira regra trata dos pacotes vindos da internet para a rede interna, e a segunda regra trata dos pacotes saindo da rede interna para a internet. Lembre-se de que você pode verificar as regras configuradas usando o comando “iptables-t Nat –L –n”, conforme mostrado na Figura 16. O valor 0.0.0.0/0 na coluna destination do POSTROUTING significa que a regra será aplicada para qualquer endereço de destino, desde que a origem seja 10.1.1.3. Além disso, observe que as interfaces não são mostradas, mas elas também determinam se a regra será ou não aplicada.

Verificando as regras de NAT configuradas

Quando o IP público para o qual fazemos o NAT 1:1 é um IP da mesma rede da interface do roteador onde estamos aplicando o NAT, precisamos executar mais um comando, além dos dois comandos mostrados na Figura 15. Veja que esse é o caso do nosso exemplo, pois o IP público para o qual fizemos NAT (200.1.1.2) pertence à rede da interface eth1, que foi a interface onde aplicamos o NAT. O comando adicional a ser executado para o nosso exemplo é:

Comando adicional necessário quando o IP público utilizado no NAT pertence à  própria rede do roteador

Substitua eth1 pela identificação da sua placa de rede e 200.1.1.2 pelo IP público para o qual realizou NAT. O “:1” permanece inalterado, pois ele não tem a ver com o nome da placa de rede. Por exemplo, se sua placa for eth2 e o IP público que utilizou for 200.5.5.5 o comando seria: ifconfig eth2:1 200.5.5.5.

Tudo o que esse comando faz é colocar um endereço IP adicional na sua placa. Ou seja, ela ficará com dois IPs. Isso é feito para que a máquina possa responder às requisições ARP que serão feitas para esse IP.

Versão 5.3 - Todos os Direitos reservados