Как установить и настроить прокси-сервер Squid на CentOS 7

Squid Proxy CentOS

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

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

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

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

 sudo yum install squid

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

 sudo systemctl start squid sudo systemctl enable squid

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

 sudo systemctl status squid
 ● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-07-13 16:47:56 UTC; 12s ago ...

Настройка Squid

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

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

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

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

 sudo nano /etc/squid/squid.conf

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

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

/etc/squid/squid.conf

 # Squid normally listens to port 3128 http_port IP_ADDR:PORT

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

Вы можете контролировать доступ к серверу Squid с помощью списков контроля доступа (ACL).

По умолчанию Squid разрешает доступ только с localhost и localnet.

Если все клиенты, которые будут использовать прокси-сервер, имеют статический 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 на использование базовой аутентификации. Это простой метод аутентификации, встроенный в протокол HTTP.

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

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

Например, чтобы создать пользователя с именем «mike» и паролем « Pz$lPk76 », выполните:

 printf "mike:$(openssl passwd -crypt 'Pz$lPk76')n" | sudo tee -a /etc/squid/htpasswd
 mike:2nkgQsTSPCsIo

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

Откройте основную конфигурацию и добавьте следующее:

/etc/squid/squid.conf

 # ... auth_param basic program /usr/lib64/squid/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

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

Если вы используете брандмауэр , вам необходимо открыть порт 3128 Для этого выполните следующие команды:

 sudo firewall-cmd --permanent --add-port=3128/tcp firewall-cmd --reload

Если Squid работает на другом порту, отличном от порта по умолчанию, вам необходимо разрешить трафик на этом порту с помощью.

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

Теперь, когда Squid настроен, последний шаг — настроить предпочитаемый вами браузер для его использования.

Firefox

Описанные ниже шаги одинаковы для Windows, macOS и Linux.

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

  2. Нажмите на ссылку ⚙ Preferences .

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

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

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

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

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

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

Google Chrome

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"

Окна:

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

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

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

Заключение

Вы узнали, как установить Squid на CentOS 7 и настроить браузер для его использования.

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

Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.

proxy centos Не используете CentOS 7?
Выберите другую ОС:
дебиан 10 убунту 18.04 убунту 20.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *