Problema com redirect em Iptables
Não estou conseguindo fazer meu servidor de Firewall (Debian+Iptables) realizar um redirect.
Script que roda na inicialização:
Código :
#!/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:
Código :
root@lm-firewall:~/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
Código :
felipe@macafe:~$ telnet 10.1.1.4 9000
Trying 10.1.1.4...
2. No firewall chega o request
Código :
root@lm-firewall:/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
Código :
cardoso@lm-devel:/var/log/apache2$ tail -f access.log error.log cardoso/access.log cardoso/error.log
10.1.1.4 - - [16/Apr/2008:09:50:47 -0300] "\x1bquit" 200 9749 "-" "-
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?