Настройка прокси-сервера Debian

Обновлено: 21.11.2024

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

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

Проверьте, установлен ли прокси на сервере

Эта команда покажет, настроен ли в системе прокси-сервер:

Настройка прокси для программ командной строки

** 1. Имя пользователя и пароль не требуются: **

Чтобы настроить прокси без имени пользователя и пароля:

<р>2. Аутентификация по имени пользователя и паролю:

Чтобы настроить прокси-сервер с аутентификацией по имени пользователя и паролю:

<р>3. Требуется домен, имя пользователя и пароль:

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

Обработка специальных символов

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

Если в имени пользователя или пароле используется символ @, добавьте обратную косую черту \ перед @

Постоянная настройка прокси в Debian/CentOS/RHEL (для процессов без оболочки)

Укажите переменные среды в файле /etc/environment, если вы хотите добавить постоянный прокси-сервер

Обратите внимание, что в отличие от сценария оболочки в каталоге /etc/profile.d, описанного в следующем разделе, файл /etc/environment НЕ является сценарием оболочки и применяется ко всем процессам без оболочки.

Настройка прокси для процессов с помощью SHELL

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

Файл /etc/environment и файл /etc/profile

/etc/environment не является частью POSIX, он принадлежит PAM (Pluggable Authentication Module), и его могут использовать только программы, скомпилированные с поддержкой PAM (в первую очередь системы входа в систему, которые впоследствии запускают оболочку или пользовательскую среду). Это означает, что он даже не читается вашей оболочкой. Файл принимает только переменную=значение.

Вы можете просмотреть программы, использующие /etc/environment, с

Поэтому /etc/environment используется для установки переменных для программ, которые обычно не запускаются из оболочки.

В этом руководстве мы узнаем, как установить и настроить прокси-сервер Squid на сервере Debian 11.

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

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

Выбирая компьютерную систему для использования в качестве выделенного кэширующего прокси-сервера Squid, многие пользователи убеждаются, что она настроена на большой объем физической памяти (ОЗУ), поскольку Squid поддерживает кэш в памяти для повышения производительности.

2. Установка прокси-сервера Squid

Пакеты, предоставляющие прокси-сервер squid, доступны в репозиториях Debian по умолчанию. Установите его с помощью этой команды:

Подтвердите, что пакет был установлен должным образом

3. Запуск и включение службы squid

Прокси-сервер squid будет запущен по умолчанию в нашей системе Debian. Чтобы проверить статус, введите эту команду:

Мы можем подтвердить, что служба работает, с помощью приведенной выше команды. Чтобы служба запускалась при загрузке, используйте команду enable:

4. Конфигурация вашего веб-браузера

5. Настройка Squid

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

Теперь, когда была сделана копия в качестве файла резервной копии, мы можем внести изменения в файл «squid.conf».

Чтобы открыть файл «squid.conf» в vim, введите следующую команду:

Чтобы изменения вступили в силу, вам потребуется перезапустить прокси-сервер squid. Используйте эту команду:

Теперь снова проверьте свой веб-браузер, введите любой URL-адрес, и он должен работать.

6. Использование ACL прокси-сервера squid (список управления доступом)

Мы также можем использовать Squid as для управления доступом к различным веб-сайтам (веб-трафику), разрешая или блокируя их. Для этого перейдите в строку acl CONNECT method CONNECT .

Под этой строкой напишите ACL (список управления доступом), чтобы заблокировать нужные веб-сайты.

Затем отклоните утверждение.

Сохраните изменения и проверьте, заблокированы ли ваши заблокированные веб-сайты или нет, перезапустите службу squid и проверьте URL-адрес в веб-браузере.

Вы также можете запретить пользователю скачивать определенные файлы, например аудио- и видеофайлы, с помощью ACL.

Это предотвратит загрузку пользователем аудио- или видеофайлов с такими расширениями, как mp3, mp4, FLV и т. д. Добавьте любое расширение файла, загрузку которого вы хотите запретить. Теперь под этой строкой напишите оператор отказа.

Загрузка медиафайлов будет заблокирована.

7. Использование Squid для кэширования веб-страниц

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

Чтобы внести изменения, откройте файл squid.conf и перейдите к следующей строке:

В приведенной выше строке есть фраза «100 16 256». 100 показывает размер файла кеша, и вы можете изменить его на любой размер, например 300. 16 показывает количество каталогов, в которых сохранен файл кеша. 256 показывает нет. подкаталогов.

Вы также можете изменить размер файла кеша, добавив следующую строку в файл «squid.conf»:

Если вы хотите изменить путь к каталогу файлов кеша, создайте новую структуру каталогов с помощью этой команды:

Чтобы изменить владельца каталога кеша на прокси-сервер squid, вы должны выполнить эту команду:

Теперь остановите службу squid с помощью этой команды:

А затем запустите команду с этой командой, чтобы сделать отсутствующие каталоги кеша в новом каталоге кеша:

Теперь снова запустите службу squid с помощью следующей команды:

Подведение итогов

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

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

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

В этом руководстве показано, как установить и настроить прокси-сервер Squid в Debian 10 (Buster).

Предпосылки:

  1. доступ «sudo» к системе, на которой будет установлен Squid.
  2. Базовые знания команд терминала Linux на базе Debian.
  3. Основные знания об использовании прокси-сервера.

Шаги по установке squid на Debian 10 (Buster)

1) Сначала обновите репозиторий и пакеты в Debian 10 (Buster)

$ sudo apt update

$ sudo apt upgrade -y

2) Теперь установите пакет Squid с помощью следующей команды:


Процесс установки довольно прост. Он автоматически установит все необходимые зависимости.

3) Теперь перейдите к основному файлу конфигурации прокси-сервера Squid, расположенному в /etc/squid/squid.conf.

Мы разрешаем использовать Squid только для локального хоста и наших устройств в локальной сети (LAN) для более точного управления. Для этого мы изменим файл squid.conf, как показано ниже:


Теперь перезапустите службу Squid, чтобы изменения вступили в силу.

6) Вы также можете изменить имя хоста прокси-сервера Squid с помощью параметра visible_hostname. Также перезапускайте службу Squid каждый раз при изменении файла конфигурации. Используйте следующую команду:

7) Настройка Squid ACL

a) Определите правило, разрешающее подключение только с определенного IP-адреса.

Сохраните файл и перезапустите сервер squid.

b) Определите правило, чтобы открыть порт для подключения.

Сохраните файл и перезапустите сервер squid.

c) Используйте Squid Proxy для блокировки доступа к определенным веб-сайтам.

Чтобы заблокировать доступ к определенным веб-сайтам с помощью Squid, создайте новый файл с именем block.acl в том же месте, что и squid.conf.

Теперь укажите веб-сайты, которые вы хотите заблокировать, указав их адреса, начинающиеся с точки:

Теперь снова откройте конфигурационный файл squid и найдите строчку «acl block_websites dstdomain». Добавьте здесь расположение файла «blocked.acl», как показано ниже:

Также добавьте строку ниже:

Сохраните файл и перезапустите сервер squid.

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

acl allow_ips src "/etc/squid/allowedHosts.txt"

Сохраните файл и перезапустите сервер squid.

Примечание. Мы также можем добавить IP-адреса разрешенных и запрещенных клиентов в основной файл конфигурации, как показано ниже:

acl myIP1 источник 10.0.0.1

acl myIP2 источник 10.0.0.2

г) Изменение порта кальмара

Порт Squid по умолчанию — 3128, который можно изменить с squid.conf на любое другое значение, как показано ниже:

Сохраните файл и перезапустите сервер squid.

Настройка клиента для прокси-сервера Squid

Лучшее в Squid то, что все настройки выполняются на стороне сервера. Чтобы настроить клиент, вам просто нужно ввести настройку squid в настройках сети веб-браузера.

Давайте проведем простой тест проксирования с помощью веб-браузера Firefox. Просто перейдите в Меню > настройки > Настройки сети > Настройки.

Еще раз проверьте URL-адрес веб-сайта, обновив страницу. На этот раз вы увидите следующую ошибку:


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

Об авторе

Али Имран Нагори

Али Имран — технический писатель и энтузиаст Linux, который любит писать о системном администрировании Linux и связанных с ним технологиях. Вы можете связаться с ним в LinkedIn
.

В этом руководстве мы узнаем, как установить прокси-сервер Squid в Debian.

Прежде чем мы начнем процесс установки, мы должны знать, что такое прокси, прокси-сервер и так далее. Давайте разберемся с основными терминами.

Оглавление

Что такое прокси-сервер Squid?

Давайте разберемся, как установить прокси-сервер squid в Debian.

Обновите репозитории

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

Обновление пакетов означает загрузку списка доступных пакетов с их версией в системе, тогда как обновление означает установку последней версии доступных пакетов. Используйте команду apt для выполнения. Проверьте разницу между командой apt и apt-get. Давайте посмотрим на команду ниже:

Установите прокси-сервер Squid в Debian

Следующим шагом будет установка прокси-сервера Squid в Debian с помощью команды apt install. Для этого введите в терминале следующее:

Установить Squid

Вам будет предложено подтвердить установку пакета. Ответьте на него Y, чтобы продолжить процесс установки. Вы успешно установили пакет.

Базовая конфигурация

После установки прокси-сервера Squid в Debian необходимо настроить некоторые основные параметры.

Пользователь должен внести изменения в файл squid.conf, расположенный в /etc/squid3 или /etc/squid в зависимости от версии squid.

Если вы используете редактор nano, нажмите Ctrl + O, чтобы сохранить изменения.

Следующий шаг — найти visible_hostname. Найдите это ключевое слово, используя шаги, описанные выше, и задайте нужное имя.

Блокировать определенные веб-сайты

Что делать, если пользователь хочет заблокировать определенные веб-сайты. Это не обязательный шаг, а дополнительная настройка.

В следующем разделе мы также узнаем, как блокировать определенные ключевые слова. Это можно сделать двумя способами: либо добавить список доменов в файл конфигурации, либо создать отдельный файл, а затем добавить имена доменов и указать имя файла в файле squid.conf. Давайте попробуем первый метод.

Добавьте следующий блок в файл squid.conf перед любыми разрешающими всеми правилами. Давайте посмотрим на команду ниже:

Либо используйте редактор nano, либо редактор vi. Добавьте в файл следующий код.

Конкретные сайты будут заблокированы. Альтернативный метод — создать файл с именем blockwebsites.lst, расположенный в каталоге /etc/squid/, и добавить список доменов.

Этот метод полезен, если у вас длинный список доменов. Создайте файл с помощью команды touch и добавьте список доменов. Далее добавьте имя файла в файл squid.conf. Давайте посмотрим на команду ниже:

В файл squid.conf добавьте следующий код, приведенный ниже:

Блокировка веб-сайтов

Пользователь также может проверить доменные имена с помощью команды cat. Для этого введите в терминале следующее:

Блоквебисты-кошки

Блокировать определенные ключевые слова через squid

Ранее мы научились блокировать определенные сайты через squid. Здесь мы заблокируем некоторые ключевые слова с помощью squid. Процесс будет таким же, как и раньше. Существует два метода, о которых говорилось выше. Давайте обсудим первый способ блокировки определенных ключевых слов.

Мы добавим блок кода в файл squid.conf, расположенный в каталоге /etc/squid. Для этого введите в терминале следующее:

Добавьте следующий код, указанный ниже:

Альтернативный метод заключается в создании файла и добавлении списка ключевых слов. Создайте файл с именем blockkeywords.lst в каталоге /etc/squid. Имя файла будет указано в файле squid.conf. Давайте посмотрим на команду ниже:

Добавьте следующий код:

Добавить ключевые слова

Пользователь также может просмотреть содержимое файла с помощью команды cat. Давайте посмотрим на команду ниже:

перечислить содержимое

Конфигурации на стороне клиента

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

  • Выберите «Дополнительно» > «Сеть» >> «Настройки».
  • Появится диалоговое окно.
  • Выберите настройку прокси-сервера вручную.
  • Укажите IP-адрес сервера и порт.
  • Порт Squid Proxy по умолчанию — 3128.

Посмотрите на изображение ниже:

Конфигурация клиента 1

Заключение

Вот и все. Мы узнали, как установить Squid Proxy на Debian и преобразовать нашу систему в веб-прокси. Мы научились делать необходимые настройки. Если у вас возникнут какие-либо проблемы, сообщите нам об этом в разделе комментариев.

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

В сегодняшнем руководстве вы узнаете, как настроить Nginx в качестве обратного прокси-сервера для Apache с использованием ОС Debian 11. Обязательно следуйте официальной документации, если тем временем возникнут какие-либо проблемы.

  • Сервер под управлением Debian 11
  • Корневой доступ к серверу

Перед началом крайне важно обновить систему. Таким образом, вы можете запустить следующие команды на своем сервере, чтобы обновить его:

После обновления системы необходимо установить зависимости:
apt-get install gnupg2 curl -y

В этой части мы приступим к установке и настройке Apache для работы на порту 8000. Прежде всего, вам необходимо установить его с помощью этой команды:
apt-get install apache2 -y

После установки необходимо изменить порт с 80 на 8000 в следующих файлах:
nano /etc/apache2/ports.conf
От: Listen 80
Кому: Listen 8000

nano /etc/apache2/sites-enabled/000-default.conf
От: 80
До: 8000

Теперь мы перезапустим apache, чтобы применить изменения:

systemctl перезапустить apache2

Теперь, поскольку наш Apache уже запущен и работает на порту 8000, нам нужно настроить наш Nginx в качестве обратного прокси-сервера для работы на порту 80 и проксирования трафика на порт 8000. Прежде всего, давайте установим Nginx с помощью :
apt-get install nginx -y

После завершения установки нам нужно очистить виртуальный хост по умолчанию, чтобы вы могли выполнить эту команду:
echo "" > /etc/nginx/sites-enabled/default

После этого просто откройте его и вставьте этот контент, чтобы перенаправить доступ с порта 80 (Nginx)
на 8000 (Apache2):

Затем просто сохраните файл и проверьте Nginx на наличие синтаксических ошибок с помощью этой команды:
nginx -t

Далее просто перезагрузите службу Nginx, чтобы применить наши изменения:
systemctl перезапустить nginx

Теперь, как только вы получите доступ к своему IP-адресу, вы получите доступ к своему Nginx и прокси-серверу к службе Apache2.

И все. Вы успешно установили Nginx в качестве обратного прокси для Apache на Debian 11. Конечно, если у вас есть какой-либо Linux VPS-хостинг, вам не нужно выполнять эту установку. Наши администраторы доступны 24/7/365, чтобы помочь вам с этими шагами.

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

Читайте также: