Paso 1: Configuramos
las NIC del SERVIDOR PROXY de la siguiente manera:
Servidor Proxy NIC 1:
IP: 10.26.2.148
Mask: 255.255.252
Gateway: 10.26.2.1
Mask: 255.255.252
Gateway: 10.26.2.1
Servidor Proxy NIC 2:
IP: 192.168.1.1
Mask: 255.255.255.0
Mask: 255.255.255.0
Pasó 2: Configuramos
la NIC del cliente de la siguiente manera:
Cliente 1:
IP: 192.168.1.11
Mask: 255.255.255.0
Gateway: 192.168.1.1
Mask: 255.255.255.0
Gateway: 192.168.1.1
Paso 3:
Instalar Servicio SQUID en el Servidor:
Ingresamos como root al Terminal e ingresamos la
siguiente línea de comando:
yum -y install squid httpd
Pasó 4: Configuración
del puerto:
Ingresamos al archivo de configuración SQUID con el
siguiente comando:
vim
/etc/squid/squid.conf
Modificamos el siguiente parámetro (con estoindicamos
a que puertos se le aplicará el proxy transparente):
#You may specify multiple socket addresses on multiple lines.
#Default: http_port 3128
http_port 3128 transparent
http_port
8080 transparent
Paso 5:
Creamos las listas de acceso:
Con la siguiente sintaxis...
acl
[nombre de la lista] src [lo que compone a la
lista]
Creamos
nuestras listas de acceso, para este caso, hemos utilizado ficheros ("ips_permitidos"
e "ips_denegados"), donde colocaremos las direcciones IP con acceso y
sin acceso y utilizaremos ambos archivos para darle valores a nuestras listas
de acceso
acl permitidos src "/etc/squid/ips_permitidos"
acl denegados src "/etc/squid/ips_denegados"
acl red_local src 192.168.1.0/255.255.255.0
Lo
anterior estaría definiendo que la Lista de Control de Acceso denominada
permitidos / denegados estaría compuesta por las direcciones IP incluidas en el
fichero /etc/squid/ips_permitidos / /etc/squid/ips_denegados.
Contenido
del fichero ips_permitidos:
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14
192.168.1.15
Contenido
del fichero ips_denegados:
192.168.1.16
192.168.1.17
192.168.1.18
192.168.1.19
192.168.1.20
Paso 6: Aplicamos las Reglas de
Control de Acceso:
Con
la siguiente sintaxis...
http_access [deny
o allow] [lista de control de acceso]
Le
vamos aplicar las reglas a cada una de las listas de acceso anteriormente
creadas:
http_access allow
permitidos
http_access deny denegados
http_access allow
red_local !denegados
Con esto le indicamos a la lista
"permitidos" que tiene acceso (allow), a través del proxy
transparente y se la negamos (deny) a la lista "denegados". Además le
indicamos que tengan acceso todos los ips de la red local excepto ( ! ) los ips
de la lista "denegados".
Paso
7: Configuramos el Enrutamiento:
Tenemos
que configurar las iptables para que podamos tener acceso a Internet y para que
lo hagamos mediante el proxy. Por esta razón ingresamos
las siguientes reglas:
iptables -t nat -A POSTROUTING -s 10.26.2.0/24 -o eth0 -j SNAT --to
192.168.1.1
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Ahora,
tenemos que recargar la configuración de squid. Esto lo hacemos de la siguiente
manera:
service iptables save
Ahora
simplemente desde las máquinas clientes probamos que tenemos acceso a Internet.
Vale notar que esta configuración de proxy transparente solo sirve para
almacenar en la caché y que la navegación por Internet sea más rápida. Si
deseamos bloquear acceso a páginas, tenemos que crear más reglas.
Paso
7: Iniciar el Servicio SQUID
Una
vez terminada la configuración, ejecutamos el siguiente mandato para iniciar
por primera vez Squid:
service squid start
Si
necesita reiniciar para probar cambios hechos en la configuración, utilice lo
siguiente:
service squid restart
Si
desea que Squid inicie de manera automática la próxima vez que inicie el
sistema, utilice lo siguiente:
chkconfig squid on
Lo
anterior habilitará a Squid en todos los niveles de corrida.
Paso 8: Ahora vamos a denegar el
acceso a algunas páginas web
Creamos
el fichero "webs_denegadas" donde ingresaremos los dominios que
deseemos bloquear:
vim /etc/squid/webs_denegadas
.ytimg.com
.facebook.com
.live.com
.elotrolado.net
.facebook.com
.live.com
.elotrolado.net
En
nuestro archivo /etc/squid/squid.conf agregamos las siguientes líneas:
acl webs_denegadas url_regex "/etc/squid/webs_denegadas"
http_access deny
webs_denegadas
Reiniciamos
el servicio SQUID para que se agreguen los cambios:
service squid
restart