Roteamento e NAT com IPTables

Started by Anonymous, 18 de March , 2006, 10:33:35 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Anonymous

Roteamento e NAT com IPTables

O objetivo deste documento é demonstrar uma soluçao simples para roteamento de pacotes entre redes, mais especificamente entre duas redes ethernet, utilizando o IPTables. Observe que o foco nao é a parte de segurança e sim a funcionalidade da soluçao.

Hardware Utilizado

A configuraçao de hardware utilizada foi um Pentium200 com 64Mb de ram e 2Gb de disco, porem poderia-se baixar esses valores conforme a demanda das redes a serem conectadas. Nesse laboratorio nossas redes tinham aproximadamente 20/200 pontos e considerou-se o hardware sub-utilizado. Somente durante a configuraçao foi necessaria a utilizaçao 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çao foi a "minima" (aproximadamente 250Mb), mais alguns pacotes como o "iptables" e o "pico" (adicionados manualmente). O reconhecimento das 2 placas de rede(3com padrao) ocorreu sem problemas. obs: como area de swap criou-se uma partiçao de 128Mb.

Configuraçao

Inicialmente devem ser feitas as configuraçoes 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


Ativando o roteamento

Verifique na distruiçao de sua prefer?ncia a localizaçao dos scripts de inicializaçao e adicione o seguinte comando para ativar o roteamento:

# echo 1 > /proc/sys/net/ipv4/ip_forward


Rotas

Considerando a conexço fisica de rede OK, partimos paras as rotas necessarias:

# 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 desnecessarios (telnet, finger, ftp, etc...) foram desativados, ficando apenas rodando o sshd para futuras manutençoes.

Regras de Masquerading

Para possibilitar a troca de pacotes entre as duas redes sao necessarias 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çao(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"


Fonte: Clube Do Linux

Black Hood

Anonymous

muito interessante isso, se eu fosse modera te dava um ponto.. hehe
vlw Black Hood, continue com seus otimos posts!