Лайфхаки

Маленькие, полезные хитрости

Экспертное руководство: как настроить прокси-сервер на linux без ошибок

29.02.2024 в 08:08

Экспертное руководство: как настроить прокси-сервер на linux без ошибок

Операционные системы на базе Linux достаточно удобные и несложные в использовании, но не могут гарантировать пользователем полную безопасность в сети. Чтобы защитить своё устройство, вам нужен прокси для Linux. Прокси-сервер сменит ваш IP-адрес, обезопасит данные от взломов, поможет оставаться анонимным в Интернете и обходить любые ограничения.

Мы покажем, как настроить прокси для ОП Linux через графический интерфейс.

Настройка прокси в Astra Linux

  1. Нажмите на значок Пуска в левом нижнем улгу экрана.
  2. Перейдите в раздел «Панель управления».
  3. Выберите раздел «Сеть».
  4. Перейдите во вкладку «Прокси».
  5. Отметьте пункт «Использовать настройку прокси, указанную вручную».
  6. В поле, которое соответствуют типу вашего прокси, введите IP-адрес и Порт прокси-сервера.
  7. Отметьте «Использовать этот прокси-сервер для всех протоколов».
  8. Здесь вы можете ввести ссылки на те сайты, для которых прокси работать не будет.
  9. Нажмите на кнопку «Применить». Готово.
  10. Если вы используете приватный прокси, после настройки вы увидите окно с авторизацией. Введите Логин и Пароль и нажмите «Вход».

Настройка прокси в Kali Linux

  1. На главном экране нажмите на стрелочку в правом верхнем углу.
  2. Откройте раздел «Прокси вручную».
  3. Отметьте здесь пункт «Сетевые параметры».
  4. В меню слева выберите «Сетевая прокси-служба».
  5. Выберите Метод «Ручной».

    Экспертное руководство: как настроить прокси-сервер на linux без ошибок

  6. В поле, которое соответствуют типу вашего прокси, введите IP-адрес и Порт прокси-сервера.
  7. Сохраните и закройте настройки. Если вы используете приватный прокси, после настройки вы увидите окно с авторизацией. Введите Логин и Пароль и нажмите «Вход».

Настройка прокси в Ubuntu Linux

  1. Перейдите в Настройки, нажав на значок шестерёнки на боковой панели.
  2. Откройте раздел «Сеть», а затем нажмите на шестерёнки рядом с «Сетевой прокси».
  3. В открытом окне выберите режим «Вручную».
  4. В поле рядом с типом вашего прокси введите IP-адрес и Порт. Вы можете использовать несколько прокси-серверов.
  5. Закройте окно, и прокси будет настроен! Перезагрузите устройство, чтобы применить новые параметры.
  6. Если вы используете приватный прокси, после настройки вы увидите окно с авторизацией. Введите Логин и Пароль и нажмите «Вход».

Теперь вы знаете, как настроить прокси в популярных ОП на базе Linux! Чтобы проверить, правильно ли вы установили прокси-сервер, откройте браузер и введите в строке поиска «Узнать IP-адрес» или «Какой мой IP-адрес» и выберите любой сайт, который вам понравится. Если IP на сайте и IP вашего прокси совпадают – установка прошла успешно!

Связанные вопросы и ответы:

1. Как правильно установить прокси-сервер на Linux

Для установки прокси-сервера на Linux необходимо выбрать подходящее программное обеспечение, такое как Squid или Nginx. Затем следует установить выбранный софт при помощи менеджера пакетов вашего дистрибутива. После установки необходимо настроить конфигурационные файлы прокси-сервера в соответствии с вашими потребностями. После настройки необходимо запустить прокси-сервер и убедиться, что он функционирует корректно. Не забудьте добавить прокси-сервер в автозагрузку, чтобы он запускался при каждом включении системы.

2. Какие параметры конфигурационного файла прокси-сервера Linux следует настроить

В конфигурационном файле прокси-сервера Linux следует настроить параметры, такие как порт прокси-сервера, разрешенные IP-адреса клиентов, правила фильтрации трафика, максимальный размер кэша, логирование действий и многие другие. Настройка этих параметров позволит оптимизировать работу прокси-сервера и обеспечить безопасность вашей сети. Важно тщательно изучить документацию выбранного софта и понять, какие именно параметры следует настроить для вашей конкретной задачи.

3. Как настроить аутентификацию пользователей на прокси-сервере Linux

Для настройки аутентификации пользователей на прокси-сервере Linux следует использовать специальные модули, такие как basic_auth или NTLM. После установки и настройки модуля аутентификации необходимо указать список пользователей и их паролей в специальном файле. Затем следует настроить конфигурационный файл прокси-сервера таким образом, чтобы он требовал аутентификацию при доступе к ресурсам. Таким образом, только аутентифицированные пользователи смогут пользоваться прокси-сервером.

4. Как настроить фильтрацию контента на прокси-сервере Linux

Для настройки фильтрации контента на прокси-сервере Linux следует использовать специальные правила доступа и списки блокировки. Например, можно блокировать доступ к определенным сайтам или категориям сайтов, контролировать загрузку файлов определенных типов, фильтровать рекламу и вредоносный контент и многое другое. Необходимо внимательно изучить возможности выбранного прокси-сервера и настроить необходимые параметры фильтрации в его конфигурационном файле. Фильтрация контента поможет обеспечить безопасность и эффективность работы вашей сети.

5. Как настроить кэширование на прокси-сервере Linux

Для настройки кэширования на прокси-сервере Linux следует указать максимальный размер кэша, методы кэширования, время жизни кэша и другие параметры. Настройка кэширования позволяет ускорить загрузку ресурсов пользователей за счет временного хранения копий этих ресурсов на сервере. Это особенно полезно при доступе к одним и тем же ресурсам с нескольких клиентов, так как это позволяет снизить нагрузку на сеть и ускорить доступ к контенту. Необходимо учесть, что кэширование требует определенных ресурсов сервера, поэтому следует оценить объем кэша и его эффективность.

6. Как настроить прозрачный прокси-сервер на Linux

Для настройки прозрачного прокси-сервера на Linux необходимо использовать специальные правила iptables для перенаправления трафика через прокси. Сначала следует разрешить пересылку пакетов и настроить правила iptables для перехвата HTTP и HTTPS трафика. Затем нужно настроить прокси-сервер, чтобы он мог корректно обрабатывать перенаправленный трафик. После этого необходимо протестировать работу прозрачного прокси-сервера, убедившись, что трафик правильно перенаправляется и обрабатывается. Прозрачный прокси позволяет эффективно фильтровать и контролировать трафик без необходимости настройки на клиентских устройствах.

Как выбрать подходящий прокси-сервер для работы на linux

Давайте попробуем вместе с ноля создать и настроить собственный прокси-сервер на базе дистрибутивов Ubuntu / Debian с помощью Squid .

Устанавливаем пакеты программного обеспечения

Прежде всего, обновляем репозиторий нашей операционной системы. Для этого выполняем командуapt update:

Важно : здесь и далее управление пакетами с помощью утилиты apt ( Advanced Packaging Tool ) выполняется с правами суперпользователя ( root ) — через командуsudo.

Теперь обновляем пакеты — для этого вводим в командную строку командуapt dist-upgrade:

Как выбрать подходящий прокси-сервер для работы на Linux. Пошаговое руководство по установке и настройке прокси-сервер Squid

Поскольку в результате обновилось ядро Linux , нужно перегрузить систему . Воспользуемся командойshutdownс опцией now(немедленно):

Теперь устанавливаем прокси-сервер Squid . Для этого используем командуapt install, добавив в качестве аргументаsquid. Также установим apache2-utils для аутентификации пользователей по паролю:

Настраиваем прокси-сервер Squid

Теперь нам предстоит настроить работу нашего прокси-сервера . На всякий случай делаем резервную копию файла настроек Squid . Для этого сначала переходим в каталог /etc/squid/ с помощью командыcd:

После чего копируем файл squid.conf , изменив имя итогового файла наsquid.conf.defaultс помощью командыcp:

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

Как выбрать подходящий прокси-сервер для работы на Linux. Пошаговое руководство по установке и настройке прокси-сервер Squid

Как установить необходимое программное обеспечение для настройки прокси-сервера на linux

Прокси-сервер Squid поставляется практически во всех дистрибутивах операционных систем семейства Linux. Если его нет в комплекте операционной системы, то его можно загрузить с сайта разработчика — www.squid-cache.org. На момент написания этой статьи уже появилась официальная версия 3.0STABLE1 — это означает, что почти четырехлетняя работа над новой версией 3.0 успешно завершена. Однако пока ее можно установить только для тестирования, так как она еще сырая и не обкатана администраторами. Поэтому мы рассмотрим одну из старых версий Squid — 2.6STABLE12. На данный момент последней версией серии 2.6 является 2.6STABLE18 от 10 января 2008 года.

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

Установку прокси-сервера Squid также можно осуществить через программные пакеты типа yum или apt-get, которые автоматически установят пакет Squid и сконфигурируют его без участия пользователя. Пример команды установки:

yum install Squid

или, если Squid уже установлен, но требует обновления:

yum update squid

После установки прокси-сервер Squid можно запускать из командной строки через команду squid или, что более правильно, service squid start, при необходимости можно добавить этот сервис в скрипт ( /etc/rc.d ) автозагрузки при старте системы.

Запустив сервис в первый раз с настройками по умолчанию, пользователь должен увидеть следующую картину по команде ps axf | grep squid :

29311 ?    Ss   0:00 squid -D

29313 ?    S    2:03 \_ (squid) -D

29315 ?    Ss   0:01     \_ (unlinkd)

Это свидетельствует о том, что сервис squid запущен и ожидает входящих соединений. Дополнительная программа unlinkd, для которой родительским процессом является squid, отвечает за очистку кэша. Если возникли проблемы с запуском сервиса, процесс повис или вообще не запустился, следует посмотреть log-файл, который генерируется автоматически и размещен в папке /var/log/squid/ , — это даст представление об ошибке, из-за которой сервис работает некорректно.

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

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

Какие основные параметры необходимо сконфигурировать для эффективной работы прокси-сервера на linux

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

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

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

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

sudo apt updatesudo 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».

Как настроить доступ к прокси-серверу через браузер на linux


Был найден неиспользуемый стационарный компьютер с двух-ядерным Intel-ом, 1 Гб ОЗУ и жестким на 80 Gb.Для решения будет сделано следующее:
  1. Установлена Linux Ubuntu Server 18.04 LTS
  2. На сервер установлен и настроен прозрачный Proxy Squid, собранный из исходных кодов с поддержкой HTTPS.
  3. Интеграция сервера в подсеть, путем перенаправления запросов на Proxy или альтернативным вариантом (в самом конце)
Начнем.

3.1. Установка и настройка Ubuntu 18.04

Процесс установки прост. Качаем дистрибутив Ubuntu Server 18.04 с официального сайта. Рекомендую качать со старым установщиком, так как новый, лично у меня, ушел в бесконечную загрузку во время установки. Записываем образ на флешку/диск любым удобным способом. Для записи на флешку рекомендую использовать Rufus и в начале записи выбрать «Запись DD-образа». Далее, следуя информации на экране, устанавливаем систему. Остановимся только на выборе компонентов, где можно выбрать сразу OpenSSH и всё. Нам много не нужно, а что нужно, установим сами.Итак, Ubuntu установлена. Сеть, если у вас DHCP, уже настроена. Войдем в режим суперпользователя, чтобы каждый раз не добавлять sudo к командам.

sudo -s

Введем свой пароль и обновим систему.

apt-get update apt-get upgrade

Установим текстовый редактор и файловый менеджер.

apt-get install nano mc

Чтобы сохранить файл в nano , необходимо нажать Ctrl+O и следом Y . Выход из редактора осуществляется нажатием Ctrl+X . Можно сохранить файл сразу перед выходом, нажав Ctrl+X и следом Y .Чтобы открыть файловый менеджер, введите mc . Откроется типичный DOS-овский NortonCommander или в Windows TotalCommander/FAR с двумя панелями. Хотя я привык работать с консолью, файловый менеджер тоже иногда помогает, например, найти нужный файл быстрее.Если же у вас не DHCP или вы хотите отдельный IP-адрес для своего сервера, как этого захотел я, то перейдем к настройке.

Настройка статического IP-адреса

