[FUGSPBR] NAT com duas placas de rede.

Vitor Renato Alves de Brito vrbrito em artefinal.com.br
Sex Set 3 14:54:03 BRT 2004


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/



Mais detalhes sobre a lista de discussão freebsd