[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Ayuda con iptables, por favor.



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


Reply to: