Как установить прокси-сервер Squid на Ubuntu 20.04 LTS

Как установить прокси-сервер Squid на Ubuntu 20.04 LTS

 

В этом руководстве мы покажем вам, как установить прокси-сервер Squid на Ubuntu 20.04 LTS. Для тех из вас, кто не знал, Squid — это кэширующий прокси для Интернета, поддерживающий HTTP, HTTPS, FTP и многие другие. Его можно использовать для повышения производительности веб-сервера за счет кэширования повторяющихся запросов, фильтрации веб-трафика и доступа к контенту с географическим ограничением.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку прокси-сервера Squid на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, например Linux Mint.

Установите прокси-сервер Squid на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие aptкоманды в терминале.

sudo apt update
sudo apt upgrade

Шаг 2. Установка прокси-сервера Squid на Ubuntu 20.04.

Пакет прокси-сервера squid доступен в репозиториях Ubuntu. Чтобы установить его, выполните следующие команды:

sudo apt install squid

После завершения установки служба Squid запустится автоматически. Чтобы убедиться в этом, проверьте статус сервиса:

sudo systemctl status squid

Шаг 3. Настройте прокси-сервер Squid.

Чтобы начать настройку вашего экземпляра squid, откройте файл в вашем любимом текстовом редакторе:

sudo nano /etc/squid/squid.conf
# Recommended minimum configuration:
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl SSL_ports port 443
acl Safe_ports port 80            # http
acl Safe_ports port 21            # ftp
acl Safe_ports port 443           # https
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280           # http-mgmt
acl Safe_ports port 488           # gss-http
acl Safe_ports port 591           # filemaker
acl Safe_ports port 777           # multiling http
acl SSL_ports port 9001           # webmin
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_port 3128

forwarded_for off

request_header_access Allow allow all
request_header_access Authorization 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
visible_hostname idroot.us

По умолчанию squid настроен на прослушивание порта 3128на всех сетевых интерфейсах на сервере. Каждый раз, когда вы вносите изменения в файл конфигурации, вам необходимо перезапустить службу Squid, чтобы изменения вступили в силу:

sudo systemctl restart squid

Шаг 4. Настройте аутентификацию Squid.

Теперь мы создаем наш файл аутентификации, который Squid может использовать для проверки аутентификации пользователей:

$ htpasswd -b /etc/squid/squid_passwd username password

Пример:

$ htpasswd -b -c /etc/squid/squid_passwd meilana maria

После внесения изменений в файл конфигурации сохраните файл и перезапустите службу сервера squid, чтобы изменения вступили в силу, используя следующую команду, введенную в командной строке терминала:

sudo systemctl restart squid

Шаг 5. Настройте межсетевой экран.

Чтобы открыть порты Squid, включите профиль UFW ‘Squid’:

sudo ufw allow 'Squid'

Шаг 6. Настройте параметры прокси в браузере Firefox.

Теперь, когда у вас настроен Squid, последний шаг — настроить предпочитаемый вами браузер для его использования. В вашем Firefox настройте его для подключения к внешней сети через ваш сервер Squid. Настройки -> Общие -> Настройки сети -> Настройка прокси вручную. Установите флажок Использовать этот прокси-сервер для всех протоколов.

Поздравляю! Вы успешно установили Squid . Благодарим вас за использование этого руководства по установке прокси-сервера Squid на вашем Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Squid .