Re: Redireccion de ssh con iptables.
$IPTABLES -t nat -A PREROUTING -i $EXT -p TCP --dport 22 -m state --state NEW -j DNAT --to 192.168.0.2:22 Yo quitaría el -m state --state NEW. Lo pondría en las reglas del FORWARD. Pera claro, estás aceptando todo, ¿no? Yo pondría por defecto todo a DROP y habilitaría las salidas y entradas que quiero, controlando quién abre la conexión y mirando paquetes mal formados. Pero sobre gustos... Pues eso. Suerte. CARLOS. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Redireccion de ssh con iptables.
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
Redireccion de ssh con iptables.
Investigando un poco (fuente: "Linux Server Hacks", libro de O'Reilly, facilmente obtenible desde emule), dice: " La regla siguiente se puede usar para enviar peticiones HTTP a un sistema (10.0.0.3) de la red interna: #Use DNAT to port forward http iptables -t nat -A PREROUTING ! -i $INT_IFACE -p tcp --destination-port 80 -j DNAT --to 10.0.0.3:80 Esto solo funcionará si la red destino está directamente conectada (o sea, no está en redes remotas). Echa un vistazo a rinetd o nportredird si necesitas hacer forwarding desde redes remotas. " Y, echando un vistazo a rinetd (http://www.boutell.com/rinetd/), dice que es tan sencillo comoponer [Source Address] [Source Port] [Destination Address] [Destination Port] Permitiendosesentencias como 0.0.0.0 80 my.server.es 80 216.218.203.211 22 10.0.0.3 22 Creo que esta solucion podria serte util. On Wed Dec 22 4:43 , [EMAIL PROTECTED] sent: 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!
Redireccion de ssh con iptables.
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! signature.asc Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente
Redireccion de ssh con iptables.
Desconozco si es tu caso, porque estos dias estoy solo empezando con el tema de iptables. De hecho, quiero hacer NAT o mejor dicho, IP MASQ segun lo llaman en el "IP Masquerade HOWTO" y a lo mejor me vale con este post tuyo. Una de las cosas que dice en este HOWTO es que las conexiones desde el exterior no estan permitidas si no son iniciadas desde el interior, pero creo que tambien habla de una excepcion, que es cuando se asigna un puerto especifico, que es lo que creo que tu haces. Asi que te digo esto por si te vale de algo, estando casi seguro de que ya lo sabias. 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!
Redireccion de ssh con iptables.
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!
Redireccion de ssh con iptables.
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!
Redireccion de ssh con iptables.
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!
Redireccion de ssh con iptables.
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!