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.