¿Te gustaría aprender a instalar Squid en Ubuntu Linux? En este tutorial, vamos a mostrar cómo instalar y configurar el servidor Proxy Squid en Ubuntu Linux versión 17.

Lista de Hardware:

La siguiente sección presenta la lista de equipos utilizados para crear este tutorial de Squid.

Cada pieza de hardware enumerada anteriormente se puede encontrar en el sitio web de Amazon.

Tutoriales Relacionados con Squid:

En esta página, ofrecemos acceso rápido a una lista de tutoriales relacionados con Squid.

Tutorial – Squid en Ubuntu Linux

En la consola de Linux, use los siguientes comandos para configurar la zona horaria correcta.

# dpkg-reconfigure tzdata

Instale el paquete Ntpdate y configure la fecha y hora correctas de inmediato.

# apt-get install ntpdate
# ntpdate pool.ntp.br

En nuestro ejemplo, el comando Ntpdate se usó para establecer la fecha y hora correctas utilizando el servidor brasileño pool.ntp.br

Instalemos el servicio NTP.

# apt-get install ntp

NTP es el servicio que mantendrá nuestro servidor actualizado.

Use la fecha del comando para verificar la fecha y la hora configuradas en su Ubuntu Linux.

# date

Si el sistema muestra la fecha y hora correctas, esto significa que siguió todos los pasos correctamente.

Use los siguientes comandos para instalar los paquetes requeridos.

# apt-get update
# apt-get install build-essential openssl libssl-dev

Descargue, compile e instale el paquete Squid.

# mkdir /downloads
# cd /downloads
# wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.27.tar.gz
# tar -zxvf squid-3.5.27.tar.gz
# cd squid-3.5.27
# ./configure –with-default-user=proxy
# make
# make install

Aquí está el archivo de configuración original de Squid instalado por el paquete Squid.

# vi /usr/local/squid/etc/squid.conf

acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
acl localnet src fc00::/7
acl localnet src fe80::/10

acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

http_port 3128

coredump_dir /usr/local/squid/var/cache/squid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

Aquí está el nuevo archivo con nuestra configuración.

Las directivas modificadas se resaltaron en negrita.

# vi /usr/local/squid/etc/squid.conf

acl localnet src 192.168.0.0/24  # My internal Network

acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

http_port 3128

coredump_dir /usr/local/squid/var/cache/squid
cache_dir ufs /usr/local/squid/var/cache/squid 1000 16 256  # 1GB as Cache

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

Mi configuración es simplemente básica.

Es muy recomendable que estudie este archivo de configuración para mejorar su configuración.

Use el siguiente comando para Crear las carpetas de caché necesarias.

# chown -R proxy:proxy /usr/local/squid -R
# /usr/local/squid/sbin/squid -z

Use el siguiente comando para iniciar el servicio de Squid.

# /usr/local/squid/sbin/squid -d 10

Si todo funcionó correctamente, debería ver los siguientes mensajes en la pantalla:

Starting Squid Cache version 3.5.27 for x86_64-pc-linux-gnu…
Service Name: squid
Process ID 19569
Process Roles: worker
With 1024 file descriptors available
Initializing IP Cache…
DNS Socket created at [::], FD 6
DNS Socket created at 0.0.0.0, FD 8
Adding nameserver 172.31.0.2 from /etc/resolv.conf
Adding domain us-west-2.compute.internal from /etc/resolv.conf
Logfile: opening log daemon:/usr/local/squid/var/logs/access.log
Logfile Daemon: opening log /usr/local/squid/var/logs/access.log
Unlinkd pipe opened on FD 14
Store logging disabled
Swap maxSize 1024000 + 262144 KB, estimated 98934 objects
Target number of buckets: 4946
Using 8192 Store buckets
Max Mem size: 262144 KB
Max Swap size: 1024000 KB
Rebuilding storage in /usr/local/squid/var/cache/squid (no log)
Using Least Load store dir selection
Set Current Directory to /usr/local/squid/var/cache/squid
Finished loading MIME types and icons.
HTCP Disabled.
Squid plugin modules loaded: 0
Adaptation support is off.
Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 16 flags=9
Done scanning /usr/local/squid/var/cache/squid dir (0 entries)
Finished rebuilding storage from disk.
0 Entries scanned
0 Invalid entries.
0 With invalid flags.
0 Objects loaded.
0 Objects expired.
0 Objects cancelled.
0 Duplicate URLs purged.
0 Swapfile clashes avoided.
Took 0.04 seconds ( 0.00 objects/sec).
Beginning Validation Procedure
Completed Validation Procedure
Validated 0 Entries
store_swap_size = 0.00 KB
storeLateRelease: released 0 objects

Para probar la instalación, vaya a una computadora ubicada en su red interna y configure su navegador para usar la dirección IP del servidor Squid y el puerto TCP 3128 como un servidor proxy.