Para acessar a internet, cada computador deve ter um IP único válido. Entretanto, com o crescimento do número de computadores nas redes e no número de sub-redes, os milhões de endereços dis¬poníveis com a utilização do IPv4 de 32 bits não seriam suficientes. Para solucionar esse problema, em redes baseadas em TCP/IP, utiliza-se um protocolo chamado NAT (Network Address Translation), responsável por realizar a tradução de endereços privados, utilizados na rede local, em endereços válidos necessários para navegar na internet.
Com o auxilio desse protocolo e de outro serviço chamado IP Forward podemos facilmente utilizar um servidor Debian para realizar o compartilhamento de uma conexão de rede e configurar um gateway para a rede local. Como se sabe, a função do gateway é realizar a ligação da rede local com uma rede externa (a internet, muitas vezes). Para tanto, ele necessita de ao menos duas interfaces de rede, uma o inserido na rede local e a segunda estabelecendo conexão com a rede externa. Supondo que a rede interna responda pela faixa de endereços 192.168.10/24 e o IP da interface externa seja 200.150.3.10 teríamos a situação exemplificada na figura A.3.1.
Para estabelecer o roteamento, temos que configurar as interfaces de rede para que possam trocar informações entre si. Para tanto, vamos habilitar o IP Forward:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Para habilitar NAT, podemos criar uma regra que realize o compartilhamento da conexão, através da tabela de mesmo nome no firewall iptables:
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 –j MASQUERADE
Com esse comando estamos mascarando, ou seja, traduzindo os endereços dos hosts da rede local para o endereço IP da interface externa. Nesse momento, estamos com um roteador plenamente funcional. Agora basta adicionar alguns clientes nessa rede para verificar o seu funcionamento.