GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear un proxy HTTP usando Squid en CentOS 8

Squid es un servidor de caché proxy web gratuito y de código abierto que admite diferentes protocolos, como HTTP, HTTPS, FTP y SSL. Se utiliza principalmente como un servidor proxy de almacenamiento en caché y puede mejorar en gran medida el rendimiento del servidor mediante el almacenamiento en caché de solicitudes repetidas, el filtrado del tráfico web y el acceso a contenido restringido geográficamente.

Squid puede actuar como intermediario entre el cliente y el servidor web. Después de conectar el proxy Squid, podrá acceder de forma anónima a los servicios de Internet y evitar las restricciones de la red local.

En este tutorial, aprenderemos a instalar y configurar Squid Proxy en CentOS 8.

Requisitos

  • Un nuevo CentOS 8 VPS en la plataforma en la nube Atlantic.Net
  • Una contraseña de root configurada en su servidor

Paso 1:crear un servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo CentOS 8 como sistema operativo con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor CentOS 8, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

dnf update -y

Paso 2:instalar el servidor proxy Squid

El paquete Squid está disponible en el repositorio predeterminado de CentOS 8. Puede instalarlo simplemente ejecutando el siguiente comando:

dnf install squid -y

Una vez instalado, inicie el servicio de proxy Squid y habilítelo para que se inicie al reiniciar con el siguiente comando:

systemctl start squid
systemctl enable squid

Paso 3:configurar la autenticación basada en IP

Hay varias formas de configurar Squid para aceptar conexiones y servir como un proxy HTTP. En esta sección, configuraremos Squid para autenticar clientes en función de sus direcciones IP.

Abra el archivo de configuración predeterminado de Squid en /etc/squid/squid.conf:

nano /etc/squid/squid.conf

Agregue la siguiente línea al principio del archivo:

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

Guarde y cierre el archivo cuando haya terminado, luego reinicie el servicio Squid para aplicar los cambios:

systemctl restart squid

En el paso anterior, sustituya su información relevante como se muestra a continuación :

usuario1 y usuario2 es el nombre que identifica a los equipos cliente.

192.168.0.10 y 192.168.0.11 es la dirección IP de la computadora cliente.

Paso 4:configurar la autenticación basada en el usuario

En esta sección, configuraremos Squid para autenticar un cliente con nombres de usuario y contraseñas.

Primero, instale el paquete de utilidades de Apache en su sistema:

dnf install httpd-tools -y

A continuación, cree un archivo para almacenar los usuarios y contraseñas de Squid y cambie la propiedad del archivo de contraseñas:

touch /etc/squid/squid_passwd
chown squid /etc/squid/squid_passwd

A continuación, cree un nuevo usuario squid con el nombre usuario1 usando el siguiente comando:

htpasswd /etc/squid/squid_passwd user1

Se le pedirá que cree una contraseña para este usuario como se muestra a continuación:

New password:
Re-type new password:
Adding password for user user1

A continuación, cree otro usuario llamado usuario2 con el siguiente comando:

htpasswd /etc/squid/squid_passwd user2

Proporcione una contraseña para este usuario como se muestra a continuación:

New password:
Re-type new password:
Adding password for user user2

Ahora puede verificar a ambos usuarios con el siguiente comando:

cat /etc/squid/squid_passwd

Deberías obtener el siguiente resultado:

user1:$apr1$szXO3OTj$37MuRy2V06mIAOiRpFjnr1
user2:$apr1$MCAckv0h$0VwDLLhAfMLaLm3Xvk3H/0

A continuación, edite el archivo de configuración de Squid:

nano /etc/squid/squid.conf

Agregue las siguientes líneas al principio del archivo:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Guarde y cierre el archivo, luego reinicie el servicio proxy Squid para aplicar los cambios:

systemctl restart squid

Paso 5:configurar la autenticación combinada

En esta sección, configuraremos Squid para autenticar un cliente según la dirección IP y el nombre de usuario/contraseña.

Edite el archivo de configuración predeterminado de Squid:

nano /etc/squid/squid.conf

Busque las siguientes líneas que agregó anteriormente:

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
http_access allow user1 user2

Y reemplácelos con las siguientes líneas:

acl user1 src 192.168.0.10
acl user2 src 192.168.0.11
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow user1 user2 ncsa_users

Guarde y cierre el archivo, luego reinicie el servicio proxy Squid para aplicar los cambios:

systemctl restart squid

Paso 6:configurar Squid para anonimizar el tráfico

A continuación, deberá agregar algunas reglas para enmascarar las direcciones IP de los clientes de los servidores que reciben tráfico de su proxy Squid HTTP.

Puede hacerlo editando el archivo de configuración predeterminado de Squid:

nano /etc/squid/squid.conf

Agregue las siguientes líneas al principio del archivo:

forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

Guarde y cierre el archivo, luego reinicie el servicio proxy Squid para aplicar los cambios:

systemctl restart squid

Paso 7:probar Squid Proxy

En este punto, su servidor proxy Squid está configurado para aceptar conexiones de clientes basadas en la dirección IP y el nombre de usuario/contraseña y manejar el tráfico de Internet de forma anónima.

A continuación, deberá configurar los ajustes del navegador de la computadora de su Cliente para usar su servidor Squid como un proxy HTTP.

En la computadora cliente, abra Mozilla Firefox y haga clic en Editar => Preferencias como se muestra a continuación:

Desplácese hacia abajo hasta la sección Configuración de red y haga clic en Configuración . Debería ver la siguiente página:

Seleccione el botón de radio Configuración de proxy manual, ingrese la dirección IP de su servidor Squid en el campo Host HTTP y 3128 en el campo Puerto, seleccione la casilla de verificación "Usar este servidor proxy para todos los protocolos" y haga clic en Aceptar botón para guardar la configuración.

Ahora su navegador está configurado para navegar por Internet a través del proxy Squid.

Para verificarlo, escriba la URL https://www.whatismyip.com/. Se le pedirá que proporcione un nombre de usuario y una contraseña como se muestra a continuación:

Proporcione el nombre de usuario y la contraseña del servidor proxy Squid que creó anteriormente y haga clic en Aceptar. botón. Debería ver la siguiente página:

En la página anterior, debería ver la dirección IP de su servidor Squid en lugar de la dirección IP de su computadora cliente.

Conclusión

En la guía anterior, aprendió cómo configurar Squid como un servidor proxy HTTP en CentOS 8 y cómo configurar su navegador para usarlo. Ahora puedes navegar por Internet de forma anónima y evitar que Firefox te rastree. ¡Pruebe Squid en una cuenta de alojamiento VPS de Atlantic.Net hoy mismo!


Linux
  1. Servidor proxy de calamar

  2. ¿Cómo usar el método CONNECT en un proxy HTTP usando Telnet?

  3. Cómo instalar Squid Proxy en CentOS 8

  4. Cómo configurar VSFTPD en CentOS 8

  5. Cómo configurar un servidor proxy squid en CentOS/RHEL 7

Cómo configurar un servidor FTP en CentOS 8 usando VSFTPD

Cómo configurar un servidor TeamSpeak en CentOS 7

Cómo instalar Nginx en CentOS 7

Cómo configurar NGINX en un servidor CentOS 7

Cómo configurar Apache como servidor proxy frontend para Node.js CentOS 8

Cómo instalar el servidor proxy Squid en Ubuntu 18.04