Бесплатное тестирование доступно для жителей Франции , Великобритании или Сингапура в Telegram Присоединяйтесь к Telegram
Настройка Linux

Настройка мобильного прокси в Linux

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

PXM2 Proxies August 24, 2026 Время чтения: 8 минут
3 Важные переменные
Ubuntu · Debian Охваченные системы распределения
HTTP · SOCKS5 Поддержка протоколов
5+ Доступно стран
  • Переменные среды доступны большинству утилит — curl, wget, git, pip и npm все считывают значения http_proxy и https_proxy.
  • sudo отключает их — при выполнении команды с повышенными правами прокси перестает работать, если вы не настроите его прохождение специально.
  • apt по замыслу игнорирует их — менеджер пакетов использует свой собственный файл конфигурации, а не переменные среды вашей оболочки.
  • Настройка рабочего стола не действует в масштабах всей системы — она распространяется на приложения GNOME, а ваш терминал к ним не относится.
Мобильные прокси 4G / 5G Стандартные протоколы
Поддержка протоколовHTTP(S), SOCKS5
Тип сеансаФиксированный или вращающийся
Пропускная способностьБезлимит
ОборудованиеВыделенный модем 4G/5G
Оптимизировано для сервера

Добавьте статический адрес сервера в белый список и полностью исключите ввод учетных данных.

С поддержкой скриптов

Четыре экспортные функции в профиле определяют большую часть пользовательского пространства.

Переменные среды и сфера их действия

В Linux нет системных настроек прокси в том смысле, в каком это понимается в других операционных системах. Вместо этого существует соглашение: большинство программ считывает переменные среды `http_proxy` и `https_proxy` и учитывает переменную `no_proxy` для хостов, которые должны обходить эти настройки. Эта конвенция охватывает очень многое — curl, wget, git, pip, npm, большинство сред выполнения языков программирования — но это скорее конвенция, чем правило, и именно об исключениях из неё и пойдёт речь в данном руководстве.

Добавьте в файл ~/.bashrc или ~/.zshrc
export http_proxy="http://user123:[email protected]:8000"
export https_proxy="$http_proxy"
export no_proxy="localhost,127.0.0.1,::1,.internal.example.com,10.0.0.0/8"

# Some tools read only the upper-case names
export HTTP_PROXY="$http_proxy"
export NO_PROXY="$no_proxy"
Пример конечной точки и учетных данных

Лучше намеренно установить значение no_proxy, чем оставлять поле пустым. Без него запросы к localhost и внутренним именам хостов отправляются через прокси, который не может к ним подключиться — в результате подключение к базе данных или проверка работоспособности, которые еще пять минут назад работали нормально, начинают завершаться с тайм-аутом по причинам, которые никак не похожи на проблему с прокси. Значения разделяются запятыми, без пробелов, а точка в начале строки означает поддомены.

Обратите внимание, что параметр https_proxy принимает схему http://. Схема указывает, как подключиться к прокси-серверу, а не какой протокол использует целевой сервер; клиент открывает туннель, и внутри него от начала до конца работает TLS. Для SOCKS5 предпочтительнее использовать форму socks5h, где конечная буква h обеспечивает прохождение DNS-разрешения через прокси — без неё ваш компьютер разрешает каждое имя хоста локально и раскрывает весь список посещаемых вами доменов вашей собственной сети.

Слой Что это считывает Чего в ней не хватает
Переменные среды curl, wget, git, pip, npm, большинство сред выполнения Все, что запускается с помощью sudo, apt, а также службы, запускаемые systemd
Настройка прокси на рабочем столе GNOME Web и приложения, которые считывают настройки рабочего стола Ваш терминал и все, что запускается из него
Настройки для каждого инструмента apt, Docker, snap, git — для каждого свой файл Ничего, но для каждого инструмента нужно написать по одному
proxychains Любая программа, перехватывая свои сетевые вызовы Бинарные файлы со статической компоновкой и всё, что позволяет обойти использование сетевых функций libc

Настройки прокси-сервера на рабочем столе и что они включают

GNOME, KDE и другие среды рабочего стола предлагают настройку сетевого прокси, которая выглядит как средство системного управления, которого в Linux в остальном не хватает. Но это не так. При этом записывается ключ конфигурации рабочего стола, и это влияет только на те приложения, которые целенаправленно считывают этот ключ — на практике это GNOME Web и несколько приложений GNOME.

Ваш терминал не считывает его. Как и любые программы, запускаемые из терминала. Настройка прокси для рабочего стола, а затем недоумение по поводу того, почему curl возвращает ваш реальный адрес, — это, пожалуй, самая распространенная ошибка при настройке прокси в Linux, и она вполне объяснима: ничто в интерфейсе не указывает на то, насколько ограничена область его действия.

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

apt, sudo и инструменты, для которых требуется отдельный файл

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

Первая проблема связана с командой sudo. Из соображений безопасности sudo удаляет большинство переменных окружения перед запуском команды, поэтому ваш тщательно экспортированный прокси просто исчезает. Однократную проблему можно решить, попросив sudo сохранить переменные среды; постоянное решение заключается в добавлении переменных прокси в список env_keep в файле sudoers, который следует редактировать с помощью visudo, а не напрямую.

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

Настройки для каждого инструмента, сохраняющиеся при использовании sudo
# apt -- write /etc/apt/apt.conf.d/95proxies
Acquire::http::Proxy "http://user123:[email protected]:8000";
Acquire::https::Proxy "http://user123:[email protected]:8000";

# sudo -- preserve the environment for one command
sudo -E some-command

# sudo -- permanently, via `sudo visudo`
Defaults env_keep += "http_proxy https_proxy no_proxy HTTP_PROXY HTTPS_PROXY NO_PROXY"

# git, which keeps its own config
git config --global http.proxy "http://user123:[email protected]:8000"
Пример конечной точки и учетных данных

Docker заслуживает отдельного упоминания, поскольку в нём существуют две разные проблемы с одинаковым названием. Демону требуется прокси для загрузки образов, настраиваемый в конфигурационном файле systemd; контейнерам же он нужен в качестве аргументов сборки или переменных среды. Настройка одного не влияет на другой, что приводит к знакомой ситуации, когда образы загружаются нормально, а приложение внутри не может ни к чему подключиться.

Для программного обеспечения, которое вообще не поддерживает прокси — некоторых старых сетевых утилит, нескольких инструментов с закрытым исходным кодом — стандартным решением является proxychains. Он предварительно загружает библиотеку, которая перехватывает сетевые вызовы программы и маршрутизирует их через прокси, определённый в собственном файле конфигурации, и поддерживает как SOCKS5, так и HTTP. Он не может помочь со статически скомпилированными бинарными файлами, поскольку в них нет ничего, что можно было бы перехватить.

1. Экспортируйте переменные в профиль оболочки
Это позволяет за один раз применить изменения к большинству программ, запускаемых из командной строки. После этого откройте новую оболочку или выполните команду `source` для этого файла — текущая оболочка не применит изменения автоматически.
2. Назначить apt собственную конфигурацию
Наличие файла в каталоге /etc/apt/apt.conf.d/ означает, что операции с пакетами выполняются независимо от способа их запуска, что особенно важно при использовании скриптов и автоматизации.
3. Внимательно подходите к решению о использовании sudo
Добавление переменных в env_keep удобно и означает, что каждая команда, запущенная с повышенными правами, унаследует ваш прокси. На многопользовательской машине это представляет собой реальный компромисс, поэтому делайте это осознанно, а не случайно.
4. Настройте службы по отдельности
Все процессы, запущенные с помощью systemd, никогда не получают доступ к вашему профилю оболочки. Для них необходимо создать файл, в котором явно задана среда, а затем перезагрузить демон.

Как узнать, какой прокси-сервер на самом деле использует команда

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

Обращайтесь к инструменту, а не к системе
env | grep -i proxy
curl -v https://api.ipify.org 2>&1 | head -20

