Squid — один из наиболее часто используемых прокси-серверов для управления доступом в Интернет из локальной сети и защиты сети от незаконного трафика и атак. Они размещаются между клиентом и Интернетом. Все запросы от клиента маршрутизируются через промежуточный прокси-сервер. Squid работает с рядом служб, таких как протокол передачи гипертекста (HTTP), протокол передачи файлов (FTP) и другие сетевые протоколы.
Помимо работы в качестве прокси-сервера, Squid в основном часто используется для кэширования. посещенные веб-страницы с веб-сервера. Поэтому, когда пользователь запрашивает страницу с веб-сервера, запросы сначала проходят через прокси-сервер, чтобы проверить, доступен ли запрошенный контент. Это снижает нагрузку на сервер и использование полосы пропускания, а также ускоряет доставку контента, тем самым улучшая взаимодействие с пользователем.
Squid также можно использовать для анонимности во время серфинга в Интернете. Через прокси-сервер Squid мы можем получить доступ к ограниченному контенту в определенной стране.
В этом руководстве будет показано, как установить и настроить прокси-сервер Squid в Debian 10 (Buster).
Предварительные требования:
- доступ «sudo» к системе, в которой будет установлен Squid.
- Базовые знания команд терминала Linux на основе Debian.
- Базовые знания об использовании прокси-сервера.
Шаги по установке squid на Debian 10 (Buster)
1 ) Сначала обновите репозиторий и пакеты в Debian 10 (Buster)
$ sudo apt upgrade -y
2) Теперь установите пакет Squid с помощью следующей команды:
Процесс установки довольно прост. Он автоматически установит любую необходимую зависимость.
3) Теперь перейдите к основному файлу конфигурации прокси-сервера Squid, расположенному в/etc/squid/squid.conf.
Примечание : в целях безопасности сделайте резервную копию этого файла.
4) Чтобы разрешить доступ к прокси-серверу HTTP для всех, перейдите к строке содержащую строку « http_access deny all » и измените ее на « http_access allow all ». Если вы используете редактор vi или vim, вы можете напрямую перейти к этой конкретной строке, используя поиск с косой чертой (/).
Теперь просто удалите символ «#» в начале этой строки, чтобы раскомментируйте строку.
Мы разрешим только localhost и наш устройства локальной сети (LAN), чтобы использовать Squid для более точного управления. Для этого мы изменим файл squid.conf, как показано ниже:
«http_access deny localnet» на «http_access allow localnet»
«http_access deny localhost» на «http_access allow localhost».
Теперь перезапустите службу Squid , чтобы изменения вступили в силу.
5) Теперь перейдите к строке с указанием« http_port ». Он содержит номер порта для прокси-серверов Squid. Номер порта по умолчанию — 3218 . Если по какой-либо причине, например конфликту номеров портов, вы можете изменить номер порта на другое значение, как показано ниже:
6) Вы также можете изменить имя хоста прокси-сервера Squid с помощью параметр visible_hostname . Также перезапускайте службу Squid при каждом изменении файла конфигурации. Используйте следующую команду:
7) Настройка Squid ACL
а) Определите правило, разрешающее подключение только определенному IP-адресу.
Перейдите к строке, содержащей строку #acl localnet src , и раскомментируйте ее. Если строки нет, просто добавьте новую. Теперь добавьте любую IP вы хотите разрешить доступ с сервера Squid. Это показано ниже:
Сохраните файл и перезапустите сервер Squid.
б) Определите правило, чтобы открыть порт для подключения.
Чтобы открыть порт, раскомментируйте строку «#acl Safe_ports port» и добавьте номер порта, который вы хотите разрешить:
Сохраните файл и перезапустите сервер squid.
c) Используйте прокси-сервер Squid для блокировки доступа к определенным веб-сайтам.
Чтобы заблокировать доступ к определенным веб-сайтам с помощью Squid, создайте новый файл с именем blocked.acl в том же месте, что и squid.conf.
Теперь укажите веб-сайты, которые вы хотите заблокировать, указав их адреса начиная с точки:
.youtube.com
.yahoo.com
Теперь снова откройте файл конфигурации squid и найдите строку «acl блокированный_сайт dstdomain ». Добавьте сюда расположение файла «blocked.acl», как показано ниже:
Также добавьте строку под этим как:
Сохраните файл и перезапустите сервер squid.
Точно так же мы можем создать новый файл для хранения IP-адресов разрешенных клиентов, которые будут использовать прокси-сервер Squid.
Теперь укажите IP-адреса, которые вы хотите разрешить, и сохраните файл. Теперь создайте новую строку acl в основном файле конфигурации и разрешите доступ к acl с помощью директивы http_access. Эти шаги показаны ниже:
http_access allow allowedHosts
Сохраните файл и перезапустите сервер squid.
Примечание : мы также можем добавить IP-адреса разрешенных и запрещенных клиентов в основной файл конфигурации, как показано ниже:
acl myIP2 src 10.0.0.2
http_access разрешить myIP1
http_access allow myIP2
d) Изменение порта squid
Порт Squid по умолчанию — 3128, который может можно изменить с squid.conf на любое другое значение, как показано ниже:
Сохраните файл и перезапустите сервер Squid.
Настройка клиента для прокси-сервера Squid
Самое лучшее в Squid — это то, что все настройки должны выполняться на самой стороне сервера. Чтобы настроить клиент, вам просто нужно ввести параметр squid в настройках сети веб-браузера.
Давайте проведем простой тест проксирования с помощью веб-браузера Firefox. Просто перейдите в «Меню»> «Настройки»> «Настройки сети»> «Настройки».
Откроется новое окно. В разделе « Настроить прокси-доступ в Интернет » выберите « Ручная настройка прокси-сервера ». Текстовое поле с надписью «HTTP Proxy», но IP-адрес прокси-сервера Squid. В текстовом поле с надписью «Порт» введите номер порта, указанный вами в «http_port» внутри файла squid.conf.
На вкладке поиска браузера перейдите на любой адрес веб-сайта (www.google.com). Вы должны иметь возможность просматривать этот веб-сайт. Теперь вернитесь в браузер Squid и остановите службу командой:
Еще раз проверьте URL-адрес веб-сайта. обновив страницу. На этот раз вы увидите следующую ошибку:
Есть много вещей, которые мы можем сделать с Squid. Обширная документация доступна на официальном сайте. Здесь вы можете узнать, как настроить Squid со сторонними приложениями, настроить аутентификацию прокси и многое другое. Тем временем попробуйте заблокировать определенный веб-сайт, IP-адреса, изменить порт Squid по умолчанию, развернуть кеширование для ускорения передачи данных.