Cómo instalar Squid en Ubuntu 18.04 LTS

En este artículo veremos cómo instalar Squid en Ubuntu 18.04 LTS Bionic Beaver paso a paso, de modo que puedas tener tu propio servidor proxy listo para trabajar en tu red local y proporcionar (o restringir) acceso a Internet a otras máquinas independientemente de su sistema operativo.

Antes de instalar Squid en Ubuntu 18.04 LTS

Si tienes intención de completar los pasos de esta guía de instalación de Squid en Ubuntu 18.04 LTS debes partir de las siguientes condiciones:

  • Un sistema Ubuntu 18.04 LTS Bionic Beaver actualizado.
  • Un usuario con privilegios de sudo.
  • Acceso a Internet.
  • Equipos en red con los que probar el proxy.

Cómo instalar Squid en Ubuntu 18.04 LTS

Para instalar Squid en Ubuntu 18.04 LTS usaremos los paquetes disponibles en los repositorios de la distribución, así que actualizaremos su información:

~$ sudo apt update

El paquete que necesitamos es squid, que instalaremos con la herramienta apt:

~$ sudo apt install -y squid

Al terminar la descarga e instalación de Squid y sus dependencias se crea un nuevo servicio en Ubuntu 18.04, llamado squid.service o squid, que queda en ejecución y habilitado para iniciar automáticamente con cada arranque del sistema.

Puedes comprobar el estado del servicio Squid en cada momento con el comando systemctl status squid:

como instalar squid en ubuntu 18.04 lts bionic beaver

El servicio queda a la escucha en el puerto 3128 TCP.

Cómo configurar el firewall UFW para Squid en Ubuntu 18.04

Si tienes activado el firewall UFW en Ubuntu 18.04 necesitarás añadir una regla para permitir las conexiones desde la red. Es tan sencillo como lanzar el siguiente comando:

~$ sudo ufw allow squid

Comprobar Squid en Ubuntu 18.04

Para probar el nuevo servicio proxy de Squid desde alguna máquina de red debemos tener en cuenta que algunas aplicaciones usan una configuración de proxy personalizada, mientras que otras usan la configuración global del sistema.

Podemos configurar el navegador de alguna máquina en red y ajustar su configuración de conexión a través de proxy:

instalar squid en ubuntu 18.04 lts bionic beaver

Una vez que tengamos configurada la aplicación o el sistema, podemos intentar acceder a algún servicio o ubicación en Internet. En este tutorial como ejemplo hemos configurado un navegador como Firefox y accedemos a nuestro propio sitio web:

instalacion de squid en ubuntu 18.04 lts bionic beaver

Aunque no obtenemos la página web que hemos solicitado, sin embargo vemos que Squid sí esta funcionando, sólo hay que hacer algunos ajustes de configuración.

Cómo configurar Squid en Ubuntu 18.04

A la hora de configurar Squid en Ubuntu 18.04 debemos trabajar principalmente sobre el archivo squid.conf, ubicado en /etc/squid/.

Para dar acceso a los sistemas en red que configuramos anteriormente es necesario crear una acl (lista de control de acceso) y darle permiso de acceso explícitamente.

Editamos el archivo de configuración:

~$ sudo nano /etc/squid/squid.conf

Buscaremos la sección de las directivas acl para especificación de redes y añadiremos una nueva para nuestra propia red:

...
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16        # RFC1918 possible internal network
#acl localnet src fc00::/7       # RFC 4193 local private network range
#acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
acl mi_red_local src 192.168.1.0/24
...

Hecho esto, permitiremos el acceso al servicio mediante una directiva http_access, que situaremos junto a la que permite el acceso a la máquina local Ubuntu 18.04 y antes de la que deniega el acceso a todas las demás:

...
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow localhost
http_access allow mi_red_local

# And finally deny all other access to this proxy
http_access deny all
...

Guardamos los cambios, cerramos el archivo y recargamos la configuración de Squid:

~$ sudo systemctl reload squid

Para probar la nueva configuración bastará con recargar el navegador con el que estábamos haciendo las pruebas:

instalando squid en ubuntu 18.04 lts bionic beaver

¡Así de fácil!

Cómo bloquear sitios web con Squid

Es posible que quieras bloquear el acceso a ciertos sitios web, para lo que Squid facilita el uso de listas de sitios bloqueados. Comenzaremos creando un archivo con la lista de sitios que queremos bloquear:

~$ sudo nano /etc/squid/sitios-bloqueados.lst

Incluye el dominio de cualquier sitio que quieras bloquear:

.facebook.com
.instagram.com
.twitter.com

Guardado el archivo, editaremos squid.conf y crearemos una nueva acl de tipo dstdomain:

...
#acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machi$
acl mi_red_local src 192.168.1.0/24
acl sitios_bloqueados dstdomain "/etc/squid/sitios-bloqueados.lst"
...

Igual que en la configuración anterior, una vez definida una acl tendremos que especificar qué queremos hacer con ella. Añadiremos una directiva http_access para denegar el acceso al contenido de esta acl, pero la colocaremos justo antes de la que definimos para permitir el acceso a nuestra red:

...
http_access allow localhost
http_access deny sitios_bloqueados
http_access allow mi_red_local
...

Guardamos los cambios y recargamos el servicio:

~$ sudo systemctl reload squid

Intentamos acceder a un dominio prohibido y…

como configurar squid en ubuntu 18.04 lts

Cómo bloquear palabras en Squid

Puedes bloquear accesos también por palabras o, para ser más exactos, expresiones regulares.

Al igual que en el caso anterior, creamos un archivo para guardar las palabras y expresiones prohibidas:

~$ sudo nano /etc/squid/palabras_bloqueadas.lst

Con las palabras prohibidas que consideres necesarias:

torrent
porn

Guardamos los cambios y editamos squid.conf, donde crearemos un acl nueva del tipo url_regex:

...
acl sitios_bloqueados dstdomain "/etc/squid/sitios_bloqueados.lst"
acl palabras_bloqueadas url_regex "/etc/squid/palabras_bloqueadas.lst"
...

Y crearemos la directiva http_access correspondiente para prohibir las palabras:

...
http_access allow localhost
http_access deny palabras_bloqueadas
http_access deny sitios_bloqueados
http_access allow mi_red_local
...

Guardamos los cambios, cerramos el archivo y recargamos la configuración de Squid:

~$ sudo systemctl reload squid

Podemos comprobar qué ocurre si accedemos a un sitio permitido:

Y veamos qué ocurre si accedemos a una dirección que contenga alguna de las palabras o expresiones prohibidas, por ejemplo la URL https://www.gamestorrents.nu:

configuracion de squid en ubuntu 18.04 lts

Justo lo que esperábamos.

Conclusión

Ahora que sabes cómo instalar Squid en Ubuntu 18.04 LTS Bionic Beaver puedes proporcionar acceso a Internet a las máquinas de tu red que no tengan acceso directo, filtrando este acceso según tus necesidades.

¿Alguna duda o pregunta? ¿Tienes sugerencias de mejora de este artículo o crees que necesita actualización? ¿Tal vez quieras notificar algún error? Deja un comentario y le echaré un vistazo tan pronto como pueda.

¡Apoya comoinstalar.me!

Si ya tienes el servicio de proxy activado gracias a esta guía de instalación de Squid en Ubuntu 18.04 LTS es posible que te apetezca agradecérnoslo. En caso afirmativo, puedes hacerlo dejando tan solo 1 $ de propina para invitarme a una CocaCola desde PayPal:

¡Gracias!

Valora esta entrada

3.7/5 - (3 votos)

Deja un comentario