Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и HTTPS.
Для установки Squid в CentOS 7, введите команду:
yum install squid -y
Приводим содержимое файла squid.conf к следующему:
vi /etc/squid.conf
acl allownets src all
acl open_ports port 80 # http
acl open_ports port 443 # https
acl ssl_ports port 443
acl CONNECT method CONNECT
acl allowext urlpath_regex -i \.deb$ \.rpm$ \InRelease$ \Packages$ \.xml$ \.bz2$ \.gz$ \.xz$
acl allowsites dstdomain security.ubuntu.com mirrors.fedoraproject.org
http_access deny !open_ports
http_access deny CONNECT !ssl_ports
http_access deny !allowext !allowsites
http_access allow localhost manager
http_access deny manager
http_access deny to_localhost
http_access allow allownets
http_access allow localhost
http_access deny all
http_port 0.0.0.0:3128
cache_dir ufs /var/spool/squid 40000 16 256
cache_replacement_policy heap LFUDA
maximum_object_size 100 MB
coredump_dir /var/spool/squid
refresh_pattern . 0 20% 4320
refresh_pattern -i .deb$ 0 100% 129600
refresh_pattern -i .rpm$ 0 100% 129600
Проверяем конфиг на наличие ошибок:
squid -k parse
Запускаем прокси-сервер squid:
systemctl enable --now squid
На клиенте укажем прокси:
CentOS / RHEL
echo 'proxy=http://192.168.55.3:3128' >> /etc/yum.conf
echo 'proxy=http://192.168.55.3:3128' >> /etc/dnf/dnf.conf
Debian / Ubuntu
echo 'Acquire::http::Proxy "http://192.168.55.3:3128";' > /etc/apt/apt.conf