Перейти к содержимому

Настройка прокси в Linux: полное руководство для различных дистрибутивов

Гайды
Настройка прокси в Linux: полное руководство для различных дистрибутивов
Настройка прокси-сервера в Linux выполняется на трех уровнях: системные переменные окружения, конфигурационные файлы пакетных менеджеров и настройки конкретных приложений. Для корректной работы через серверы GProxy необходимо учитывать синтаксис передачи учетных данных и особенности обработки протоколов HTTP/SOCKS5 различными дистрибутивами.

Глобальные переменные окружения

В Linux-системах большинство консольных утилит и сервисов считывают параметры прокси из переменных окружения. Это самый быстрый способ направить трафик через прокси без редактирования глубоких системных файлов. Существует два способа установки переменных: временный (для текущей сессии терминала) и постоянный (сохраняется после перезагрузки).

Временная настройка в Bash/Zsh

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

export http_proxy="http://username:password@proxy_ip:port"
export https_proxy="http://username:password@proxy_ip:port"
export ftp_proxy="http://username:password@proxy_ip:port"
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"

Если в пароле содержатся специальные символы (например, @, :, $), их необходимо закодировать в формате Percent-encoding (URL-encoding). Например, символ @ заменяется на %40. Это критично для стабильной аутентификации.

Постоянная настройка через /etc/environment

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

  1. Откройте файл с правами суперпользователя: sudo nano /etc/environment.
  2. Добавьте строки с параметрами вашего прокси-сервера.
  3. Сохраните изменения и выйдите из редактора.
http_proxy="http://user:pass@1.2.3.4:8080/"
https_proxy="http://user:pass@1.2.3.4:8080/"
no_proxy="localhost,127.0.0.1"

Изменения вступят в силу после повторного входа в систему. Для мгновенного применения в текущем терминале выполните source /etc/environment.

Настройка прокси в Linux: полное руководство для различных дистрибутивов

Настройка пакетных менеджеров (APT, DNF, Pacman)

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

APT (Debian, Ubuntu, Linux Mint)

В дистрибутивах на базе Debian настройки хранятся в директории /etc/apt/apt.conf.d/. Рекомендуется создать отдельный файл 95proxies, чтобы не загромождать основной конфиг.

# Создаем файл
sudo nano /etc/apt/apt.conf.d/95proxies

# Добавляем содержимое
Acquire::http::Proxy "http://user:pass@proxy_ip:port/";
Acquire::https::Proxy "http://user:pass@proxy_ip:port/";

DNF и YUM (Fedora, RHEL, CentOS)

Для систем семейства Red Hat настройки вносятся непосредственно в главный конфигурационный файл пакетного менеджера.

# Для DNF (современные системы)
sudo nano /etc/dnf/dnf.conf

# Добавьте в конец файла:
proxy=http://proxy_ip:port
proxy_username=user
proxy_password=pass

Pacman (Arch Linux, Manjaro)

Pacman использует внешние утилиты для загрузки (по умолчанию curl). Поэтому в Arch Linux достаточно настроить переменные окружения, как было описано выше. Однако, если требуется жесткая привязка, отредактируйте /etc/pacman.conf, раскомментировав или добавив строку XferCommand с флагами прокси для curl.

XferCommand = /usr/bin/curl -x http://user:pass@proxy_ip:port -L -C - %u > %o

Использование Proxychains для приложений без поддержки прокси

Некоторые консольные утилиты и старые приложения не умеют работать с прокси напрямую. В таких случаях используется proxychains4 — инструмент, который перехватывает сетевые вызовы приложения и принудительно направляет их через цепочку прокси (или один сервер).

Установка в Ubuntu/Debian: sudo apt install proxychains4.

Конфигурация выполняется в файле /etc/proxychains4.conf. В конец файла в секцию [ProxyList] добавьте данные вашего сервера GProxy:

# Тип прокси | IP | Порт | Пользователь | Пароль
socks5 1.2.3.4 1080 user1 pass123

После этого любую команду можно запустить через прокси, просто добавив префикс: proxychains4 curl https://ifconfig.me. Это идеальное решение для работы с SOCKS5, когда нужно обеспечить максимальную анонимность трафика.

Настройка прокси в Linux: полное руководство для различных дистрибутивов

Сравнение методов настройки прокси в Linux

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

Метод Сфера применения Сложность Поддержка SOCKS5
Переменные окружения Большинство консольных утилит (curl, wget) Низкая Частично
/etc/environment Глобально для всей системы Средняя Зависит от приложения
Proxychains Любые TCP-приложения Средняя Полная
Настройки GUI (Gnome/KDE) Браузеры, системные обновления в GUI Низкая Да

Настройка прокси в Docker

Работа с Docker-контейнерами требует отдельного внимания, так как контейнеры изолированы от переменных окружения хостовой системы. Если вам нужно, чтобы docker build или запущенный контейнер использовали GProxy, необходимо настроить Docker-демон или Dockerfile.

Настройка демона (для скачивания образов)

Создайте директорию для конфигурации сервиса: sudo mkdir -p /etc/systemd/system/docker.service.d. Создайте файл http-proxy.conf:

[Service]
Environment="HTTP_PROXY=http://user:pass@proxy_ip:port/"
Environment="HTTPS_PROXY=http://user:pass@proxy_ip:port/"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

После этого перезагрузите конфигурацию и сервис Docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

Проверка работоспособности и отладка

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

# Проверка через curl (использует переменные окружения)
curl https://api.ipify.org

# Проверка с явным указанием прокси (игнорирует переменные)
curl -x http://user:pass@proxy_ip:port https://ifconfig.me

Если вы разрабатываете софт на Python и хотите проверить доступность прокси программно, используйте библиотеку requests. Это стандарт де-факто для работы с HTTP-запросами.

import requests

proxies = {
    'http': 'http://user:pass@proxy_ip:port',
    'https': 'http://user:pass@proxy_ip:port',
}

try:
    response = requests.get('https://api.ipify.org', proxies=proxies, timeout=10)
    print(f"Ваш IP через прокси: {response.text}")
except Exception as e:
    print(f"Ошибка подключения: {e}")

Если запрос возвращает ошибку 407 (Proxy Authentication Required), проверьте правильность логина и пароля, а также наличие разрешенного IP в панели управления GProxy (если используется привязка по IP).

Выводы

Настройка прокси в Linux не является унифицированным процессом — она распределена между системными переменными и специфическими конфигами приложений. Вы узнали, как прописать прокси глобально через /etc/environment, как настроить пакетные менеджеры для безопасного обновления и как использовать Proxychains для принудительного туннелирования трафика.

Практические советы:

  • Всегда используйте SOCKS5 для задач, требующих высокой анонимности и работы с UDP-трафиком, так как протокол HTTP передает меньше метаданных.
  • Для автоматизации работы в разных сетях используйте алиасы в .bashrc, чтобы быстро включать и выключать прокси одной командой (например, alias proxy_on='export http_proxy=...').
  • При работе с высоконагруженными скриптами на Python или Go через GProxy, используйте пул IP-адресов, чтобы избежать блокировок со стороны целевых ресурсов.
support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.