Android

Как установить и настроить прокси Squid на Debian 10 Linux

Debian 10 Review (GNOME)

Debian 10 Review (GNOME)

Оглавление:

Anonim

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

В этом руководстве мы расскажем, как настроить прокси-сервер Squid на Debian Buster. Мы также покажем вам, как настроить браузеры Firefox и Google Chrome для его использования.

Установка Squid на Debian

Пакет Squid включен в стандарт на репозитории Debian 10. Выполните следующие команды от имени пользователя sudo для установки Squid:

sudo apt update sudo apt install squid

После завершения установки служба Squid запустится автоматически.

Убедитесь, что установка прошла успешно и служба Squid запущена, проверив состояние службы Squid:

sudo systemctl status squid

● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Sat 2019-08-03 08:52:47 PDT; 3s ago…

Конфигурирование Squid

Squid можно настроить, отредактировав /etc/squid/squid.conf конфигурации /etc/squid/squid.conf . Отдельные файлы конфигурации могут быть включены с помощью директивы include.

Файл конфигурации squid.conf содержит комментарии, описывающие, что делает каждый параметр конфигурации.

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

sudo cp /etc/squid/squid.conf{,.orginal}

Чтобы изменить конфигурацию, откройте файл в текстовом редакторе:

sudo nano /etc/squid/squid.conf

По умолчанию Squid прослушивает порт 3128 на всех сетевых интерфейсах.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

Запуск Squid на всех интерфейсах и на порте по умолчанию должен подойти большинству пользователей.

Списки контроля доступа (ACL) позволяют вам контролировать доступ клиентов к веб-ресурсам. По умолчанию Squid разрешает доступ только с локального хоста.

Если все клиенты, которые будут использовать прокси-сервер, имеют статический IP-адрес, самый простой вариант - создать ACL, который будет включать разрешенные IP-адреса.

Вместо добавления IP-адресов в основной файл конфигурации мы создадим новый включаемый файл, в котором будут храниться IP-адреса:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

После этого откройте основной файл конфигурации и создайте новый ACL с именем allowed_ips (первая выделенная строка) и разрешите доступ к этому ACL с помощью директивы http_access (вторая выделенная строка):

/etc/squid/squid.conf

#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

Порядок правил http_access важен. Убедитесь, что вы добавили строку, прежде чем http_access deny all .

Директива http_access работает аналогично правилам брандмауэра. Squid читает правила сверху вниз, и когда правило соответствует приведенным ниже правилам, они не обрабатываются.

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

sudo systemctl restart squid

Аутентификация Squid

Squid может использовать разные бэк-энды, в том числе базовую аутентификацию Samba, LDAP и HTTP для аутентифицированных пользователей.

В этом примере мы настроим Squid на использование базовой аутентификации. Это простой метод аутентификации, встроенный в протокол

Мы будем использовать утилиту openssl для генерации паролей и добавления пары username:password в файл /etc/squid/htpasswd с помощью команды tee как показано ниже:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Давайте создадим пользователя с именем «buster» с паролем « Sz$Zdg69 »:

printf "buster:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd

buster:RrvgO7NxY86VM

Следующим шагом является включение базовой аутентификации HTTP. Откройте основную конфигурацию и добавьте следующее:

/etc/squid/squid.conf

#… auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

Первые три выделенные строки создают новый ACL с именем authenticated а последняя выделенная строка разрешает доступ аутентифицированным пользователям.

Перезапустите сервис Squid:

sudo systemctl restart squid

Настройка брандмауэра

Пользователи UFW могут открыть порт 3128 , включив профиль «Squid»:

sudo ufw allow 'Squid'

sudo nft add rule inet filter input tcp dport 3128 ct state new, established counter accept Если Squid работает на другом порту, отличном от порта по умолчанию, вам нужно разрешить трафик на этот порт.

Настройка вашего браузера для использования прокси

В этом разделе хорошо показано, как настроить браузер для использования прокси-сервера Squid.

Fire Fox

Шаги ниже одинаковы для Windows, macOS и Linux.

  1. В верхнем правом углу нажмите значок гамбургера чтобы открыть меню Firefox:

    Нажмите на ⚙ Preferences .

    Прокрутите вниз до раздела « Network Settings » и нажмите кнопку « Settings… .

    Откроется новое окно.

    • Установите переключатель « Manual proxy configuration сервера». Введите IP-адрес своего сервера Squid в поле « HTTP Host и 3128 в поле « Port Установите флажок « Use this proxy server for all protocols кнопку OK , чтобы сохранить настройки.

На этом этапе ваш Firefox настроен, и вы можете просматривать Интернет через прокси-сервер Squid. Чтобы проверить это, откройте google.com , введите «what is my ip» и вы увидите IP-адрес своего сервера Squid.

Чтобы вернуться к настройкам по умолчанию, перейдите в « Network Settings , установите переключатель « Use system proxy settings и сохраните настройки.

Есть также несколько плагинов, которые могут помочь вам настроить параметры прокси Firefox, такие как FoxyProxy.

Гугл Хром

Google Chrome использует настройки прокси-сервера системы по умолчанию. Вместо изменения параметров прокси операционной системы вы можете использовать дополнение, такое как SwitchyOmega, или запустить браузер Chrome из командной строки.

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

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

macOS:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Windows:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

Профиль будет создан автоматически, если он не существует. Таким образом, вы можете запускать несколько экземпляров Chrome одновременно.

Чтобы убедиться, что прокси-сервер работает нормально, откройте google.com и введите «what is my ip». IP-адрес, указанный в вашем браузере, должен быть IP-адресом вашего сервера.

Вывод

Мы рассмотрели основы того, как установить Squid на Debian 10 и настроить свой браузер для его использования.

Squid является одним из самых популярных прокси кеширующих серверов. Это повышает скорость работы веб-сервера и может помочь вам ограничить доступ пользователей к Интернету.

прокси-дебиан