INSTALACIÓN DE SERVIDOR PROXY CON SQUID



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
Servidor Proxy NIC 2:
IP: 192.168.1.1
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

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
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

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