Hola a todos.

Estoy pegandome con iptables con politica drop, pero no lo consigo
dominar. 
Tengo un equipo con Debian Sarge, dos interfaces haciendo de firewall de
toda la red. Est� conectaddo directamente al modem cable. No consigo
poder hacer la conexi�n a Internet. Si hago un "ping google.com" desde
el firewall o desde alg�n equipo de la red, me responde "unknown host
google.com".
S�lo necesito que los equipos puedan descargar el correo de un servidor
externo, usar msn y jabber, accder a Internet. Luego adem�s permitir el
acceso por ssh desde el exterior, redireccionando a la direcci�n del
server. Todo esto lo tengo hecho con otro scipt con pol�tica ACCEPT y
funciona.

 Os pego el script que he creado para la pol�tica drop. Si alguien me
puede ayudar lo agradecer�a mucho.

Saludos.
Pablo.

#!/bin/bash

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_LOG
                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 DROP
                #iptables -t nat -P POSTROUTING DROP
                #iptables -t nat -P PREROUTING DROP
                echo "hecho."
                
                #NAT
                echo -n "Activando NAT: "
                iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
                echo "hecho."
                
                #ICMP
                echo -n "Permitendo echo request: "
                iptables -A INPUT -i eth0 -p icmp -j ACCEPT
                iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT 
                echo "hecho."
                
                #Conexi�n a Internet.
                echo -n "Activando acceso a Internet: "
                iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state
ESTABLISHED -j ACCEPT
                iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state
NEW,ESTABLISHED -j ACCEPT
                iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state
ESTABLISHED -j ACCEPT
                iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state
NEW,ESTABLISHED -j ACCEPT
                echo "hecho."

                #ssh exterior al server.
                echo -n "Activando redireccionamiento conexi�n ssh al server: "
                iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -m state
--state NEW -j DNAT --to 192.168.0.2:22
                iptables -A FORWARD -i eth0 -p tcp --dport 22 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
                echo "hecho."
                
                #Conexi�n mail
                echo -n "Aceptando conexiones mail: "
                iptables -A INPUT -i eth0 -p tcp --sport 25 -m state --state
ESTABLISHED -j ACCEPT
                iptables -A OUTPUT -o eth0 -p tcp --dport 25 -m state --state
NEW,ESTABLISHED -j ACCEPT
                iptables -A INPUT -i eth0 -p tcp --sport 110 -m state --state
ESTABLISHED -j ACCEPT
                iptables -A OUTPUT -o eth0 -p tcp --dport 110 -m state --state
NEW,ESTABLISHED -j ACCEPT
                echo "hecho."

                #Cerrar 
                echo -n "Cerrando conexiones no necesarias: "
                iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP
                iptables -A FORWARD -i eth0 -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
                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

-- 

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente

Responder a