В отличии от предыдущих версий Ubuntu, в новой 18.04 сеть настраивается уже не в привычном всем нам /etc/network/interfaces , а через netplan в файле /etc/netplan/*.yaml . Файл может называться по разному, но он там один. Сам же /etc/network/interfaces пишет нам следующее:
Также, если вы захотите обновиться с версии старше до 18.04, настройки сети останутся там, где и были. Netplan актуален только для чистой установки 18.04.
Приступим, все-таки, к настройке сети.
Для начала посмотрим название сетевого интерфейса, присвоенное ОС, и запомним его.

ifconfig

Теперь откроем файл с настройками.

nano /etc/netplan/*.yaml

В нем уже должна быть настройка DHCP. Приведем файл к следующему виду.

# This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: название сетевого интерфейса: dhcp4: no dhcp6: no addresses: gateway4: шлюз nameservers: addresses:

Вписываем свои интерфейс, адрес и шлюз. DNS рекомендую оставить эти — Яндекс.DNS Детский будет как дополнительная защита. Такой же DNS настроен у меня в роутере. В любом случае, необходимо указывать тот DNS, который раздает роутер.
Здесь необходимо обратить внимание на пробелы (именно пробелы, а не табуляция). Каждый, своего рода, пункт отделяется от предыдущего пробелом. К примеру, если после nameservers строку addresses не отделить пробелом, а выровнять со строкой выше, то, при попытке применения настроек, netplan выдаст ошибку.
Применим настройки.

netplan apply

Перезагрузим сервер, на всякий случай.

Как обеспечить безопасность прокси-сервера на linux

Развернутый мною Squid по данной статье, успешно работает. Но столкнулся с такой ситуацией что сразу не понял почему логи Squid хранятся крайне мало и для детального анализа трафика проходящего в компании не достаточно.

По умолчанию ротация логов в Squid выставлена всего на три дня, поэтому яразобрался как увеличить срок жизни логов и выставить ротацию логов в период одного месяца. В моем случае этого достаточно.

Осуществлять ротацию логов мы будем с помощью системной службы  logrotate , входящей в состав Debian-like  систем.

Ротация логов осуществляет периодическую замену старых логов новыми, помещая устаревшие данные в архив или просто удаляя их. В зависимости от настроек архив логов может храниться как в сжатом, так и в несжатом виде и иметь необходимую глубину.

Основные настройки logrotate хранятся в /etc/logrotate.conf , настройки отдельных сервисов (в нашем случае Squid ) хранятся в  /etc/logrotate.d/squid , и эти настройки имеют приоритет над logrotate.conf . Сама служба вызывается раз в сутки через планировщик cron .

Нас интересует ротация логов только двух файлов access.log и cache.log . Для файла access.log мы будем раз в месяц выполнять ротацию, а для файла cache.log раз в неделю. Приведем файл конфигурации ( /etc/logrotate.d/squid ), к виду:

# Ежемесячная ротация лог-файла accesss.log /var/log/squid/access.log { # daily # weekly monthly compress delaycompress rotate 2 missingok nocreate sharedscripts postrotate test ! -e /var/run/squid.pid || test ! -x /usr/sbin/squid || /usr/sbin/squid -$ endscript } # Еженедельная ротация лог-файла cache.log /var/log/squid/cache.log { # daily weekly # monthly compress delaycompress rotate 1 missingok nocreate sharedscripts postrotate test ! -e /var/run/squid.pid || test ! -x /usr/sbin/squid || /usr/sbin/squid -$ endscript }

Разберем структуру написанного выше подробнее. Первая строка указывает путь к обрабатываемым файлам логов. В данном случае обрабатываются файлы access.log и cache.log  в соответствии с указанными ниже опциями:

  • daily — задает ежедневную ротацию
  • weekly — задает еженедельную ротацию
  • monthly — задает ежемесячную ротацию
  • compress — указывает сжимать архивные логи, обратная опция nocompress.
  • delaycompress — не сжимать текущий лог до следующей ротации, обычно используется в тех случаях, когда в лог происходит непрерывная запись.
  • rotate 2 — количество ротаций до удаления файла, в данном случае будут храниться два архива.
  • missingok — при отсутствии файла журнала указывает продолжить работу без вывода сообщения об ошибке.
  • nocreate — не создавать новый файл лога.
  • sharedscripts — используется для секций prerotate и postrotate, данная опция указывает исполнять скрипты из этих секций один раз перед и после ротации всех логов, в противном случае скрипты будут исполнены перед и после ротации каждого лога.
  • postrotate —  проверяет, запущен ли squid и запускает ротацию логов самим прокси сервером.

Еще возможна секция prerotate , она добавляется автоматически при установке анализатора логов SARG и в случае если файл (/ usr/sbin/sarg-reports ) существует и является исполняемым, запускает его. В моем случае формирование отчетов в Sarg запускается по cron, поэтому я исключил его из конфигурации.