curl https://api.ipify.org ; echo               # through whatever env says
curl --noproxy '*' https://api.ipify.org ; echo # deliberately direct
sudo -E env | grep -i proxy                     # does sudo keep them?
Сравнив эти две строки, можно сразу определить, используется ли прокси
Симптом Наиболее вероятная причина
Работает в оболочке, не работает при использовании sudo Команда `sudo` удалила переменные среды. Используйте флаг `preserve` или `env_keep`.
curl работает через прокси, а apt — нет apt игнорирует переменные среды. Укажите файл в каталоге apt.conf.d.
Настройка рабочего стола включена, терминал не затронут Работает так, как и задумано. Нажатие клавиши на рабочем столе не передается в оболочку.
Местные службы внезапно прерываются по истечении времени ожидания Параметр `no_proxy` не установлен, поэтому трафик с `localhost` направляется через прокси.
Изображения загружаются, у контейнеров нет доступа к сети Демон Docker работает через прокси, а контейнеры — нет.
Настройки верны, ничего не изменилось Профиль был отредактирован, но источники так и не были указаны. Откройте новую командную строку.

Если вам нужно проверить именно конечную точку, а не настройки, то бесплатный инструмент для проверки прокси-серверов PXM2 проверяет это через браузер и сообщает об обнаруженном типе прокси и стране выхода.

Установите мобильный прокси для Linux

Активные локации PXM2 — выберите страну, в которой вам нужен выходной IP-адрес, и настройте его, следуя инструкциям на этой странице:

🇬🇧

Великобритания

2 оператора 20-60 Mbps
Начиная с
$3.64 за 1 час
Доступные операторы:
EE O2
🇪🇸

Испания

1 оператор 30-80 Mbps
Начиная с
$4.35 за 1 час
5G
Доступные операторы:
Yoigo
🇮🇳

Индия

3 оператора 20-30 Mbps
Начиная с
$2.74 за 1 час
4G
Доступные операторы:
Airtel Jio Vodafone Idea (Vi)
Смотреть все локации →

Часто задаваемые вопросы

Как настроить прокси в Linux?

Экспортируйте переменные http_proxy и https_proxy в вашей оболочке и задайте параметр no_proxy для хостов, которые должны обходить прокси. Добавьте их в профиль оболочки, чтобы настройки сохранялись. Это касается curl, wget, git, pip, npm и большинства программ командной строки, хотя для apt и некоторых других инструментов потребуется дополнительная настройка.

Почему apt игнорирует мои переменные среды прокси?

По замыслу — apt не наследует среду оболочки при запуске под sudo и использует собственную конфигурацию. Добавьте директиву прокси Acquire в файл в каталоге /etc/apt/apt.conf.d/, чтобы настройка сохранялась независимо от того, кто и как запускает команду. Это более надёжный способ, чем каждый раз передавать переменные через sudo.

Почему мой прокси перестает работать при использовании sudo?

Команда `sudo` удаляет большинство переменных окружения перед запуском команды, поэтому экспортированный вами прокси-сервер так и не доходит до неё. Для разового использования воспользуйтесь командой `sudo` с флагом, сохраняющим окружение, или, если вам нужно сделать это на постоянной основе, добавьте переменные прокси-сервера в список `env_keep` в файле `sudoers` с помощью команды `visudo`.

Применяются ли настройки сетевого прокси GNOME к терминалу?

Нет. Настройка прокси на рабочем столе действует только на приложения, которые считывают конфигурацию рабочего стола — GNOME Web и несколько других приложений GNOME. Утилиты терминала считывают переменные среды и совершенно не зависят от этой настройки. Установка этой настройки в надежде, что curl будет ей следовать, — одна из самых распространенных ошибок при работе с прокси в Linux.

Как настроить прокси для приложения, которое не поддерживает прокси?

Используйте proxychains — программу, которая перехватывает сетевые запросы приложения и направляет их через прокси-сервер, настройки которого задаются в отдельном конфигурационном файле. Это стандартный способ решения проблемы для программ, которые не читают ни переменные среды, ни собственные настройки прокси, и он работает как с SOCKS5, так и с HTTP.

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

Руководства по настройке

Основные руководства по мобильным прокси-серверам

Настройте маршрутизацию вашего компьютера под Linux через IP-адрес реального провайдера

Специализированные модемы 4G/5G с неограниченной пропускной способностью и неограниченным количеством переключений — конечные точки HTTP(S) и SOCKS5 с белым списком IP-адресов для серверов со стабильным адресом.

Получить мобильный прокси