-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola a todos.
Perdonar que os de la lata pero es que he modificado mi script de iptables para redirigir un servicio a una máquina de la LAN y no consigo que funcione. No entiendo el porque, pues lo he tenido funcionando y ahora no consigo dar con la regla adecuada. Lo que pretendo es redirigir un puerto en el firewall para ssh (distinto al 22) y que lo mande a una máquina de la lan al puerto 22, para que este atienda la petición ssh. El servidor ssh de la lan, funciona perfectamente. Lo he probado desde dentro de la lan. Pero si intento acceder desde fuera no lo consigo. Veréis en el script que la regla que maneja ese servicio se llama "server-freenx". Realmente lo que quiero es poder acceder desde fuera con un servicio de freenx, pero como este usa ssh para la conexión, pues por eso abro ssh. Os pego el script. Perdon por lo largo que es. - ------------------------------- #!/bin/bash I_EXT=eth0 I_LAN=eth1 I_DMZ=eth2 I_VPN=tun0 LAN=192.168.1.0/24 FIREWALL=192.168.1.X PABLOPORTATIL=192.168.1.X BRULI=192.168.1.X case "$1" in start) #Limpieza de reglas. echo -n "Limpiando reglas iptables: " iptables -F iptables -X iptables -Z iptables -t nat -F echo "hecho." #Cargando modulos. echo -n "Cargando modulos: " /sbin/depmod -a modprobe ip_tables modprobe ip_conntrack modprobe iptable_filter modprobe iptable_nat modprobe ipt_state modprobe ipt_MASQUERADE modprobe ipt_REDIRECT modprobe ipt_ULOG modprobe tun echo "hecho." #Forwarding. echo -n "Activando forwarding: " echo "1"> /proc/sys/net/ipv4/ip_forward echo "hecho." #Política por defecto. echo -n "Aplicando política: " iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD ACCEPT #iptables -t nat -P PREROUTING DROP #iptables -t nat -P POSTROUTING DROP echo "hecho." #NAT echo -n "Enmascarando la LAN y redirección proxy: " iptables -t nat -A PREROUTING -i $I_LAN -p tcp -s $LAN --dport 80 -j REDIRECT --to-port 3128 iptables -t nat -A POSTROUTING -s $LAN -o $I_EXT -j MASQUERADE echo "hecho." #Interfaz lo. echo -n "Activando interfaz lo: " iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT echo "hecho." #Reglas. echo -n "Creando nuevas reglas: " iptables -N ext-lan iptables -N ext-firewall iptables -N lan-ext iptables -N lan-firewall iptables -N firewall-lan iptables -N firewall-ext iptables -N server-web iptables -N server-mail iptables -N server-ssh iptables -N server-freenx iptables -N server-ssl iptables -N bloq-scan iptables -N flags-tcp iptables -N openvpn echo "hecho." # ---------------------------------- echo "Aplicando reglas de seguridad: " echo -n "--Definiendo regla blog-scan: " iptables -A bloq-scan -j DROP echo "hecho." echo -n "--Bloqueando y logeando escaneos NMAP-XMAS: " iptables -A flags-tcp -p tcp --tcp-flags ALL FIN,URG,PSH -m limit - --limit 5/minute -j ULOG --ulog-nlgroup 1 --ulog-prefix "NMAP_XMAS_SCAN: " iptables -A flags-tcp -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP echo "hecho." echo -n "--Bloqueando y logeando escaneos SYN/RST: " iptables -A flags-tcp -p tcp --tcp-flags SYN,RST SYN,RST -m limit - --limit 5/minute -j ULOG --ulog-nlgroup 1 --ulog-prefix "SYN/RST_SCAN:" iptables -A flags-tcp -p tcp --tcp-flags SYN,RST SYN,RST -j DROP echo "hecho." echo -n "--Bloqueando y logeando escaneos SYN/FIN: " iptables -A flags-tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit - --limit 5/minute -j ULOG --ulog-nlgroup 1 --ulog-prefix "SYN/FIN_SCAN:" iptables -A flags-tcp -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP echo "hecho." echo -n "--Bloqueando y logeando escaneos PSH/FIN: " iptables -A flags-tcp -p tcp --tcp-flags PSH,FIN PSH,FIN -m limit - --limit 5/minute -j ULOG --ulog-nlgroup 1 --ulog-prefix "PSH/FIN_SCAN:" iptables -A flags-tcp -p tcp --tcp-flags PSH,FIN PSH,FIN -j DROP echo "hecho." echo -n "--Bloqueando y logeando el NULL SCAN: " iptables -A flags-tcp -p tcp --tcp-flags ALL NONE -m limit --limit 5/minute -j ULOG --ulog-nlgroup 1 --ulog-prefix "NULL_SCAN:" iptables -A flags-tcp -p tcp --tcp-flags ALL NONE -j DROP echo "hecho." echo -n "--Activando protección anti smurf: " echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo "hecho." echo -n "--Activando protección contra source route spoofing: " echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route echo "hecho." echo -n "--Registrando direcciones marcianas: " echo 1 >/proc/sys/net/ipv4/conf/all/log_martians echo "hecho." #------------------------------------- echo "Iniciando reglas de redirecciones:" echo -n "--Puerto openvpn: " iptables -A INPUT -i $I_EXT -p udp --dport 1194 -j openvpn iptables -A OUTPUT -o $I_EXT -p udp --sport 1194 -j openvpn iptables -A INPUT -i $I_VPN -j openvpn iptables -A OUTPUT -o $I_VPN -j openvpn iptables -A FORWARD -i $I_VPN -j openvpn iptables -A openvpn -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A openvpn -j ULOG --ulog-nlgroup 1 --ulog-prefix "OPENVPN:" iptables -A openvpn -j DROP echo "hecho." echo -n "--Redirección freenx: " iptables -t nat -A PREROUTING -i $I_EXT -p tcp --dport 1200 -m state - --state NEW,ESTABLISHED,RELATED -j DNAT --to $BRULI:22 iptables -A FORWARD -i $I_EXT -p tcp -d $BRULI --dport 22 -j server-freenx iptables -A FORWARD -o $I_EXT -p tcp -s $BRULI --sport 22 -j server-freenx iptables -A server-freenx -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A server-freenx -j ULOG --ulog-nlgroup 1 --ulog-prefix "SERVER-FREENX:" iptables -A server-freenx -j DROP echo "hecho." echo -n "--Redirección ssh: " iptables -A INPUT -i $I_EXT -p tcp --dport 1060 -j server-ssh iptables -A OUTPUT -o $I_EXT -p tcp --sport 1060 -j server-ssh iptables -A server-ssh -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A server-ssh -j ULOG --ulog-nlgroup 1 --ulog-prefix "SERVER-SSH:" iptables -A server-ssh -j DROP echo "hecho." # ------------------------------------- echo "Introduciendo valores y políticas a las reglas: " echo -n "--Regla ext-lan: " iptables -A FORWARD -i $I_EXT -o $I_LAN -j ext-lan iptables -A ext-lan -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A ext-lan -j ULOG --ulog-nlgroup 1 --ulog-prefix "EXT->LAN:" iptables -A ext-lan -j DROP echo "hecho." echo -n "--Regla ext-firewall: " iptables -A INPUT -i $I_EXT -j ext-firewall iptables -A ext-firewall -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A ext-firewall -j ULOG --ulog-nlgroup 1 --ulog-prefix "EXT->FIREWALL:" iptables -A ext-firewall -j DROP echo "hecho." echo -n "--Regla lan-ext: " iptables -A FORWARD -i $I_LAN -o $I_EXT -j lan-ext iptables -A lan-ext -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A lan-ext -j ULOG --ulog-nlgroup 1 --ulog-prefix "LAN->EXT:" iptables -A lan-ext -j DROP echo "hecho." echo -n "--Regla lan-firewall: " iptables -A INPUT -i $I_LAN -j lan-firewall iptables -A lan-firewall -s $LAN -d $FIREWALL -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A lan-firewall -j ULOG --ulog-nlgroup 1 --ulog-prefix "LAN->FIREWALL:" iptables -A lan-firewall -j DROP echo "hecho." echo -n "--Regla firewall-lan: " iptables -A OUTPUT -o $I_LAN -j firewall-lan iptables -A firewall-lan -s $FIREWALL -d $LAN -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A firewall-lan -j ULOG --ulog-nlgroup 1 --ulog-prefix "FIREWALL->LAN:" iptables -A firewall-lan -j DROP echo "hecho." echo -n "--Regla firewall-ext: " iptables -A OUTPUT -o $I_EXT -j firewall-ext iptables -A firewall-ext -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A firewall-ext -j ULOG --ulog-nlgroup 1 --ulog-prefix "FIREWALL->EXT:" iptables -A firewall-ext -j DROP echo "hecho." # -------------------------------------- ##Cerrar #Conexiones no necesarias. echo -n "Cerrando conexiones no necesarias: " iptables -A INPUT -i $I_EXT -m state --state NEW,INVALID -j DROP iptables -A OUTPUT -o $I_EXT -m state --state NEW,INVALID -j DROP iptables -A FORWARD -i $I_EXT -m state --state NEW,INVALID -j DROP echo "hecho." ;; stop) echo -n "Parando el firewall: " iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -F iptables -t nat -F iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT echo "hecho." ;; restart) $0 stop echo -n "Reiniciando el firewall: " sleep 2 $0 start echo "hecho." ;; status) iptables -L -n ;; *) echo "usar: $0 {start|stop|restart|status}" exit 1 esac exit 0 - ---------------- Espero que me podáis ayudar. - -- < ¡¡Nos vemos!! > ---------------------------- \ \ .::!!!!!!!:. .!!!!!:. .:!!!!!!!!!!!! ~~~~!!!!!!. .:!!!!!!!!!UWWW$$$ :$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P $$$$$##WX!: .<!!!!UW$$$$" $$$$$$$$# $$$$$ $$$UX :!!UW$$$$$$$$$ 4$$$$$* ^$$$B $$$$\ $$$$$$$$$$$$ d$$R" "*$bd$$$$ '*$$$$$$$$$$$o+#" """" """"""" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGufU5K7lGsMchFswRAj/LAJ9T2pkwJIaLgjOcpYcIwfiwTacauACgtQfM w/SxrAIZKXKA4QpxjLnMOH0= =1G3T -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]