Problema com redirect em Iptables [RESOLVIDO]

1. Problema com redirect em Iptables [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/04/2008 - 11:02h

Não estou conseguindo fazer meu servidor de Firewall (Debian+Iptables) realizar um redirect.

Script que roda na inicialização:


#!/bin/bash

# Ativa modulos
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE

# Proteção contra IP Spoofing
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 >$i
done

# Redirecionamento de pacotes (requerido para NAT)
echo "1" >/proc/sys/net/ipv4/ip_forward

# Limpa tudo
iptables -F
iptables -F -t nat

# Tabela filter
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT

# Conexoes estabelecidas
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Aceita trafego vindo de loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

# Autoriza SSH, O Fail2Ban realiza a regra de Brute-Force
iptables -A INPUT -p tcp --dport 9876 -j ACCEPT

# Redirect
iptables -t nat -A PREROUTING -p tcp --dport 9000 -j LOG
iptables -t nat -A PREROUTING -p tcp --dport 9000 -j DNAT --to 10.1.1.5:80
Do servidor de firewall consigo conectar no destino:


[email protected]:~/iptables# telnet 10.1.1.5 80
Trying 10.1.1.5...
Connected to 10.1.1.5.
Escape character is '^]'.
^[quit
Debug:

1. Da minha máquina tento abrir Telnet no firewall na porta 9000 sem sucesso


[email protected]:~$ telnet 10.1.1.4 9000
Trying 10.1.1.4...
2. No firewall chega o request


[email protected]:/home/cardoso# tail -f /var/log/syslog; tail -f /var/log/fail2ban.log
Apr 16 09:52:24 lm-firewall kernel: IN=eth0 OUT= MAC=00:40:63:d9:2a:a1:00:1b:77:4a:a6:6a:08:00 SRC=10.1.1.28 DST=10.1.1.4 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=6562 DF PROTO=TCP SPT=43026 DPT=9000 WINDOW=5840 RES=0x00 SYN URGP=0
3. E não chega nada no Apache do destino, porém uma hora chegou algo como o abaixo

Para entenderem melhor meu ambiente:

10.1.1.1 -> Gateway
10.1.1.4 -> Servidor Debian (Firewall)
10.1.1.5 -> Servidor Debian (Devel)
10.1.1.28 -> Desktop Ubuntu

Alguém sabe me indicar uma forma de fazer isto funcionar? Pois preciso colocar para o router redirecionar todo tráfego de chegada de 2 links para o firewall tratar e mandar para o servidor correto dependendo da porta.

Como posso debugar isto?


  


2. MELHOR RESPOSTA

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 16/04/2008 - 11:42h

ve se o teu cenário não se encaixa com o que eu descrevi neste topico:

http://www.vivaolinux.com.br/comunidades/verTopico.php?codigo=40&codtopico=11748


Pelo que vi pelos teus IPS o cenário é exatemente o que descrevi. Entendeste porque não funciona?

Um paleativo (GAMBIARRA) é fazer mascaramento do IP (duplo nat). É ruim, pois no servidor todas as requisições virão SEMPRE do IP DO FIREWALL, mas se tu pode cruzar os logs do servidor com o log do firewall.

Para contornar este problema, ALÉM DAS REGRAS QUE JÁ TENS, insira esta:

iptables -t nat -A POSTROUTING -p tcp --dport 80 -s 10.1.1.0/24 -d 10.1.1.5 -j MASQUERADE

Assim tu vais estar trocando para o IP do firewall se o origem for rede Interna. Desta forma a resposta virá para o firewall que irá desfazer o nat.

VEJA QUE EU NÃO TESTEI ISTO porque não tenho o teu cenário.

Por favor, coloca ai se funcionou.

[]'s

3. Re: Problema com redirect em Iptables [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/04/2008 - 12:27h

elgio, muito obrigado pela ajuda!

funcionou corretamente e realmente apreendi o motivo do qual não funcionava.

obrigado pela força novamente.


4. Re: Problema com redirect em Iptables [RESOLVIDO]

Emmanuel Tavares F Affonso
neltavares

(usa Slackware)

Enviado em 25/03/2011 - 14:25h

Boa tarde
Elgio, super bem explicado no outro topico.
Só que apareceu uma dúvida, isso foi um teste que fiz recente.
tenhu um roteador 192.168.20.254 (a unica regra eh um MASQUERADE)na eth0 e na eth1 tenhu varios IP como 192.168.6.190 e 192.168.13.200.
A rede 192.168.6.0 está ligada direto e a outra é uma filial que esta ligada atraves de antenas.
No host 192.168.6.254 tem acesso a internet e o 192.168.13.254 também.
Como faria para a maquina 192.168.20.100 navegar atraves do 192.168.6.254 e a maquina 192.168.20.50 navegar pela 192.168.13.254 ??? Lembrando que o gateway da rede 192.168.20.0 é o 192.168.20.254.

(Obs. a rede 20 é o dep. de informatica, ele conhece todas as redes, mas ninguem ve a rede 20)

Obrigado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts