Вступление
Squid – это приложение, которое предоставляет организациям прокси-сервер и службу кэширования для Интернета, поддерживающий HTTP, HTTPS, FTP и другие протоколы.
Он уменьшает пропускную способность и сокращает время отклика за счет кэширования и повторного использования часто запрашиваемых веб-страниц.
Squid обладает широким контролем доступа и является отличным ускорителем сервера.
Он работает в большинстве доступных операционных систем, включая Windows, и распространяется по лицензии GNU GPL.
Ранее мы уже разбирали установку и настройку на данных ОС, только более ранней версии 7:
Как настроить прокси-сервер squid на CentOS / RHEL 7
Теперь давайте перейдем к версии 8.
Чтобы установить Squid на сервер CentOS 8 / RHEL 8, выполните следующие действия.
Шаг 1: Обновите свой сервер
Давайте удостоверимся, что наша система полностью обновлена, прежде чем мы приступим к установке нашего сервера:
sudo dnf update
Шаг 2: Установите Squid
Squid доступен в репозиториях Yum.
Запустите команду, показанную ниже, чтобы установить его на наш сервер.
sudo dnf install squid -y
Шаг 3. Настройка параметров форвард прокси
Вы отправляете запрос на подключение к форвадному прокси, а затем он получает данные из Интернета от вашего имени.
Таким образом, он также может выступать в качестве сервера кэширования, сохраняя все страницы, которые часто посещаются.
В следующий раз, когда вы получите доступ к страницам, которые были кэшированы, ваш запрос не обязательно должен идти в Интернет.
Браузер извлекает его из кеша.
Прежде чем мы продолжим, давайте сделаем резервную копию файла конфигурации по умолчанию.
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.ori
sudo vim /etc/squid/squid.conf
Закомментируйте все сетевые ACL по умолчанию, как показано ниже:
#acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN) #acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN) #acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN) #acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines #acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN) #acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN) #acl localnet src fc00::/7 # RFC 4193 local private network range #acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines #Add the subnet that will be using the proxy. This is typically your local area network(s). You can give them anyname. acl my_proxynet src 172.20.0.0/24 http_access deny to_localhost #Comment out the line below #http_access allow localnet #Allow the defined network acl above http_access allow my_proxynet #Hide your IP address forwarded_for off #Extra Settings request_header_access From deny all request_header_access Server deny all request_header_access Referer deny all request_header_access X-Forwarded-For deny all request_header_access Via deny all request_header_access Cache-Control deny all
#Uncomment the line below in the same config file cache_dir ufs /var/spool/squid 10000 16 256
Шаг 4: Запустите Squid и разрешите его работу на вашем брандмауэре
Если на вашем сервере запущен FirewallD, нам нужно разрешить свой прокси!
Выполните команды, показанные ниже, чтобы запустить/включить, а затем разрешите squid на своем брандмауэре.
sudo firewall-cmd --add-service=squid --permanent
sudo firewall-cmd --reload
curl -O -L "https://www.redhat.com/index.html" -x "localhost:3128"
Шаг 5: Настройте клиент CentOS
На вашем клиенте CentOS вы можете настроить прокси-сервер для всей системы или для каждого приложения.
Чтобы не тратить много времени на обработку каждого приложения, давайте настроим наш прокси-сервер для всей системы.
Откройте файл, указанный ниже и добавьте следующие настройки:
sudo vim /etc/profile.d/proxyserver.sh
настройки:
MY_PROXY_URL="192.168.120.15:3128" ## Если у вашего сервера есть доменное имя, лучше укажите его
HTTP_PROXY=$MY_PROXY_URL
HTTPS_PROXY=$MY_PROXY_URL
FTP_PROXY=$MY_PROXY_URL
http_proxy=$MY_PROXY_URL
https_proxy=$MY_PROXY_URL
ftp_proxy=$MY_PROXY_URL
Затем выполните source:
source /etc/profile.d/proxyserver.sh
Заключение
Теперь у нас установлен Squid Proxy
Поиграйте с ним и проверьте, чего вы можете достичь с его использованием в вашей настройке.
См. также полезные статьи о Squid:
🧴 Мониторинг журналов доступа Squid с помощью Graylog
Настройка аутентификации прокси-сервера Squid в Ubuntu 18.04 / Fedora 29/28 / CentOS 7
Ограничение загрузки Squid не работает с группами доступа пользователей
Как настроить сервер Squid Proxy на Ubuntu и Debian
Создание прозрачного прокси , используя Squid и iptables
Как создать прокси-сервер HTTP с помощью Squid на CentOS 7
Аутентификация NTLM Squid (NTLM_Auth)
Настроить Squid, чтобы он не кэшировал определенный домен или веб-сайт