[FUG-BR] Problemas de NAT com redes internas diferentes
Wesley Miranda FreeBSD Consult
lista em freebsdconsult.com.br
Quarta Setembro 10 12:07:54 BRT 2008
Citando
----- Original Message -----
From: "Adriano Lima - Marlin" <alima em marlin.com.br>
To: <freebsd em fug.com.br>
Sent: Wednesday, September 10, 2008 10:59 AM
Subject: [FUG-BR] Problemas de NAT com redes internas diferentes
Prezados,
Solicito a ajuda de vocês para a resolução de um problema que
enfrento recentemente com o natd do FreeBSD. Vou descrever rapidamente o
cenário:
Possuo um servidor com FreeBSD 7 Instalado e servindo de gateway para duas
redes diferentes, cada rede está em uma placa de rede diferente como no
desenho abaixo.
201.xxx.xxx.xxx
|
Xl0
[FreeBSD] xl1 - 10.190.10.0/24
Xl2
|
192.168.0.0/24
O dummynet está compilado corretamente, assim como o ipfw. O nat funciona
sem problemas para uma única rede, a outra rede não consegue enviar as
solicitações mas não recebe as mesmas. Estou utilizando o rc.firewall padrão
do FreeBSD e o firewall está em modo simple, utilizei a regra padrão para
nat do rc.firewall mas não funcionou e ao colocar regras especificas só
funciona o da primeira rede informada (10.190.10.0/24).
case ${natd_enable} in
[Yy][Ee][Ss])
if [ -n "${natd_interface}" ]; then
#${fwcmd} add divert natd all from any to any via
${natd_interface}
${fwcmd} add 101 divert natd all from
${inet}:${imask} to any via ${natd_interface}
${fwcmd} add 102 divert natd all from
${dinet}:${dimask} to any via ${natd_interface}
${fwcmd} add 103 divert natd all from any to ${oip}
fi
;;
Esac
Alguem já realizou esse tipo de nat com o natd ou ipfw?
Desde já agradeço a ajuda
[]'s
Nano Lima
----
Adriano,
Uma sugestão simples seria a seguinte;
Veja a estrutura;
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
O que eu fiz criei um alias 10.x
ifconfig rl0 alias 10.10.1.1 netmask 255.255.255.0
Ficando da seguinte forma.
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet 10.10.1.1 netmask 0xffffff00 broadcast 10.10.1.255
Logo em seguida criei um nat.
/sbin/natd -u -dynamic -interface rl0 -p 8669
(root em mail)(/etc) ping 10.10.1.1
PING 10.10.1.1 (10.10.1.1): 56 data bytes
64 bytes from 10.10.1.1: icmp_seq=0 ttl=64 time=0.802 ms
64 bytes from 10.10.1.1: icmp_seq=1 ttl=64 time=0.511 ms
64 bytes from 10.10.1.1: icmp_seq=2 ttl=64 time=0.474 ms
Essa solução deve resolver seu problema. Caso essa não for a sua solução
descarte a mensagem.
Abraço.
Wesley Miranda
FreeBSD Consult
Tel (31) 2526 8616 (31) 9356 1828
DTI - Departamento de Tecnologia da Informação
dti em freebsdconsult.com.br
www.freebsdconsult.com.br
Mais detalhes sobre a lista de discussão freebsd