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 centos 4.4 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: / http://www.google.com.pe/
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 ###################