[FUGSPBR] NAT com duas placas de rede.

Marcelo B. marceloc em baydenet.com.br
Sáb Set 7 13:08:31 BRT 2002


Desculpe pela demora na resposta!
vamos la!
minha placas sao quase iguais em0 e em1.
em0 default
em1 segundo link

quando quero jogar uma rede no segundo link vou fazendo assim

00005   divert 8000 ip from 10.2.0.0/24 to any out via em0
00010   divert 8000 ip from 10.11.4.0/24 to any out via em0
000XX  divert 8000 ip all from 10.x.x.x/24 to any out via em0
meu segundo natd roda na porta 8000 
com esse conf:
interface em1
use_sockets yes
same_ports yes
unregistered_only yes
port 8000	


o ip 200.x.x.x e o ip que ta configurado na iface em1
com mascara .252.
00015   fwd 200.x.y.G ip from 200.x.x.x to any out via em0
o 200.x.y.G e o gateway dessa interface que vc nao usou
porque ja tem uma rota default no seu micro :) 

agora quando o pacote volta na em1
00020   divert 8000 ip from any to 200.x.x.x in via em1

quando nao cair ali cai aqui:

00030  divert 8668 ip from 10.0.0.0/8 to any out via em0
00035  divert 8668 ip from any to 200.yyy.yyy.yyy in via em0



bom nao tem muito segredo.
esse negocio do 0.0.0.0 deve estar relacionado nessa regra:
ipfw -q add fwd 200.x.x.33/32 all from 200.x.x.34/32 
nao precisa declarar esse /32.


vamo ver se da certo agora !

Em Sex 03 Set 2004 17:54, Vitor Renato Alves de Brito escreveu:
> Olá Pessoal,
>
> Marcelo e Rodrigo, obrigado pela ajuda até agora.
>
> Marcelo, tudo que você me passou funcionou, porém, os pacotes da
> 10.10.10.0/24 saem pela xl0 que tem a rota default e voltam pela xl1 que é
> por onde deveria passar, ou seja, sai por uma placa e volta por
> outra.
>
> Coloquei as seguintes regras conforme me explicou:
> # nat interface xl1
> # tudo que vem da interface xl3 sai por aqui
> ipfw -q add divert 8669 all from 10.20.20.0/24 to any out via xl0
> ipfw -q add fwd 200.x.x.33/32 all from 200.x.x.34/32 to any out via xl0
> ipfw -q add divert 8669 all from any to 200.x.x.34/32 in via xl1
>
> # nat interface xl0
> # tudo que vem da interface xl2 sai por aqui
> ipfw -q add divert 8668 all from any to any via xl0
>
> O ipfw show retorna isto referente as regras acima:
> 01004    19     12 divert 8669 ip from 10.10.10.0/24 to any out via xl0
> 01005   180    414 fwd 0.0.0.0 ip from 200.x.x.34 to any out via xl0
> 01006   217   1822 divert 8669 ip from any to 200.x.x.34 in via xl1
> 01010  2181  10146 divert 8668 ip from any to any via xl0
>
> Veja a linha 1005 que tá apontando para 0.0.0.0. Não seria este o
> problema? Mas porque aponta para 0.0.0.0 se eu coloquei 200.x.x.33?
>
> Veja o resultado:
> tcpdump -i xl1 host 206.xx.183.178
> tcpdump: listening on xl1
> 13:39:04.035089 206.xx.183.178.http > xxx.meuserver.com.br.ms-sna-base: S
> 1794458965:1794458965(0) ack 3405555526 win 17520 <mss
> 1460,nop,nop,sackOK>
> 13:39:04.241995 206.xx.183.178.http >
> xxx.meuserver.com.br.ms-sna-base: FP 1:648(647) ack 521 win 17000
>
> tcpdump -i xl0 host 206.xx.183.178
> tcpdump: listening on xl0
> 13:39:12.773759 xxx.meuserver.com.br.fhc > 206.xx.183.178.http: S
> 3408862026:3408862026(0) win 16384 <mss 1460,nop,nop,sackOK> (DF)
> 13:39:12.956988 xxx.meuserver.com.br.fhc > 206.xx.183.178.http: . ack
> 1803365216 win 17520 (DF)
>
> Tentei outras formas mas não dá. Tentei tirar o fwd e deixar só o divert e
> o contrário tb. mas nao funciona.
>
> Será que falta alguma coisa?
>
> Valeu.
>
> On Fri, 3 Sep 2004, Rodrigo Graeff wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > ~          "Acho" que tu entendeste errado, ele não quer fazer load
> > balance e sim quer fazer dois nats distintos, ele tem dois ips com
> > mesma rota, ou seja, default, ou seja, do mesmo link e quer usar ips
> > diferentes para a saida de ambas redes. Neste caso, como já postei
> > anteriormente, parte-se do princípio que tu não deverias estar usando
> > duas placas de rede pro mesmo link, bastando acrescentar um alias na
> > xl0 com o segundo IP, no caso 200.200.200.5 alias da iface onde o
> > 200.200.200.4 esta.
> > Quanto as duas redes locais, sim precisam estar em diferentes
> > interfaces, neste caso tu fará divert normal para as duas placas, com
> > apenas uma linha para ambas redes e fara um natd unico para a
> > interface xl0, porém o trafego da rede 10.10.20.0 nao poderá "sair"
> > como ip 200.200.200.4 entao vamos dizer que tudo que vier desta rede
> > local sairá como 200.200.200.5 com a seguinte linha:
> >
> > redirect_address 10.10.20.0 200.200.200.5
> >
> > Espero ter ajudado este caso, pois a thread ja ficou enorme :)
> >
> > Abraços
> >
> > Marcelo B. wrote:
> > | E bem simples. levante dois natd's, em portas diferentes vamos
> > | marcar assim: BACKBONE_1=A = ROTA DEFAULT BACKBONE_2=B
> > |
> > | faca a primeira regra de nat no firewall, depois use essa regra de
> > | nat antes da que ja existe.
> > |
> > | ipfw add divert porta_natd_B all from rede_pra_natear_10.10.2.0/24
> > | to any out via interface_A ipfw add fwd gateway_da_interface_B all
> > | from IP_INTERFACE_B to any out via INTERFACE_A ipfw add divert
> > | porta_natd_b all from any to IP_INTERFACE_B in via INTERFACE_B
> > |
> > | nao sei como esta seu natd , mas uma opcao pro segundo natd seria
> > | um arquivo com esse conf: /etc/natd2.conf interface INTERFACE_B
> > | use_sockets yes same_ports yes unregistered_only yes port 8000
> > |
> > | em resumo: nao tem muito misterio vc tem que fazer os pacotes da
> > | rede que vc quiser passar pelo natd , e em seguida jogar ele pro
> > | next-hop com o "fwd" do ipfw. claro que em cima e so um exemplo vc
> > | pode fazer isso de milhoes de forma.
> >
> > - --
> > Rodrigo Graeff
> > delphus em delphus.org
> > www.delphus.org
> > icq: 9636816
> > Public PGP Fingerprint
> > D28D A200 AFF0 D484 9F7A 2BB5 2E1B 30DF D472 D7D2
> > Free Software for all
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.2.5 (FreeBSD)
> > Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
> >
> > iD8DBQFBOFhYLhsw39Ry19IRAsyVAJ49hnnuD5HpvowZK3Yo4DQC7TE02gCfQ27w
> > HtTzp4Q1k0XciOQB4b6o6pU=
> > =DM2T
> > -----END PGP SIGNATURE-----
> >
> > _______________________________________________________________
> > Para enviar um novo email para a lista: fugspbr em fugspbr.org
> > Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
> > Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
> >
> >
> >
> > ---
> > Esta mensagem foi verificada pelo e-mail protegido Arte Final
> > Antivírus: F-Prot / Versão: 4.4.2 / Atualizado em: 2-Set-2004
> > Proteja o seu e-mail com a Arte Final - http://www.artefinal.com.br
>
> Até mais,
>
> ---
> Vitor Renato Alves de Brito - System Manager
> Arte Final Provedor Internet - http://www.artefinal.com.br
> Alfenas/Lavras - Sul de Minas Gerais
>
>
>
>
>
>
>
> ---
> Esta mensagem foi verificada pelo e-mail protegido Arte Final
> Antivírus: F-Prot / Versão: 4.4.2 / Atualizado em: 3-Set-2004
> Proteja o seu e-mail com a Arte Final - http://www.artefinal.com.br
>
> _______________________________________________________________
> Para enviar um novo email para a lista: fugspbr em fugspbr.org
> Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
> Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
_______________________________________________________________
Para enviar um novo email para a lista: fugspbr em fugspbr.org
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd