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

script de reglas iptables - proxy transparente - bloqueo p2p - drop defecto



Saludos...
Amigos tengo un enlace  ADSL 1200/256kps, en un router xyzel que tiene dhcp con mis pcs clientes osea una red 192.168.1.0/24, pero por problemas de saturación y el odiado ares, mi ancho de banda anda de malas muy bajo...
entonces instale el linux en un equipo, dos tarjetas de red eth0 192.168.1.101 conectada al router que te saca a internet y la eth1 192.168.10.1 directa a mi switch de mi lan, configure el squid y trabaja ok, como proxy normal, pero no solo quiero eso.
La idea es tener un proxy transparente y tener la politica drop por defecto, para asi optimizar mi banda y bloquear las redes p2p, busca y busca en internet de aporte en aporte, pude tener este script, ya corre bien el script en el centos, pero las pcs no acceden a internet se muestra este error:

ERROR
The requested URL could not be retrieved

While trying to retrieve the URL: /

The following error was encountered:

    * Invalid URL

Some aspect of the requested URL is incorrect. Possible problems:

    * Missing or incorrect access protocol (should be `http://'' or similar)
    * Missing hostname
    * Illegal double-escape in the URL-Path
    * Illegal character in hostname; underscores are not allowed

Your cache administrator is root.
Generated Wed, 18 Apr 2007 04:31:31 GMT by server.infonet.polcrito (squid/2.5.STABLE6)


########################################
############# SCRIPT DE REGLAS

echo "DETENEMOS EL SERVICIO DE FIREWALL ..."
/sbin/service iptables stop

echo "DECLARAMOS LA VARIABLES INICIAL DEL ENTORNO ..."
iptables="/sbin/iptables"

echo "COMENZAMOS BORRANDO TODAS LAS REGLAS ACTUALES ..."
$iptables -F
$iptables -t nat -F
##$iptables -X
##$iptables -Z

echo "CARGAMOS LOS MODULOS PRINCIPALES DEL KERNEL ..."
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_nat_irc
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe iptable_nat

echo " APLICANDO REGLAS DE SEGURIDAD ELEMENTALES ..."
# Quitamos los pings.
/bin/echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
# No respondemos a los broadcast.
/bin/echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Otros
/bin/echo 1 > /proc/sys/net/ipv4/tcp_syncookies
/bin/echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# El Ip Forwarding
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
# Para usuarios con IP dinamica
/bin/echo 1 > /proc/sys/net/ipv4/ip_dynaddr

echo "Estableciendo Politica por Defecto (DENEGAR)..."
$iptables -P INPUT DROP
$iptables -P OUTPUT DROP
$iptables -P FORWARD DROP

echo " COMENZAMOS CON LAS REGLAS ... "
# Permitimos la comunicación con el servidores dns
$iptables -A INPUT -p UDP --dport 53 -j ACCEPT
$iptables -A INPUT -p TCP --dport 53 -j ACCEPT

# Permitimos todo el trafico de la LAN
$iptables -A INPUT -s 192.168.10.0/24 -j ACCEPT

# Habilito el NAT
$iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -d 0.0.0.0/0 -j MASQUERADE

# Dejo pasar los paquetes ICMP
$iptables -A INPUT -i eth0 -p ICMP -j ACCEPT

# Acepto paquetes de conexiones ya establecidas
$iptables -A INPUT -p TCP -m state --state RELATED -j ACCEPT

# 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

echo "Tener abierto el localhost sin limitaciones..."
$iptables -A INPUT -i lo -j ACCEPT
$iptables -A OUTPUT -o lo -j ACCEPT

echo "A la PC de Polcrito le dejamos todo...."
$iptables -A INPUT -s 192.168.1.7 -j ACCEPT
$iptables -A OUTPUT -d 192.168.1.7 -j ACCEPT

# Permitimos la consulta a un primer DNS
$iptables -A INPUT -s 200.48.225.130 -p udp -m udp --sport 53 -j ACCEPT
$iptables -A OUTPUT -d 200.48.225.130 -p udp -m udp --dport 53 -j ACCEPT
# Permitimos la consulta a un segundo DNS
$iptables -A INPUT -s 200.48.225.146 -p udp -m udp --sport 53 -j ACCEPT
$iptables -A OUTPUT -d 200.48.225.146 -p udp -m udp --dport 53 -j ACCEPT

echo " Habilitamos el trafico sobre la interface eth1(LAN Interna)"
$iptables -A FORWARD -i eth1 -j ACCEPT
$iptables -A FORWARD -s 192.168.10.0/24 -p tcp --dport 80 -j ACCEPT
$iptables -A INPUT -i eth1 -j ACCEPT
$iptables -A OUTPUT -o eth1 -j ACCEPT
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

echo " Redireccionamos las peticiones de www hacia Squid Proxy"
$iptables -t nat -A PREROUTING -i eth1 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

echo " Lo que salga al Exterior lo hara a traves de la IP 192.168.1.101"
$iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 192.168.1.101

echo " Bloqueando conexiones hacia ICMP no validas"
echo ""
$iptables -I INPUT -p icmp --icmp-type redirect -j DROP
$iptables -I INPUT -p icmp --icmp-type router-advertisement -j DROP
$iptables -I INPUT -p icmp --icmp-type router-solicitation -j DROP
$iptables -I INPUT -p icmp --icmp-type address-mask-request -j DROP
$iptables -I INPUT -p icmp --icmp-type address-mask-reply -j DROP

echo " Cerrando los Puertos restantes del Firewall."
$iptables -A INPUT -i eth0 -p tcp --dport 0:65535 -j DROP
$iptables -A INPUT -i eth0 -p udp --dport 0:65535 -j DROP

echo " Terminando la Configuracion del Firewall."

#######################################

si fueran tan amable de aclararme algunas dudas, que le falta a mi script, que esta de mas, si el orden esta inadecuado, y si con esto ya no entraran las redes p2p, porque hace mucho tiempo en otra red probe el layer7 compilando el kernelo, pero este se bajaba la memoria de la pc y me colocaba lento el acceso, por eso ya no lo quiero usar, ademas si con la solucion de este script voy a poder enviar y recibir archivos yt conexion de audio y camara web en el messenger...

espero me ayuden..


##################
####  Paúl Criollo Ortíz
### Móvil: 073-9612277
###################



LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com



LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com

Reply to: