• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Roteamento e nat com iptables!!!

maar3amt

Administrator
Team GForum
Entrou
Set 19, 2006
Mensagens
7,803
Gostos Recebidos
28
Depois de meses, volto a publicar um artigo inédito aqui no Linux in Brazil. Tem vários outros na fila, alguns eu recebi por email e ainda nem respondi aos autores, mas eu acabo lendo e respondendo. Quem quiser mandar, entre em contato; mande em texto puro, parágrafos separados por linhas em branco, já corretamente acentuado e revisado.
Clicando em Detalhes você poderá ver o artigo do Marcelo M. Lopes (marcelo@tre-sc.gov.br) com um passo a passo sobre como configurar um micro com Linux para atuar como roteador e interligar duas redes (ou uma rede local à Internet). Confira!
Configurando roteamento com o IPTables (Masquerading)
Marcelo M. Lopes - marcelo@tre-sc.gov.br
O objetivo deste documento é demonstrar uma solução simples para roteamento de pacotes entre redes, mais especificamente entre duas redes ethernet, utilizando o IPTables. Observe que o foco não é a parte de segurança e sim a funcionalidade da solução.
Hardware Utilizado
A configuração de hardware utilizada foi um Pentium200 com 64Mb de ram e 2Gb de disco, porém poderia-se baixar esses valores conforme a demanda das redes a serem conectadas. Nesse laboratório nossas redes tinham aproximadamente 20/200 pontos e considerou-se o hardware sub-utilizado. Somente durante a configuração foi necessária a utilização de monitor e mouse; como hardware adicional foi instalada uma segunda placa de rede.
Software
O S.O. instalado foi o Suse Linux7.3; o tipo de instalação foi a "mínima" (aproximadamente 250Mb), mais alguns pacotes como o "iptables" e o "pico" (adicionados manualmente). O reconhecimento das 2 placas de rede(3com padrão) ocorreu sem problemas. obs: como área de swap criou-se uma partição de 128Mb.
Configuração
Inicialmente devem ser feitas as configurações das placas de rede, hostname, domainname; para exemplificar:
eth0: 192.168.1.1/255.255.0.0
eth1: 10.10.1.1/255.255.0.0
hostmane: router
domainname: mydomain.com


Activando o roteamento
Verifique na distruição de sua preferência a localização dos scripts de inicialização e adicione o seguinte comando para ativar o roteamento:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Rotas
Considerando a conexão física de rede OK, partimos paras as rotas necessárias:
# route add -net 192.168.0.0 netmask 255.255.0.0 eth0
# route add default gw 10.10.1.1 eth1
Confirme/edite o arquivo /etc/route.conf, definindo as seguintes entradas:
192.168.0.0 0.0.0.0 255.255.0.0 eth0
#gateway default
default 10.10.1.1 0.0.0.0 eth1


Serviços
Todos os serviços considerados desnecessários (telnet, finger, ftp, etc...) foram desativados, ficando apenas rodando o sshd para futuras manutenções.
Regras de Masquerading
Para possibilitar a troca de pacotes entre as duas redes são necessárias algumas regras de mascaramento de ip; utilizou-se o iptables-1.2.2-66(kernel 2.4.10); adicione as seguintes regras a um dos scripts de inicialização(depende da distro):

export IPTABLES=/usr/sbin/iptables
export MODPROBE=/sbin/modprobe
$MODPROBE ip_nat_ftp
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$IPTABLES -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED, RELATED -j ACC
$IPTABLES -A FORWARD -i eth0 -o eth1 -j ACCEPT
$IPTABLES -A FORWARD -j LOG
echo "- Enabling SNAT (MASQUERADE) funtionality on eth1"
$IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo -e "\nDone.\n"


Após estes procedimentos seu micro já estará roteando pacotes entre as redes, sendo ainda preciso configurar nas estações da rede interna (192.168.0.0) O gateway padrão como sendo o endereço IP da interface eth0 (192.168.1.1).
 
Topo