Resposta de pacote pela mesma interface

1. Resposta de pacote pela mesma interface

Ulisses Ziech
ziech

(usa Ubuntu)

Enviado em 08/04/2010 - 20:04h

E ai pessoal. Estou com um problema com roteamento/firewall e gostaria de opiniões.
Tenho 3 redes:
A: 192.168.1.0/24 - gw 192.168.1.1
B: 192.168.2.0/24 - gw 192.168.2.1
C: 192.168.3.0/24 - gw 192.168.3.1
Tenho um servidor com 2 interfaces de redes conectadas nas redes B e C (ips eth0: 192.168.2.2 e eth1:192.168.3.2), via 2 switches distintos. O default gw deste servidor é o 192.168.2.1-eth0 e adicionei uma segunda rota 192.168.3.1-eth1.
Na rede A, tenho meu pc e no meio de tudo isto tem um firewall.
O problema é que eu quero acessar o meu servidor pelos 2 ips, mas consigo acessar apenas pelo ip da rede B (onde está o default gw configurado). Se tento pingar o ip 192.168.3.2, o pacote chega na interface eth1 do servidor mas a resposta é enviada pela interface eth0, esta resposta passa pelo firewall e então é descartada, pois não passou por ele uma pergunta.
Queria saber como fazer para forçar o servidor a responder pela interface por onde o pacote chegou, seja por regra do iptables ou roteamento. Sugestões?


  


2. Re: Resposta de pacote pela mesma interface

Danilo Mussolini
Mussolini

(usa Debian)

Enviado em 04/03/2011 - 11:26h

Opa!

Conseguiu a solução para o problema ?


[]'s





3. Re: Resposta de pacote pela mesma interface

Ulisses Ziech
ziech

(usa Ubuntu)

Enviado em 04/03/2011 - 11:42h

consegui da seguinte maneira:
# ip rule add from 192.168.3.0/24 table 10
# ip route add default via 192.168.3.1 dev eth1 table 10
com isto, os pacotes que chegam pela eth1(192.168.3.0) são devolvidos pela eth1, o mesmo para a eth0. Para remver a regra, uso o comando
# ip rule del table 10


4. Re: Resposta de pacote pela mesma interface

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 04/03/2011 - 11:42h

ziech, vc disse que cada placa do seu servidor está ligado em um switch diferente. veja se o seu pc está ligado a esses dois switches, pois se não estiver, o pacote tcp, obviamente, irá percorrer o único caminho físico disponível, ou seja, somente um dos switches e consequentemente só irá chegar em uma placa.


5. Re: Resposta de pacote pela mesma interface

Natanael Henrique
n4t4n

(usa Arch Linux)

Enviado em 04/03/2011 - 11:44h

opa, valew então.


6. Re: Resposta de pacote pela mesma interface

Danilo Mussolini
Mussolini

(usa Debian)

Enviado em 04/03/2011 - 11:55h

Certo!

Consegui aqui com uma regra de SNAT:

iptables -t nat -A POSTROUTING -p tcp -s LAN1 -d IPSERVER --dport 80 -j SNAT --to-source IPETH0
iptables -t nat -A POSTROUTING -p tcp -s LAN2 -d IPSERVER --dport 80 -j SNAT --to-source IPETH1

Assim o servidor não tenta devolver os pacotes diretamente ao cliente sem passar pelo gateway na interface especificada.

E claro, permitir isso na FORWARD se for o caso:

iptables -A FORWARD -p tcp -s LAN1 -d IPSERVER --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -s LAN2 -d IPSERVER --dport 80 -j ACCEPT

Link para referencia:
http://www.vivaolinux.com.br/artigo/Port-Forward-mais-completo-cacando-o-fantasma-da-rede-interna/


[]'s








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts