Forums:
Hola.
Tengo un pequeño problema con squid, sucede que deseo configurarlo para bloquear algunas paginas y hacer cache de paginas webs, pero los equipos que estan en la LAN por alguna razon de configuración, no estan pasando por el squid. Por que digo esto, por que no tengo ninguna regla acl creada para que la red pueda ver la paginas y aun asi, se puede navegar sin problemas. Hasta el momento tengo configurados estos parametors:
En el squid.conf:
http_port 3128 transparent
cache_mem 300 MB
cache_dir ufs /var/spool/squid 1024 16 256
visible_hostname super-server
Y en un scrip que tengo con direccionamiento el puerto 80 al 3128
echo "Regla de direccionamiento de 80 a 3128"
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to -port 3128
Y mi acces.log de squid muestra:
2009/04/05 17:01:07| Ready to serve requests.
2009/04/05 17:01:07| Done reading /var/spool/squid swaplog (0 entries)
2009/04/05 17:01:07| Finished rebuilding storage from disk.
2009/04/05 17:01:07| 0 Entries scanned
2009/04/05 17:01:07| 0 Invalid entries.
2009/04/05 17:01:07| 0 With invalid flags.
2009/04/05 17:01:07| 0 Objects loaded.
2009/04/05 17:01:07| 0 Objects expired.
2009/04/05 17:01:07| 0 Objects cancelled.
2009/04/05 17:01:07| 0 Duplicate URLs purged.
2009/04/05 17:01:07| 0 Swapfile clashes avoided.
2009/04/05 17:01:07| Took 0.6 seconds ( 0.0 objects/sec).
2009/04/05 17:01:07| Beginning Validation Procedure
2009/04/05 17:01:07| Completed Validation Procedure
2009/04/05 17:01:07| Validated 0 Entries
2009/04/05 17:01:07| store_swap_size = 0k
2009/04/05 17:01:08| storeLateRelease: released 0 objects
Pero, por alguna razon los equipos no pasan por squid. Por que aun no creo la regla acl que permita el acceso a la red.
Saludos
La eth0 es la que conecta tu
La eth0 es la que conecta tu linux con la LAN??
La eth1 es por donde entra
La eth1 es por donde entra internet y la eth0 sale a la lan repartiendo el dhcp
____________________________________
Me gusta aprender, me gusta Linux !!
Uno de los amigos te
Uno de los amigos te pregunto por el ip_forwarding, si lo tienes habilitado?, que más tienes en tu script de iptables??, no será que tienes políticas DROP por defecto :?, si estas enmascarando tu red?, te recomiendo bajes el servicio del squid, comentes la linea del redireccionamiento, enmascara y habilita el ip forwarding y comentanos que pasa.
Por otro lado en Dhcpd lo tienes puesto para que solo escuche peticiones por tu eth0??, además tu squid.conf declara la ip de tu eth0 en http_port, pero eso luego de probar lo recomendado.
Si claro. que hago el
Si claro. que hago el forwadeo de paquetes y también tengo políticas Drop en mi iptables, aquí dejo el scrip:
iptables -F
echo "aplicando forwarding"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "enmascarando tráfico"
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
#pAsar equipos de lan por proxy
echo "Regla de direccionamiento de 80 a 3128"
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to -port 3128
echo "Habilitando puertos tcp"
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 53 -j ACCEPT
#respuesta desde dns
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -j DROP
echo "done"
echo "reglas UDP"
iptables -A INPUT -p udp -i eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport 67 -j ACCEPT
iptables -A INPUT -p udp -j DROP
El parametro http_port en squi quedo así:
http_port 192.168.1.1:3128 transparent
____________________________________
Me gusta aprender, me gusta Linux !!
la eth0 es la tarjeta de tu
la eth0 es la tarjeta de tu red local? no será que es la eth1 ? revisa esa parte y es así es lógico que navegues gracias al masquerade o nat.
Saludos
Vamos Ecuador, si se puede
Pues si tiene regals DROP,
Pues si tiene regals DROP, no veo por ningun lado las regals de OUTPUT y FORWARD, solo tienes esto:
echo "Habilitando puertos tcp"
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 53 -j ACCEPT
Con lo que tienes , no vas a lograr nada ya que eso no determina si navegan o no, ya que solo son reglas de INPUT, te recomiendo primero que apliques políticas por defecto ACCEPT o mejor dale acceso a los puertos pertinenetes y mantienes el DROP, pero debes leer más de iptables ya que ahi esta tu error, squid esta bien, basico, pero funciona, por ejemplo debe permitir el FORWARD a los puertos 80, 443 y 53 al menos para que tengas navegación, no necesitas reglas INPUT para ellos al menos que corras servicios de http o dns en tu mismo server, lo cual no ocurre en tu caso.
Saludos.
Cuando me dices que tengo
Cuando me dices que tengo que hacer FORWARD a los puertos 80, 443 y 53. Deberían quedar mas menos de la siguiente manera:
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 443 -j ACCEPT
Gracias!
____________________________________
Me gusta aprender, me gusta Linux !!
Toda comunicación es
Toda comunicación es bi-direccional como es logíco hasta en nosotros y en toda la naturaleza eso se da, para eso el FORWARD debe ser habilitado de la misma manera y no solo el FORWARD si no todas las otras cadenas, para que quede mejor explicado mira lo que googleando encuentras:
http://www.pello.info/filez/firewall/iptables.html#36
Saludos.
A mi me paso lo mismo
A mi me pasa algo similar. Tengo en una maquina ubuntu squid 3 funcionando perfectamente con una configuracion basica (soy nuevo en esto) en una red local con 20 PCs y cuando los usuarios ingresan al correo de yahoo.com la pagina queda cargando indefinidamente, lo mismo ocurre con algunos links de paginas como http://atcevaluation.autodesk.com/ al hacer click en el idioma "español"se queda cargando indefinidamente.
En cambio cuando ingreso quitando la configuracion del proxy squid del navegador funcionan todas perfectamente.
No poseo scrips con iptables ni nada por el estilo, solo el squid.
El archivo squid.conf es:
#=========================================================================
#=archivo squid.conf=====================================================
http_port 3128
visible_hostname localhost
cache_mem 256 MB
cache_access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log
cache_dir ufs /etc/squid3/cache 6144 16 256
maximum_object_size 8192 KB
minimum_object_size 3 KB
cache_swap_high 100
cache_swap_low 80
acl redlocal src 192.168.0.0/24
acl microsoft dstdomain .microsoft.com
acl extlimit url_regex -i "/etc/squid3/extencioneslimitadas.acl"
delay_pools 1
delay_class 1 1
delay_parameters 1 40960/1048576
#delay_access 1 allow day
delay_access 1 allow extlimit
acl blacklist dstdomain "/etc/squid3/listanegra.acl"
http_access deny blacklist
http_access allow redlocal
http_access deny all
#==fin archivo squid.conf ======================================================
#===============================================================================
Intente probar creando una lista de sitios qui no pasen por el squid pero no funcono, asi:
----acl no_proxy dstdomain .yahoo.com
----http_access allow no_proxy
Tambien intente probar abriendo los puertos pero tampoco funcionono funcono asi:
--acl SSL_ports port 443 563
--acl Safe_ports port 80 # http
--acl Safe_ports port 21 # ftp
--acl Safe_ports port 443 563 # https, snews
--acl Safe_ports port 70 # gopher
--acl Safe_ports port 210 # wais
--acl Safe_ports port 1025-65535 # unregistered ports
--acl Safe_ports port 280 # http-mgmt
--acl Safe_ports port 488 # gss-http
--acl Safe_ports port 591 # filemaker
--acl Safe_ports port 777 # multiling http
--acl Safe_ports port 631 # cups
--acl Safe_ports port 873 # rsync
--acl Safe_ports port 901 # SWAT
--acl purge method PURGE
--acl CONNECT method CONNECT
...
--http_access deny !Safe_ports
--http_access deny CONNECT !SSL_ports
Ojala me puedan ayudar con esto desde ya muchas gracias!!
saludos! ;)
Páginas