Налаштування proxy в Linux переважно керується через змінні середовища, конфігураційні файли конкретних сервісів або налаштування робочого столу для маршрутизації мережевого трафіку через віддалений сервер. Залежно від дистрибутива — чи то на базі Debian (як Ubuntu), на базі RHEL (як CentOS), чи Arch Linux — адміністратори повинні застосовувати налаштування на різних рівнях операційної системи, щоб забезпечити повне охоплення для інструментів CLI, менеджерів пакетів та графічних програм.
Глобальні змінні середовища для налаштування proxy
Найпоширенішим методом встановлення proxy в Linux є використання змінних середовища. Ці змінні розпізнаються більшістю утиліт командного рядка, таких як curl, wget та git. Ви можете встановити ці змінні тимчасово для однієї сесії або постійно для всіх користувачів.
Тимчасове налаштування сесії
Щоб застосувати proxy лише для поточної сесії терміналу, експортуйте змінні безпосередньо у вашу оболонку (shell). Це ідеально підходить для швидких завдань або тестування нової residential точки доступу GProxy без зміни системних файлів.
export http_proxy="http://username:[email protected]:8080"
export https_proxy="http://username:[email protected]:8080"
export ftp_proxy="http://username:[email protected]:8080"
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
Постійне загальносистемне налаштування
Щоб ці налаштування зберігалися після перезавантаження та впливали на всіх користувачів, відредагуйте файл /etc/environment. Цей файл є простим списком пар "ключ-значення" і не підтримує команди оболонки, такі як export.
- Відкрийте файл з правами root:
sudo nano /etc/environment. - Додайте рядки proxy:
http_proxy="http://username:[email protected]:8080"https_proxy="http://username:[email protected]:8080"no_proxy="localhost,127.0.0.1"
- Збережіть і перезапустіть сесію або виконайте
source /etc/environment.
Для постійних налаштувань конкретного користувача додайте ці рядки до файлу ~/.bashrc або ~/.zshrc. Це гарантує, що кожного разу, коли цей користувач відкриває термінал, proxy активується автоматично.

Налаштування менеджерів пакетів для конкретних дистрибутивів
Хоча глобальні змінні середовища охоплюють багато інструментів, менеджери пакетів часто потребують власної явної конфігурації, щоб обійти обмеження системного рівня або забезпечити коректну роботу оновлень під час адміністративних завдань.
APT (Ubuntu, Debian, Linux Mint)
Advanced Package Tool (APT) ігнорує змінні середовища в деяких конфігураціях з міркувань безпеки. Щоб встановити proxy спеціально для APT, створіть конфігураційний файл у /etc/apt/apt.conf.d/.
sudo nano /etc/apt/apt.conf.d/95proxies
Додайте наступні рядки, обов'язково завершуючи кожен рядок крапкою з комою:
Acquire::http::Proxy "http://username:[email protected]:8080";
Acquire::https::Proxy "http://username:[email protected]:8080";
DNF та YUM (Fedora, RHEL, CentOS, AlmaLinux)
Для дистрибутивів на базі Red Hat конфігурація здійснюється в основному файлі dnf.conf або yum.conf. Це критично важливо для обслуговування серверних парків, де оновлення мають завантажуватися через контрольований шлюз.
- Відредагуйте конфігурацію:
sudo nano /etc/dnf/dnf.conf. - Додайте рядок proxy:
proxy=http://proxy.gproxy.com:8080. - Якщо потрібна автентифікація, додайте:
proxy_username=your_usernameproxy_password=your_password
Pacman (Arch Linux, Manjaro)
Pacman за замовчуванням використовує зовнішні завантажувачі, такі як curl. Щоб налаштувати proxy для оновлень Arch Linux, слід змінити /etc/makepkg.conf або просто покладатися на глобальні змінні середовища. Однак для точного контролю над завантажувачем відредагуйте /etc/pacman.conf, розкоментуйте XferCommand та додайте прапорці proxy.
Порівняння методів налаштування proxy
Вибір правильного методу залежить від того, чи потрібен вам загальносистемний тунель, чи міст для конкретної програми. У наступній таблиці наведено основні методи для середовищ Linux.
| Метод | Область дії | Конфігураційний файл | Найкращий варіант використання |
|---|---|---|---|
| Змінні середовища | Користувач/Сесія | ~/.bashrc |
Інструменти CLI (curl, wget, git) |
| Системне середовище | Глобально | /etc/environment |
Стандартна загальносистемна маршрутизація |
| Конфігурація APT | Програма | /etc/apt/apt.conf.d/ |
Оновлення Debian/Ubuntu |
| Конфігурація DNF | Програма | /etc/dnf/dnf.conf |
Оновлення RHEL/CentOS |
| Proxychains | Динамічно | /etc/proxychains.conf |
Програми без вбудованої підтримки proxy |

