Squid NO trabaja en modo transparente

Todos los comentarios sobre redes y servidores en linux y su interacción con otros sistemas operativos.

Moderadores: doc, Kde_Tony, ps-ax

Responder
crow77
Forista Nuevo
Forista Nuevo
Mensajes: 2
Registrado: Mié Jul 09, 2014 7:00 pm

Squid NO trabaja en modo transparente

Mensaje por crow77 »

Gente, muy buenas tardes. Espero que vaya todo bien!

Les comento, que tengo laburando un squid 3, sobre centos6 (Estan sobre una VM de virtualbox).
El problema es que NO me funciona en modo transparente, es decir, tengo que configurar a manopla todos los navegadores.

Les paso mi cfg de eth0 y eth1

ETH0 (INTERNET):
address 192.168.0.101
netmask 255.255.255.0
gateway 192.168.0.1

ETH1(LAN):
address 10.1.232.100
netmask 255.255.255.0
gateway 192.168.0.1

SH para iptables:

#!/bin/sh
# squid server IP
SQUID_SERVER="10.1.232.101"
# Interface connected to Internet
INTERNET="eth0"
# Interface connected to LAN
LAN_IN="eth1"
# Squid port
SQUID_PORT="3128"
# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# For win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

Cfg Squid:

#

#PUERTO DE ESCUCHA
http_port 10.1.232.100:3128 transparent

visible_hostname localhost

#COMIENZO DE LAS ACL´S (LISTAS DE CONTROL DE ACCESO)
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 10.1.232.0/24
#acl nb_bangoh src "/etc/squid/ip/sin_restriccion"
#acl nb_assus src "/etc/squid/ip/con_restriccion"
#acl restriccion_horaria time SMTWHFA 02:00-24:00
#acl ext_denegados url_regex "/etc/squid/listas/ext_denegados"
#acl sitios_denegados url_regex "/etc/squid/listas/sitios_denegados"
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 CONNECT method CONNECT

#REGLAS_DE_CONTROL_DE_ACCESOS
http_access allow manager localhost
http_access deny manager
http_access allow localnet
http_access allow Safe_ports
http_access allow SSL_ports
#http_access deny !Safe_ports
#http_access deny CONNECT !SSL_ports
#http_access allow nb_bangoh !ext_denegados
#http_access allow nb_assus !ext_denegados !sitios_denegados
http_access allow localhost
http_access deny all

# We recommend you to use at least the following line.
#hierarchy_stoplist cgi-bin ?

#DEFINICION_DE_TAMAÑO_DE_ALMACENAMIENTO_DE_CACHE
cache_dir ufs /var/spool/squid 2048 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

#ERROR_DIRECTORY
error_directory /usr/share/squid/errors/es-ar/


Bueno, muchas gracias y si me pueden dar una mano, se los agradeceria. Y si necesitan mas datos, me avisan.

Salutes!

Avatar de Usuario
EINOM
Forista Menor
Forista Menor
Mensajes: 71
Registrado: Sab Jun 14, 2008 7:00 am
Contactar:

Re: Squid NO trabaja en modo transparente

Mensaje por EINOM »

saludos

creo que lo que te falta es redirigir el trafico que va al puerto 80 hacia el puerto 3128 así:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

ten en cuenta que para que esto funcione el servidor squid debe de ser el gateway de la red lan a filtrar.

ojala te sirva!.

crow77
Forista Nuevo
Forista Nuevo
Mensajes: 2
Registrado: Mié Jul 09, 2014 7:00 pm

Re: Squid NO trabaja en modo transparente

Mensaje por crow77 »

Gracias, ahora voy a verificar.
Y si, tengo configurado OK el DHCP.

Paso conf, por las dudas, si hay algo que corregir

# Activar o Desactivar las Actualizaciones Dinámicas.

ignore client-updates;

ddns-update-style none;

# Configurar la Subred de mi Area Local.

subnet 10.1.232.0 netmask 255.255.255.0 {

option broadcast-address 10.1.232.255;

option subnet-mask 255.255.255.0;

max-lease-time 25950;

default-lease-time 20400;

option routers 10.1.232.100;

range 10.1.232.101 10.1.232.107;

}

Editado -- Jue Jul 10, 2014 2:38 am --
EINOM escribió:saludos

creo que lo que te falta es redirigir el trafico que va al puerto 80 hacia el puerto 3128 así:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

ten en cuenta que para que esto funcione el servidor squid debe de ser el gateway de la red lan a filtrar.

ojala te sirva!.
EINOM, gracias, pero no, ya la tengo aplicada esa regla y nada.

No le encuentro la vuelta.

Editado -- Jue Jul 10, 2014 2:40 am --

#!/bin/sh
# squid server IP
SQUID_SERVER="10.1.232.101"
# Interface connected to Internet
INTERNET="eth0"
# Interface connected to LAN
LAN_IN="eth1"
# Squid port
SQUID_PORT="3128"
# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# For win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT
# set this system as a router for Rest of LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT
# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

y tampoco nada :(

Avatar de Usuario
EINOM
Forista Menor
Forista Menor
Mensajes: 71
Registrado: Sab Jun 14, 2008 7:00 am
Contactar:

Re: Squid NO trabaja en modo transparente

Mensaje por EINOM »

la sentencia en tu caso seria algo asi:

iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT

a diferencia de como la tienes:

iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

y no le veo utilidad a esta sentencia si no vas a usar el squid mas que para tu red lan:

iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT

el DNS no le veo problema como lo has seteado pero da como ip de gateway la 10.1.232.100 y en el script de iptables seteas la ip del proxy como la 10.1.232.101 cambia la ip del proxy a la 101 o pasa los scripts a la 100.

saludos!.

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje