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