NO LOGRO REDIRECCIONAR DNAT IPTABLES
fernando villarroel
bbddlinux en yahoo.es
Sab Dic 25 12:26:32 CLST 2004
Hola el asunto es el siguiente necesito redireccionar
las peticiones al puerto 3306 (MySQL) a un pc de la
LAN 192.168.1.4 que corre MySQL sobre un Win 98, El
servidor donde tengo el firewall es un Debian y su
Firewall es el siguiente:
#!/bin/sh
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -F INPUT
iptables -P INPUT DROP
iptables -F OUTPUT
iptables -P OUTPUT ACCEPT
iptables -F FORWARD
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
### Creamos chains de estado
/sbin/iptables -N allowed-connection
/sbin/iptables -F allowed-connection
/sbin/iptables -A allowed-connection -m state --state
ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A allowed-connection -m state --state
NEW -i ppp0 -p tcp --dport 3306 -j ACCEPT
/sbin/iptables -A allowed-connection -i ppp0 -p tcp -m
state --state NEW --dport www -j ACCEPT
/sbin/iptables -A allowed-connection -i ppp0 -p tcp -m
state --state NEW --dport smtp -j ACCEPT
/sbin/iptables -A allowed-connection -i eth1 -p tcp -m
state --state NEW --dport 995 -j ACCEPT
#Trafico que entra
/sbin/iptables -N allow-ssh-traffic-in
/sbin/iptables -F allow-ssh-traffic-in
/sbin/iptables -A allow-ssh-traffic-in -i ppp0 -p tcp
-m state --state NEW --dport ssh -j ACCEPT
/sbin/iptables -A allow-ssh-traffic-in -p tcp --sport
ssh -j ACCEPT
### Tráfico que sale
/sbin/iptables -N allow-ssh-traffic-out
/sbin/iptables -F allow-ssh-traffic-out
/sbin/iptables -A allow-ssh-traffic-out -p tcp --dport
ssh -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state NEW -o ppp0
-p TCP --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p ICMP --icmp-type 8
-j DROP
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.0/24 -i eth1 -j
ACCEPT
/sbin/iptables -A INPUT -s 192.168.0.0/16 -i vpn -j
ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 655 -j
ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p udp --dport 655 -j
ACCEPT
/sbin/iptables -A INPUT -j allow-ssh-traffic-in
/sbin/iptables -A INPUT -j allowed-connection
/sbin/iptables -A INPUT -s 0.0.0.0 -i ppp0 -p tcp
--dport 5432 -j DROP
/sbin/iptables -A INPUT -s 0.0.0.0 -i ppp0 -p udp
--dport 5432 -j DROP
/sbin/iptables -A INPUT -p TCP -m state --state NEW !
--syn -j DROP
/sbin/iptables -A INPUT -j LOG --log-prefix
"[iptables-test]"
echo "...VPN"
/sbin/iptables -A FORWARD -i ppp0 -o eth1 -d
192.168.1.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o ppp0 -s
192.168.1.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -i vpn -o eth1 -s
192.168.0.0/16 -d 192.168.1.0/24 -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o vpn -s
192.168.1.0/24 -d 192.168.0.0/16 -j ACCEPT
echo "...hecho"
/sbin/iptables -A FORWARD -o lo -j ACCEPT
#/sbin/iptables -A FORWARD -j allow-ssh-traffic-in
#/sbin/iptables -A FORWARD -j allowed-connection
/sbin/iptables -A FORWARD -i eth1 -j ACCEPT
/sbin/iptables -A FORWARD -i ppp0 -d 192.168.1.0/24 -j
ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24
-o ppp0 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -s 0.0.0.0/0 -p
tcp --dport 3306 -j DNAT --to-destination
192.168.1.4:3306
Les doy la tabla nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere
tcp dpt:www to:192.168.1.4:3306
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.1.0/24 anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
El problema es que no se por que no me lo redirecciona
al pc 192.168.1.4.
TAMBIEN PROBE LO SIGUIENTE:
/sbin/iptables -t nat -A PREROUTING -s 0.0.0.0/0 -p
tcp --dport 3306 -j REDIRECT --to 192.168.1.4:3306
En ese caso si hago una peticion en algun explorador a
midomonio.cl:3306 me dice:
La coneccion fue refusada, por lo menos algo me dice,
ya que si colo DNAT se que en espera de coneccion.
______________________________________________
Renovamos el Correo Yahoo!: ¡250 MB GRATIS!
Nuevos servicios, más seguridad
http://correo.yahoo.es
Más información sobre la lista de distribución Linux