Buenas, he usado tres articulos diferentes,   mas el howto de iptables 
para configurar mi firewall, al final a quedado algo parecido a lo que pongo al 
final.
        Me surgen algunas dudas, por ejemplo, la ultima regla: 
                        iptables -A INPUT -i eth0 -j DROP

        ...la he puesto con la intencion de que todo lo que entre por eth0 sea 
rechazado. Claro esta esto es la ultima regla y ya deja pasar lo que me 
interesa en las anteriores. Pero con esta regla, si hago un ping debian.org no 
me resuelve el nombre, sin embargo ping ip_debian no hay problema. Entonces... 
en que afecta esa regla en que no me resuelva nombres ???

        Por ultimo, he puesto esta otra regla: 
                        iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 
2022 -j DNAT --to 192.168.100.2:22

        ...para entrar directamente por ssh a un pc de mi lan. Pero al intentar 
hacerlo, el ssh me da un timeout. Hago un nmap -O mi_ip y el 2022 no esta a la 
escucha, puede ser por eso ??? Como lo pongo a la escucha ???

        Os pongo el script entero ya que seguro que necesitais saber del para 
ayudarme.
        P.D: es mi primir contacto con iptables, asi que 
sugerencias/consejos/criticas se agradece.

#!/bin/sh

#Borramos antiguas reglas del firewall
iptables -F INPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING

#Aceptamos todo lo que sale
iptables -P OUTPUT ACCEPT

#Habilitamos masquerading (para la lan que hay detras del server)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

#Aceptamos paquetes de conexiones ya establecidas
iptables -A INPUT -p TCP -m state --state RELATED -j ACCEPT
iptables -A INPUT -p TCP -m state --state ESTABLISHED -j ACCEPT

#Aceptamos paquetes ICMP
iptables -A INPUT -i eth0 -p ICMP -j ACCEPT

#Aceptamos conexiones al 53, 25,  y 110
iptables -A INPUT -i eth0 -p TCP --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth0 -p UDP --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 25 -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 110 -m state --state NEW -j ACCEPT


#Aceptamos conexiones al 22, 5901 y 6001 solo de una ip
iptables -A INPUT -i eth0 -p TCP --dport 22 -s XX.XX.XX.XX -m state --state NEW 
-j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 5901 -s XX.XX.XX.XX  -m state --state 
NEW -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 6001 -s XX.XX.XX.XX -m state --state 
NEW -j ACCEPT

#Redirecciono el 2022 hacia el puerto 22 de un pc de mi lan interna y lo loggeo
iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 2022 -j LOG --log-prefix 
"ssh_2022: "
iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 2022 -j DNAT --to 
192.172.10.25:22

#Rechazamos conexiones al 113, asi evitamos que expiren y tarden en responder 
algunos servicios.
iptables -A INPUT -i eth0 -p TCP --dport 113 -j REJECT

#Rechazamos paquetes de conexiones nuevas
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP

#Rechazamos paquetes de forwarding de conexiones no establecidas
iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP

#Rechazamos todo lo demas 
#iptables -A INPUT -i eth0 -j DROP


                Saludos.

Responder a