Розширена маршрутизація за допомогою Proxychains
Деякі програми не враховують змінні середовища або не мають внутрішніх налаштувань proxy. У таких випадках proxychains4 є стандартним інструментом для примусового спрямування TCP-з'єднань через proxy за допомогою попереднього завантаження хуків (hook preloading). Це особливо корисно для аудиту безпеки або при використанні SOCKS5 proxy від GProxy.
Спочатку встановіть пакет: sudo apt install proxychains4 (у Debian) або sudo dnf install proxychains-ng (у RHEL).
Відредагуйте конфігураційний файл за шляхом /etc/proxychains4.conf. Прокрутіть донизу та додайте дані вашого proxy:
[ProxyList]
# protocol host port username password
socks5 127.0.0.1 9050
http proxy.gproxy.com 8080 username password
Щоб скористатися ним, просто додайте префікс proxychains4 перед будь-якою командою:
proxychains4 telnet example.com 80
proxychains4 nmap -sT -PN example.com
Автоматизація керування proxy за допомогою Python
Для розробників та фахівців з аналізу даних, які використовують Linux для веб-скрапінгу або автоматизованого тестування, програмне керування proxy є ефективнішим за ручне налаштування. Використовуючи бібліотеку requests, ви можете динамічно ротувати точки доступу GProxy у своїх скриптах.
import requests
# Визначення облікових даних та точки доступу GProxy
proxy_host = "proxy.gproxy.com"
proxy_port = "8080"
username = "your_user"
password = "your_password"
proxies = {
"http": f"http://{username}:{password}@{proxy_host}:{proxy_port}",
"https": f"http://{username}:{password}@{proxy_host}:{proxy_port}",
}
def test_proxy():
try:
# Перевірка з'єднання та IP-адреси
response = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=10)
print(f"Поточна вихідна IP-адреса: {response.json()['ip']}")
except Exception as e:
print(f"Помилка з'єднання: {e}")
if __name__ == "__main__":
test_proxy()
Цей скрипт дозволяє переконатися, що ваше середовище Linux правильно маршрутизує трафік через proxy перед запуском масштабних автоматизованих завдань. Це особливо корисно при пошуку причин, чому загальносистемний proxy може не впливати на конкретне віртуальне середовище Python.
Налаштування proxy в графічних оболонках
Якщо ви використовуєте дистрибутив Linux з графічним інтерфейсом користувача (GUI), наприклад GNOME або KDE Plasma, ви можете налаштувати proxy через системні параметри. Це необхідно для браузерів, таких як Chrome (який використовує системні налаштування), та інших програм на базі GUI.
GNOME (Ubuntu, Fedora Workstation)
Перейдіть до Settings > Network > Network Proxy. Виберіть "Manual" і введіть дані хостів HTTP, HTTPS та SOCKS. GNOME застосовує ці налаштування через gsettings, які також можна змінити через термінал:
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host 'proxy.gproxy.com'
gsettings set org.gnome.system.proxy.http port 8080
KDE Plasma
У KDE перейдіть до System Settings > Network > Settings > Proxy. KDE пропонує опцію "Use specified proxy configuration", де ви можете визначити різні proxy для кожного протоколу. На відміну від GNOME, налаштування KDE зберігаються у ~/.config/kioslaverc.
Міркування щодо безпеки та найкращі практики
Налаштування proxy передбачає роботу з конфіденційними обліковими даними. Зберігання паролів у відкритому вигляді в /etc/environment або .bashrc становить ризик, якщо доступ до машини мають кілька користувачів. Щоб мінімізувати це, розгляньте наступні практики:
- Обмеження прав доступу: Переконайтеся, що конфігураційні файли, які містять облікові дані (наприклад,
/etc/dnf/dnf.confабоproxychains.conf), мають права доступу600або640, що обмежує доступ на читання лише для root або конкретних адміністраторів. - Використання білих списків IP (IP Whitelisting): Якщо ваш провайдер proxy, наприклад GProxy, підтримує це, використовуйте білі списки IP замість автентифікації за логіном/паролем. Це усуває потребу зберігати облікові дані в локальних конфігураційних файлах.
- Виключення локального трафіку: Завжди налаштовуйте змінну
no_proxy. Якщо не виключитиlocalhostта127.0.0.1, це може порушити локальну міжпроцесну взаємодію, наприклад ту, що використовується контейнерами Docker, базами даних (PostgreSQL/MySQL) та внутрішніми API. - SOCKS5 для UDP: Якщо вам потрібно використовувати proxy для програм, що працюють через UDP (наприклад, деякі стрімінгові сервіси або DNS-запити), переконайтеся, що ви використовуєте SOCKS5 proxy замість стандартного HTTP proxy, оскільки HTTP підтримує лише TCP.
Основні висновки
Налаштування proxy в Linux — це багатошаровий процес, який вимагає уваги як до глобальних змінних середовища, так і до налаштувань конкретних програм. Опанувавши ці конфігурації, ви забезпечите безпеку, анонімність своєї системи та можливість ефективно обходити мережеві обмеження.
- Використовуйте
/etc/environmentдля глобальних налаштувань та~/.bashrcдля перевизначення параметрів конкретним користувачем. - Завжди налаштовуйте менеджери пакетів окремо (APT або DNF), щоб оновлення системи не переривалися через мережеві блокування.
- Використовуйте Proxychains для програм, які не мають вбудованої підтримки proxy, або для складних багатоступеневих маршрутів.
Практична порада 1: Під час пошуку несправностей використовуйте curl -v https://google.com. Прапорець verbose покаже, який саме proxy використовується і чи була успішною автентифікація.
Практична порада 2: Для високонавантажених завдань, таких як веб-скрапінг на Linux, використовуйте residential proxy від GProxy з бібліотеками Python requests або aiohttp, щоб уникнути обмежень за IP (rate-limiting) та забезпечити високий рівень успішних запитів у різних географічних регіонах.
Читайте також
Ферма проксі своїми руками: як побудувати та налаштувати
Інтеграція Proxy API: автоматизація для розробників
Помилка 503 та тайм-аут проксі: діагностика та виправлення
Помилка 502 Bad Gateway через проксі: як виправити
Помилка 407 Proxy Authentication Required: причини та виправлення
