Problemas no NAT com IPTABLES

1. Problemas no NAT com IPTABLES

Mauricio Costa
maucosta80

(usa Ubuntu)

Enviado em 11/09/2015 - 16:22h

Boa tarde Sr,

Tenho um link ppoe da vivo onde recebo uma url especifica e mando para um ip interno, proxy-reverso, via NAT. Isso roda em uma maquina FREEBSD.
Estou migrando esse link da vivo para o meu firewall UBUNTU onde, possuo mais um link TIM que é meu default gateway.
Coloquei as regras no iptables de PREROUTING, POSROUTING, FORWARD, etc. Consigo ver as requisições chegando no proxy-reverso, só que, na hora de retornar a requisição, o sistema envia a resposta pelo link da TIM e não pelo da VIVO como deveria ser.
Existe alguma configuração no iptables ou de rotas que possa usar na maquina p/ que o pacote retorne pelo mesmo lugar da entrada ?
Configurações

-A POSTROUTING -s IP_INT -o ppp0 -j SNAT --to IP_EXT
-A PREROUTING -p tcp -d $IP_WAN --dport 80 -j DNAT --to $IP_INT

Roteamento default TIM
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth1

Grato,


Mauricio Costa


  


2. Problemas no NAT com IPTABLES

Mauricio Costa
maucosta80

(usa Ubuntu)

Enviado em 14/09/2015 - 09:51h

Bom dia Sr,

Fiz alguns testes de marcação de pacotes, para ver se o sistema devolve o pacote pela interface de entrada e não consigo enxergar a marcação feita.
Utilizei os seguintes comandos:

-A PREROUTING -p tcp -m tcp -i ppp0 --dport 80 --sport 1024:65535 -j CONNMARK --set-mark 0x2
-A PREROUTING -m connmark ! -i ppp0 -j MARK --mark 0x2 --set-mark 0x2

Para verificar a marcação nos pacotes usei o seguinte comando:

tcpdump -i ppp0 |grep 0x2

Deveria enxergar a marcação por esse comando ?

Grato,

Mauricio Costa



3. Re: Problemas no NAT com IPTABLES

Antonio Mauricio dos santos
anewvision

(usa Debian)

Enviado em 14/09/2015 - 10:58h

Fala amigão, talvez eu irá responder o obvio. Mas é o seguinte. O link da tim está como rota padrão. Desta forma saída será sempre por este caminho. Não sei se isso é possível ter duas rotas padrão. Ou é padrão ou não é. Vou dar um palpite. Tenta alterar as configuração da interfaces. Deixar o link da tim por DHCP, assim ele ira pegar o gateway atribuído pela operadora.
http://informatica.anewvision.com.br/


4. Problemas no NAT com IPTABLES

Mauricio Costa
maucosta80

(usa Ubuntu)

Enviado em 14/09/2015 - 11:20h

Bom dia Amigo,

Obrigado pela resposta.
Então...não creio que seja esse o caminho. Já usei esse tipo de solução em appliances que tem o linux embarcado. Para mim foi muito estranho o linux não responder a requisição pela mesmo lugar que recebeu.
Usei o mangle para marcar o pacote na entrada e saída e, mesmo assim, não funcionou.
Alguém sabe com qual comando consigo visualizar o pacote marcado ?
Estou utilizando tcpdump -i eth0 |grep 0x2. 0x2 foi a marcação no pacote que fiz.


Grato,



5. Problemas no NAT com IPTABLES

Mauricio Costa
maucosta80

(usa Ubuntu)

Enviado em 21/09/2015 - 10:13h

Bom dia,

Com relação a este mesmo problema, tenho duvidas quando a encaminhamento de pacotes.
Meu firewall possui 4 redes distintas:
ETH0 LAN
ETH1 TIM INTERNET
ETH2 REDE PRIVADA
ETH3 VIVO

Tudo funciona normalmente até eu fazer a conexão pppoe da VIVO. Quando faço isso perco a rede local e a rede TIM. Coloco na mão uma rota para a rede local e o NAT que queria fazer para uma maquina interna funciona. O problema é que esse link é pequeno e só utilizo para esse nat, pois a VIVO tem ip fixo. Quando coloco uma rota para voltar a saida da TIM, o NAT para de responder.
Gostaria de saber se tem algum modo desse problema de perder as conexão com a rede local e a TIM não acontecer quando conecto o VIVO e o que posso fazer para não perder o nat quando volta a conexão TIM.

Grato




6. Re: Problemas no NAT com IPTABLES

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 21/09/2015 - 10:45h

Tive uma situação parecida com esta, no meu caso era com a openvpn.

Eu tenho 2 links sendo que todos os dois estão como rota default, porem os pacotes da openvpn que entravam pelo link2 tentavam sair pelo link1.
Tentei fazer o magle/ip rule , mas não consegui também, uma vez que os pacotes são originado no próprio servidor, acabei não entendo como fazer esta marcação. Para resolver tive que configurar minha openvpn (default udp) para trabalhar com tcp/ip.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts