SOS con SQUID 2.6 STABLE1

Forums: 

Hola a todos.

Soy relativamente nuevo en esto de linux y tengo un problema al tratar de hacer que mi proxy (SQUID 2.6 STABLE1) funcione de forma tranparente, espero y alguienme pueda ayuda ;) .

ok est es la situacion tengo un equipo con Linux Mandriva power pack 2007, en el cual tengo funcionando un servidor de DHCP, SSH y ademas que es el que me interesa en este momento el proxy que funciona perfectamente siempre y cuando configures cada navegador para conectarse, el problema es que no he logrado hacerlo tranparente la configuracion que estoy manejando es la siguiente.

----------PAQUETERIA------------------
openssh-server-4.3p2-12mdv2007.0
dhcp-server-3.0.4-2mdv2007.0
iptables-1.3.5-3mdv2007.0
squid-2.6 STABLE1-4mdv2007.0

--------dhcpd.conf-------------------
ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1;

subnet 192.168.1.0 netmask 255.255.255.0
{
range 192.168.1.10 192.168.1.100;
}

host administrador_eth
{
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.168.1.8;
}

el equipo cuenta con dos tarjetas de red
eth0 148.xxx.xxx.xxx -->conectada a internet
eth1 192.168.1.1 -->que es la que brinda la coneccion al proxy y al dhcpd

--------squid.conf------------

http_port 3128 transparent

# TAG: hierarchy_stoplist
hierarchy_stoplist cgi-bin ?

# TAG: cache
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

# TAG: broken_vary_encoding
acl Apache rep_header Server ^Apache
broken_vary_encoding allow apache

# TAG: cache_mem (bytes)
cache_mem 32 MB

# TAG: cache_dir
cache_dir ufs /var/spool/squid 15000 16 256

# TAG: access_log
access_log /var/log/squid/access.log squid

# TAG: dns_nameservers
dns_nameservers 148.xxx.xxx.xxx 148.xxx.xxx.xxx

# TAG: refresh_pattern
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern .

# TAG: acl
deje lo que trae por defaul solo agrege mi redinterna
acl mired 92.168.1.0/24
http_access allow mired

# TAG: cache_mgr
cache_mgr nestor@correo.com

# TAG: always_direct
always_direct allow mired

# TAG: coredump_dir
coredump_dir /var/spool/squid

*La mayor parte de las opociones se mantinen por defaul solo muy pocos valores y por ultimo est a la regla de iptables que uso para el redireccionamiento del puerto

-----iptables rules--------
iptables --table nat --append PREROUTING --in-interface eth1 --source 192.168.1.0/24 --destination ! 192.168.1.0/24 --proto tcp --dport 80 --jump REDIRECT --to-port 3128

[root@localhost /]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- 192.168.1.0/24 !192.168.1.0/24 tcp dpt:80 redir ports 3128

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Segun yo todo parece bien, espero alguien me pueda ayudar

No está claro el problema

Imagen de deathUser

No está claro el problema que estás teniendo, a mi modo de ver, puede ser de dos tipos:

1. El tráfico no se está redireccionando al puerto del squid
2. El squid no está configurado para hacer proxy transparente

Para el primer caso, mira en los logs de acceso, ahí deberías poder ver el tráfico redireccionado, si no lo vez, revisa las reglas del iptables.

Para el segundo caso, RTFM

Suerte...

bye
:)

Aclarando el problema

El proxy ya esta configurado para que funciones de forma transparente, asi que supongo que debe ser algo en el redireccionamiento medinate los iptables pero no logro ver el problema si me falta algo o la regla que uso esta mal.

Al revisar los log de acceso con el navegador configurado para que navegue por medio del proxy todo funciona bien.
el problema surge al retirar la configuracion en el navegador para indicarle que debe navegar por el proxy no lo hace ni aparece en los log de acceso.

Espero haberme dado a entender

squid transparente

Imagen de acl

Hay muchos howtos flotando por ahi, pero en resumen, estas son las directivas de squid que necesitas:


http_port ip-proxy:3128 transparent

always_direct allow all

Si usas las reglas de netfilter que mostraste, esta todo bien segun parece. Sigue la sugerencia de mas abajo

ya coloque lo que me

ya coloque lo que me comentas ademas habilite ip_forward y agregue l areglal de enmascarar en el iptables, pero sigue sin darme acceso de forma tranparente.

gracias por la ayuda y si tienen alguna otra recomendacion sera bien recibida

Por lo que veo falta

Imagen de damage

Por lo que veo falta enmascarar y habilitar el reenvio de paquetes "echo 1 > /proc/sys/net/ipv4/ip_forward"
Y esa regla del NAT como que esta muy paranoica no??? yo me quedaria con lo standar.

Saludos.

Keep The Fire Burning.....
Stryper 1988
http://counter.li.org/

Insisto, si no tienes lo que

Imagen de damage

Insisto, si no tienes lo que dije antes no te funciona, pero si lo tienes habilitado entonces la regla de iptables esta algo mal, utiliza una regla de redireccionamiento mas sencilla y mira si funciona, si te funca chevere entonces tu linea actual tiene algo mal y trata de depurarla para que la uses a futuro.
Ejemplo:

$IPT -t nat -A PREROUTING -i $IF_LAN -p tcp --dport 80 -j REDIRECT --to-port 8080

Saludos.

P.D. Por cierto ACL en squid 2.6 esto ya no se usa:
httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on ;)

Keep The Fire Burning.....
Stryper 1988
http://counter.li.org/

ya he hecho lo que me

ya he hecho lo que me comentas, cambie la regla de iptables por la que pones tu, solo modifico los puertos ya que yo uso el 3128, ademas habilite el ip_forward y lo del enmascaramiento pero aun asi, sigue sin funcionar, nose si se me paso algo.

de antemano gracias por la ayuda y se acepta cualquier otra sugerencia

Se me ocurre si, no es

Imagen de damage

Se me ocurre si, no es cuestion de DNS?, que DNS's tienen tus PC clientes?:? si tienen la 192.168.1.1 o las de tu proveedor, si tienen la ip de la eth1, esta debe constar en el resolv.conf y debes activar el caching-nameserver, es solo cuestion de instalar unos pocos paquetes y correr el named, si no prueba colocando los dns de tu proveedor de Internet en tu dhcp o directamente en las PC clientes.

Saludos

Keep The Fire Burning.....
Stryper 1988
http://counter.li.org/

Páginas