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
--
signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente

