Androide

Cómo instalar y configurar proxy squid en ubuntu 18.04

Instalación y configuración básica de Squid en Ubuntu 18.04

Instalación y configuración básica de Squid en Ubuntu 18.04

Tabla de contenido:

Anonim

Squid es un proxy de almacenamiento en caché con todas las funciones que admite protocolos de red populares como HTTP, HTTPS, FTP y más. Squid se utiliza principalmente para mejorar el rendimiento del servidor web al almacenar en caché solicitudes repetidas, filtrar el tráfico web y acceder a contenido geo-restringido.

Este tutorial lo guiará a través del proceso de configuración de un Proxy Squid en Ubuntu 18.04 y la configuración de los navegadores web Firefox y Google Chrome para usarlo.

Instalar Squid en Ubuntu

El paquete Squid está incluido en los repositorios predeterminados de Ubuntu 18.04. Para instalarlo ingrese los siguientes comandos como sudo user:

sudo apt update sudo apt install squid

Una vez que se completa la instalación, el servicio Squid se iniciará automáticamente.

Para verificar que la instalación se realizó correctamente y que se está ejecutando el servicio Squid, escriba el siguiente comando que imprimirá el estado del servicio:

sudo systemctl status squid

● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Thu 2019-06-27 11:45:17 UTC…

Configurando Squid

Squid se puede configurar editando el archivo /etc/squid/squid.conf . También puede usar archivos separados con opciones de configuración que se pueden incluir usando la directiva "incluir".

El archivo de configuración contiene comentarios que describen lo que hace cada opción de configuración.

Antes de realizar cualquier cambio, es una buena idea hacer una copia de seguridad del archivo de configuración original:

sudo cp /etc/squid/squid.conf{,.orginal}

Para editar el archivo, ábralo en su editor de texto:

sudo nano /etc/squid/squid.conf

De manera predeterminada, Squid está configurado para escuchar en el puerto 3128 en todas las interfaces de red en el servidor.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

La ejecución de Squid en todas las interfaces y en el puerto predeterminado debería estar bien para la mayoría de los usuarios.

En Squid, puede controlar cómo los clientes pueden acceder a los recursos web utilizando las Listas de control de acceso (ACL).

De forma predeterminada, Squid permite el acceso solo desde el host local.

Si todos los clientes que usarán el proxy tienen una dirección IP estática, puede crear una ACL que incluya las IP permitidas.

En lugar de agregar las direcciones IP en el archivo de configuración principal, crearemos un nuevo archivo dedicado que contendrá las IP:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Una vez hecho esto, abra el archivo de configuración principal y cree una nueva ACL llamada allowed_ips (primera línea resaltada) y permita el acceso a esa ACL usando la directiva http_access (segunda línea resaltada):

/etc/squid/squid.conf

#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

El orden de las reglas de http_access es importante. Asegúrese de agregar la línea antes de http_access deny all .

La directiva http_access funciona de manera similar a las reglas del firewall. Squid lee las reglas de arriba a abajo, y cuando una regla coincide, las siguientes reglas no se procesan.

Cada vez que realice cambios en el archivo de configuración, debe reiniciar el servicio Squid para que los cambios surtan efecto:

sudo systemctl restart squid

Autenticación de calamar

Squid puede usar diferentes back-end, incluyendo autenticación básica Samba, LDAP y HTTP para usuarios autenticados.

En este tutorial, configuraremos Squid para usar la autenticación básica. Es un método de autenticación simple integrado en el protocolo

Usaremos el openssl para generar las contraseñas y agregar el username:password par de username:password al /etc/squid/htpasswd usando el comando tee como se muestra a continuación:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Sz$Zdg69 un usuario llamado "josh" con la contraseña " Sz$Zdg69 ":

printf "josh:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd

josh:RrvgO7NxY86VM

Ahora que el usuario está creado, el siguiente paso es habilitar la autenticación básica HTTP e incluir el archivo htpasswd .

Abra la configuración principal y agregue lo siguiente:

/etc/squid/squid.conf

#… auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

Las primeras tres líneas resaltadas crean una nueva ACL llamada authenticated y la última línea resaltada permite el acceso a usuarios autenticados.

Reinicie el servicio Squid:

sudo systemctl restart squid

Configurar firewall

Suponiendo que esté utilizando UFW para administrar su firewall, deberá abrir el puerto de Teg Squid. Para eso, habilite el perfil 'Squid' que incluye reglas para los puertos Squid predeterminados.

sudo ufw allow 'Squid'

Para verificar el tipo de estado:

sudo ufw status

La salida tendrá un aspecto similar al siguiente:

Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere Squid ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) Squid (v6) ALLOW Anywhere (v6) Si Squid se está ejecutando en otro puerto no predeterminado, por ejemplo, 8888 , puede permitir el tráfico en ese puerto con: sudo ufw allow 8888/tcp .

Configuración de su navegador para usar proxy

Ahora que tiene Squid configurado, el último paso es configurar su navegador preferido para usarlo.

Firefox

Los siguientes pasos son los mismos para Windows, macOS y Linux.

  1. En la esquina superior derecha, haz clic en el icono de hamburguesa para abrir el menú de Firefox:

    Haga clic en el enlace ⚙ Preferences .

    Desplácese hacia abajo hasta la sección Network Settings y haga clic en el botón Settings…

    Una nueva ventana se abrirá.

    • Seleccione el botón de opción Manual proxy configuration Ingrese la dirección IP de su servidor Squid en el campo HTTP Host y 3128 en el campo Port Seleccione la casilla de verificación Use this proxy server for all protocols Haga Use this proxy server for all protocols en el botón OK para guardar la configuración.

En este punto, su Firefox está configurado y puede navegar por Internet a través del proxy Squid. Para verificarlo, abra google.com , escriba "what is my ip" y debería ver la dirección IP de su servidor Squid.

Para volver a la configuración predeterminada, vaya a Network Settings , seleccione el botón de Use system proxy settings y guarde la configuración.

Existen varios complementos que también pueden ayudarlo a configurar los ajustes de proxy de Firefox, como FoxyProxy.

Google Chrome

Google Chrome utiliza la configuración de proxy del sistema predeterminada. En lugar de cambiar la configuración de proxy del sistema operativo, puede usar un complemento como SwitchyOmega o iniciar el navegador web Chrome desde la línea de comandos.

Para iniciar Chrome con un nuevo perfil y conectarse al servidor Squid, use el siguiente comando:

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Mac OS:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Ventanas:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

El perfil se creará automáticamente si no existe. De esta manera, puede ejecutar varias instancias de Chrome al mismo tiempo.

Para confirmar que el servidor proxy funciona correctamente, abra google.com y escriba "what is my ip". La IP que se muestra en su navegador debe ser la dirección IP de su servidor.

Conclusión

Has aprendido cómo instalar Squid en Ubuntu 18.04 y configurar tu navegador para usarlo.

Squid es uno de los servidores de caché proxy más populares. Mejora la velocidad del servidor web y puede ayudarlo a restringir el acceso de los usuarios a Internet.

ubuntu proxy