El mié, 22-12-2004 a las 04:43 -0700, [EMAIL PROTECTED] escribió: > No se si ha llegado la anterior respuesta, asi que lo escribo de > nuevo. > > En el "Linux IP Masquerade HOWTO" describe que haciendo MASQ (que creo > que es lo que tu haces) no esta permitido hacer conexiones desde el > exterior si estas no estan iniciadas desde el interior. Pero, si no me > equivoco, creo que dice tambien que sí funcionará si se le asigna un > puerto específico, como creo que haces tú. Supongo que ya le habrás > echado un vistazo a este howto, no sé si te ayudará. En todo caso, tu > post a mí sí que me ayuda. Gracias por ello. > > Saludos. > > > > > On Wed Dec 22 2:04 , Pablo Braulio <[EMAIL PROTECTED]> sent: > > > > Hola. > Estoy intentando hacer que las conexiones entrantes por ssh se > redireccionen al equipo con IP 192.168.0.2. Para ello pongo la > regla > > iptables -t nat PREROUTING -i eth0 -p tcp --dport 22 -m state > --state > NEW -j DNAT --to 192.168.0.2:22 > > Pero no lo consigo. Al intentar hacer la conexión desde fuera, > se queda > esperando y luego "time out". > > Os pego el script. > > > #!/bin/bash > > IPTABLES=/sbin/iptables > # Interfaz conectada a internet > EXT="eth0" > # Interfaz conectada a la red interna > INT="eth1" > > case "$1" in > start) > > # Activamos el IP forwarding > echo -n "Activating IP Forwarding support: " > echo "1" > /proc/sys/net/ipv4/ip_forward > echo "done" > > # Eliminamos las reglas anteriores > echo -n "Deleting firewall rules: " > $IPTABLES -F > $IPTABLES -X > $IPTABLES -Z > $IPTABLES -t nat -F > echo "done" > > ## Establecemos politica por defecto > #echo -n "Política por defecto: " > $IPTABLES -P INPUT ACCEPT > $IPTABLES -P OUTPUT ACCEPT > $IPTABLES -P FORWARD ACCEPT > echo "done" > > echo -n "Activating NAT: " > $IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -d > 0.0.0.0/0 -o $EXT -j MASQUERADE > echo "done" > > echo -n "Activating ICMP echo request: " > $IPTABLES -A INPUT -i $INT -p ICMP -j ACCEPT > echo "done" > > echo -n "Setting firewall port rules: " > > # 21: ftp > #$IPTABLES -A INPUT -i $EXT -p TCP --dport 21 -m state > --state NEW -j ACCEPT > #$IPTABLES -A INPUT -i $EXT -p TCP --dport 2100 -m state > --state NEW -j ACCEPT > > # 22: ssh > $IPTABLES -t nat -A PREROUTING -i $EXT -p TCP --dport 22 > -m state --state NEW -j DNAT --to 192.168.0.2:22 > > > #telnet > $IPTABLES -A INPUT -i $INT -p TCP --dport 23 -m state > --state NEW -j > ACCEPT > > # 25: smtp > #$IPTABLES -A INPUT -i $EXT -p TCP --dport 25 -m state > --state NEW -j ACCEPT > > # 80: apache > #$IPTABLES -A INPUT -i $EXT -p TCP --dport 80 -m state > --state NEW -j ACCEPT > > #Impedimos entrada a la red. > #$IPTABLES -A OUTPUT -o $INT -j DROP > > echo "done" > > echo -n "Final approach: " > # Aceptamos paquetes de una conexión ya establecida > $IPTABLES -A INPUT -p TCP -m state --state RELATED -j > ACCEPT > > # Rechazamos los de conexiones nuevas > $IPTABLES -A INPUT -i $EXT -m state --state NEW,INVALID > -j DROP > > # Rechazamos conexiones de forwarding no establecidas > $IPTABLES -A FORWARD -i $EXT -m state --state > NEW,INVALID -j DROP > > echo "done" > ;; > > stop) > echo -n "Stopping firewall: " > $IPTABLES -F INPUT > $IPTABLES -F OUTPUT > $IPTABLES -F FORWARD > $IPTABLES -F > $IPTABLES -t nat -F > echo "done" > ;; > > restart) > $0 stop > echo -n "Sleeping a few seconds before setting the rules > again: " > sleep 2 > echo "done" > $0 start > ;; > > status) > $IPTABLES -L > $IPTABLES --table nat --list --exact --verbose --numeric > --line-numbers > ;; > > *) > echo "Usage: $0 {start|stop|restart|status}" > exit 1 > esac > exit 0 > > > ¿Alguna ayuda, por favor? > Gracias a todos. > > -- > Saludos. > > Pablo Braulio. > > Linux user number 354599 > Fingerprint: F8C9 58DB 89A2 1522 D9C9 28F9 4A2D 7C25 0CD9 0907 > > > El ladrón mas temido es aquel que roba silenciosamente. > No descuides tu privacidad. > ¡Invierte en tu seguridad! > > > Seguramente entiendo mal. Y contesto a otra cosa. vos queres que las conexiones a tu firewall/server por ssh puerto 22 se redireccionen a la maquina que tenes escuchando en ese puerto? por eje todo lo que entre a la 200.xxx.xxx.xxx puerto 22 pasa a la 192.168.0.1 (misma maquina, placa de red interna) y de ahi lo manda al 22 de ponele 192.168.0.8, no se sí esta bien depaso llamo a alguien que sepa y me corrija esto es lo que hice yo:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.0.8:22 despues la cadena de forward iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 192.168.0.8 --dport 22 -m state --state NEW -j ACCEPT y con eso anduvo, entra por el firewall redirecciona el 22 a otra maquina, todos felices. si cambias el puerto arriba te ahorras el forward. si no me equivoco yo postee un mail a la lista contestandome solo esa pregunta. Ahh si en la máquina que corre el servicio tenes fw iptables -A INPUT -s 0/0 -p tcp --dport 22 -m state --state NEW -j ACCEPT Saludos. -- Javi. Linux registered number 354635 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]