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!