Android

Как установить и настроить прокси squid на centos 7

Use CentOS Linux for Routing, Proxy, NAT, DHCP - Part 5

Use CentOS Linux for Routing, Proxy, NAT, DHCP - Part 5

Оглавление:

Anonim

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 на всех сетевых интерфейсах на сервере.

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

Мы будем использовать 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

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

sudo firewall-cmd --permanent --add-port=3128/tcp firewall-cmd --reload Если 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 на CentOS 7 и настроить свой браузер для его использования.

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

proxy centos