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

Problemita con mi Script para Firewall/Iptables



Hola a todos!

Tengo un problema con el siguiente script que escribi para hacer un
firewall a mi red. Todo funciona perfecto a excepcion de que los
computadores de la red no pueden ver la pagina web que esta en el
mismo server de la red. Es decir, si dan www.pagina.com, o
*.pagina.com, no pueden ver nada.

La red esta organizada asi:

Firewall Recibe conexion a internet por una ethernet
Firewall Comparte la conexion por la otra ethernet a un hub, 192.168.1.1
Server   192.168.1.2
Clientes 192.168.1. >3

El script de iptables que hice fue el siguiente:

#! /bin/sh
# Firewall IPTABLES for Global
# Author:	Alex Barrios
#		<alexertec@gmail.com>.
#
# Version:	@(#)fire-wall  1.1  10-Abrl-2005  alexertec@gmail.com
#

###
# Localizacion de iptables
#
IPTABLES="/sbin/iptables"

###
# Configuracion Internet
#
INET_IP="200.XX.XXX.XXX"
INET_IFACE="eth0"

###
# Configuracion red Local
#
LAN_IP="192.168.1.1"
LAN_IP_RANGE="192.168.1.0/24"
LAN_BCAST_AD="192.168.1.255"
LAN_IFACE="eth1"

###
# Configuracion del LocalHost
#
LO_IFACE="lo"
LO_IP="127.0.0.1"


###
# Funcion de inicio del servicio
#
d_start() {
	###
	# Borra las Reglas Anteriores
	########
	$IPTABLES -F
	$IPTABLES -X
	$IPTABLES -Z
	$IPTABLES -t nat -F


	###
	# Politicas predeterminadas para input, forward y output
	########
	$IPTABLES -P INPUT DROP
	$IPTABLES -P OUTPUT ACCEPT
	$IPTABLES -P FORWARD DROP     #drop


	###
	# Regla para el NAT enmascarado. La ip puede ser dinamica
	########
	$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE


	###
	# Activado el Forwarding de paquetes
	# (fue ativado en el boot, ver /etc/network/options)

	
	###
	# Regla para tcp_bad packets
	########
	$IPTABLES -N bad_tcp_packets
#	$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j
LOG --log-prefix "New not syn:"
	$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP


	###
	# Checkeo de las posibles ip's spoffeadas
	########
	$IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 192.168.1.0/16 -j DROP
	$IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 192.168.0.0/16 -j DROP
	$IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 10.0.0.0/8 -j DROP
	$IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 172.16.0.0/12 -j DROP


	###
	# Bloquea el reenvio de tcp no deseados # #
	########
	$IPTABLES -A FORWARD -p ALL -s $LAN_IP -j ACCEPT
	$IPTABLES -A FORWARD -p ALL -s $INET_IP -j ACCEPT
	$IPTABLES -A FORWARD -p ALL -j bad_tcp_packets


	###
	# Reglas para el Forward de paquetes
	########
	$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -m state --state
ESTABLISHED,RELATED -j ACCEPT
	$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG
--log-prefix "IP FORWARD PACKET DIED:"
	$IPTABLES -A FORWARD -i $INET_IFACE -m state --state NEW,INVALID -j DROP
	


	###
	# Redireccionado de paquetes DNAT, FTP, WEB, MAIL, Tomcat y DNS
	########
	# Web
	$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 80 -j DNAT
--to 192.168.1.2:80
	# FTP
	$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 20 -j DNAT
--to 192.168.1.2:20
	$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 21 -j DNAT
--to 192.168.1.2:21
	# Tomcat
	$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 8080 -j
DNAT --to 192.168.1.2:8080
	# DNS
	$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 53 -j DNAT
--to 192.168.1.2:53
	# POP & STMP
	$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 25 -j DNAT
--to 192.168.1.2:25
	$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 110 -j DNAT
--to 192.168.1.2:110
	


	###
	# Reglas para paquetes TCP y UDP
	########
	$IPTABLES -N tcp_packets
	$IPTABLES -N udpincoming_packets


	###
	# Reglas para aceptar conexiones TCP
	########
	$IPTABLES -N allowed
	$IPTABLES -A allowed -p TCP --syn -j ACCEPT
	$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
	$IPTABLES -A allowed -p TCP -j DROP


	###
	# Conexion ssh con el firewall
	########
	$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j  allowed


	###
	# Reglas para input tcp no desseados provenientes de internet
	########
	$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
	$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
	$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets


	###
	# Reglas para la LAN, loopback y la interfaz del ISP
	########
	$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_AD -j ACCEPT
	$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
	$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
	$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
	$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
	$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state
ESTABLISHED,RELATED -j ACCEPT
	$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG
--log-level DEBUG --log-prefix "IP INPUT PACKET DIED: "


	###
	# Regla OUTPUT Tcp no Deseados
	########
	$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets


	###
	# Reglas Output para decir las ip's que se aceptan
	########
	$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
	$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
	$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
	

	###
	# Log de paquetes que no pertenecen a las reglas anteriores
	########
	$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG
--log-level DEBUG --log-prefix "IP OUTPUT PACKET DIED: "
	
	
	###
	# Imprime que arranco el Script (establecimiento de reglas)
	########
	echo "Iniciado Firewall Linux (Iptables)......"
}

###
# Funcion que detiene el servicio 
#
d_stop() {
	###
	# Borrado de todas las reglas, detiene todo a nivel de red
	#
	$IPTABLES -F
	$IPTABLES -X
	$IPTABLES -Z
	$IPTABLES -t nat -F
	
	###
	# Imprime que se detuvo el script (borrado de reglas)
	#
	echo "Detenido Firewall Linux (Iptables)......."
}

case "$1" in
  start)
	d_start
	;;
  stop)
	d_stop
	;;

esac

exit 0



Cual sera mi problema?¿

Cualquier sugerencia para cambiarlo, corregirlo o mejorarlo es bienvenida!

Saludos y gracias de antemano!



-- 
----------------------------------------------------------------
 ! ..::'''AleXerTecH'''::.. ! ! 
-----------------------------------------------------------------
( o <  -! Debian Sarge _ kernel:2.6.8-2-K7
/ /\
V_/_  Usuario linux registrado #383172



Reply to: