iptables dnat no me funciona
Enrique Herrera Noya
quiquetux en gmail.com
Lun Dic 27 14:03:23 CLST 2004
fernando villarroel escreveu:
> Hola llevo varios dias tratando de redireccionar algun
> servicio determinado a un PC dentro de la LAN, he
> probado dejando todo en ACCEPT, probando con un puerto
> y otro, pero no lo consigo.
>
> Mi configuracion de internet es ppp para lo cual uso
> un servidor debian que hace de gateway para dar salida
> a Internet al resto de la LAN, mis interfaces son:
>
> ppp0 interfaz a internet
> eth1 interfaz a la LAN.
>
> Lo que estoy probando ahora es que el PC 192.168.1.4,
> preste servicio www, es un Linux Debian corriendo
> apache.
>
> El script IPTABLES es el siguiente:
>
#!/bin/sh
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -F INPUT
¿por que pusistes esto aqui, si ya lo habias hecho en la primera linea?
iptables -P INPUT DROP
iptables -F OUTPUT
idem
iptables -P OUTPUT ACCEPT
iptables -F FORWARD
idem
iptables -P FORWARD DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
hasta aqui pr defecto has dejado OUTPUT y nat por defecto abiertos
iptables -A FORWARD -i ppp0 -o eth1 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT
--to-destination 192.168.1.4:80
te falta para conecciones nuevas....
yo lo haria asi:
#!/bin/sh
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -F FORWARD DROP
iptables -t nat -P PREROUTING DROP
iptables -t nat -P POSTROUTING DROP
echo 1 > /proc/sys/net/ipv4/ip_forward
# abro segun necesito...
iptables -A FORWARD -i ppp0 -o eth1 -m state --state NEW -j ACCEPT
# si es nueva la coneccion TAMBIEN la acepto
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED
-j ACCEPT
# si ya habia coneccion TAMBIEN la acepto
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT
--to-destination 192.168.1.4:80
prueba con esto ejecutandolo en consola para ver que te dice
> Me dice que la coneccion fue refusada, asi he probado
> tambien combiando al puerto ssh, en este caso funciona
> pero me atiende el servidor gateway y no el pc que yo
> le indique en PREROUTING.
>
> Que puedo hacer, como puedo chequear donde esta
> fallando o faltando algo.
>
> Aca hay un LOG que me arroja IPTABLES
>
> Dec 27 11:56:41 woody kernel: [iptables-test]IN=ppp0
> OUT= MAC= SRC=222.97.xxx.xxx DST=200.xxx.xx.106 LEN=48
> TOS=0x00 PREC=0x00 TTL=103 ID=34671 DF PROTO=TCP
> SPT=2204 DPT=1080 WINDOW=65535 RES=0x00 SYN URGP=0
>
> Fernando Villarroel
>
>
>
> ______________________________________________
> 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