O IP Masquerading é uma maneira de utilizar uma máquina rodando Linux, com um modem e uma placa de rede, como um roteador para redes de pequeno porte. Desta forma, você pode conectar a sua rede doméstica ou do escritório, com computadores usando Windows, MacOS, Linux ou qualquer outro sistema operacional que ofereça conexão TCP/IP, à Internet, sem grandes investimentos.
Este texto não pretende ser um manual de instalação para usuários iniciantes. A idéia é fornecer um guia genérico de instalação para usuários que já dominam as questões mais básicas da configuração do Linux. Se você precisar de informações adicionais, consulte a nossa seção de manuais.
Observação importante: este procedimento aplica-se apenas ao kernel 2.2.x do Linux (ou superiores) utilizando o IP Chains. Versões mais antigas do kernel (2.0.x) precisam do ipfwadm, e não serão cobertas aqui.
Para este artigo, vamos considerar uma rede com 3 micros, chamados de Alfa, Beta e Gama. Alfa é a máquina Linux que tem um modem e uma placa de rede, cujo IP é 10.0.0.1. Beta roda Windows 98 e tem apenas uma placa de rede, cujo IP é 10.0.0.2. Gama roda Linux também, e tem uma placa de rede com o IP 10.0.0.3.
Para o exemplo, a rede interna já está adequadamente instalada, configurada e testada, e as máquinas conseguem dar ping umas nas outras. O modem de Alfa também funciona perfeitamente, e Alfa consegue se conectar a um provedor de internet sem problemas. Além disso, o kernel de Alfa foi configurado com as opções de IP Forwarding, roteamento e masquerading ativadas (se você tiver dúvidas sobre isto, procure pelo kernel-howto na nossa seção de manuais).
O primeiro passo para ativar o IP Masq é ativar o roteamento ("IP Forwarding") no Linux de Alfa (a máquina que tem o modem). Há muitas maneiras de fazer isto, e vou considerar que você seja capaz de ativá-lo usando o LinuxConf (Red Hat e Conectiva), COAS (Open Linux), YaST (SuSE) ou qualquer outra ferramenta de administração de sistemas que esteja ao seu alcance. Caso prefira fazer as coisas à moda antiga, acrescente o comando echo 1 > /proc/sys/net/ipv4/ip_forward a um dos seus scripts de inicialização.
Nos kernels da série 2.2.x, será necessário usar o ipchains para ativar o masquerading. Basicamente, você precisará garantir que os seguintes comandos sejam executados a cada boot de Alfa (a máquina do modem):
/sbin/ipchains -P forward DENY /sbin/ipchains -A forward -s 10.0.0.0/24 -j MASQ
Perceba que na segunda linha, o endereço 10.0.0.0/24 é o endereço da sua rede local. Se você estiver usando endereços diferentes dos aqui exemplificados, mude este endereço de rede de acordo com suas mudanças.
Dependendo do tipo de serviço que você queira usar na sua rede interna, podem ser necessários alguns módulos especiais do kernel. Se for o caso, acrescente-os:
/sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_quake /sbin/modprobe ip_masq_irc /sbin/modprobe ip_masq_user /sbin/modprobe ip_masq_raudio
Se você não souber um lugar melhor para adicionar todos estes comandos, coloque-os no /etc/rc.d/rc.local. Assim eles serão executados a cada boot. Caso a sua distribuição não tenha o /etc/rc.d/rc.local, consulte a documentação da mesma para descobrir quais os seus scripts de inicialização.
Após seguir os passos acima, a máquina Alfa estará pronta a servir de roteador/proxy para as máquinas de sua rede interna. Agora basta ir em Beta e em Gama e configurar o endereço IP de Alfa (no exemplo, 10.0.0.1) como seu gateway padrão, uma operação simples tanto no Windows quanto no Linux. Idealmente, configure também o servidor DNS de seu provedor em todas as máquinas da rede local.
Quando Alfa estiver conectado à Internet, automaticamente Beta e Gama também estarão, sem necessidade de outras configurações adicionais. Dependendo do tamanho de sua rede, você pode considerar a idéia de colocar um servidor cache de web (como o Squid, por exemplo) ou configurar o sendmail ou o DNS em Alfa. Para informações sobre estas configurações adicionais, consulte a seção de manuais. Para maiores informações sobre a configuração do masquerading em si, consulte diretamente o Ipchains-Howto.
O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.