Как да конфигурирате прокси в Ubuntu и Debian Linux
Updated:
В Ubuntu и Debian Linux настройките за прокси зависят от средата на изпълнение: шел сесиите четат /etc/environment или ~/.bashrc, пакетният мениджър APT чете /etc/apt/apt.conf.d/, услугите на systemd четат drop-in конфигурационни файлове, а работната среда GNOME използва gsettings. Това ръководство предоставя точни конфигурационни примери за всяка подсистема на Ubuntu с HTTP(S) проксита от VinaProxy.
export http_proxy=http://user:pass@ip:port https_proxy=http://user:pass@ip:port- 1 IP40 000 VND
- 5+ IP адреса35 000 VND
- 10+ IP адреса25 000 VND
- 20+ IP адреса25 000 VND
- 50+ IP адреса25 000 VND
- 100+ IP адреса25 000 VND
- 200+ IP адреса25 000 VND
- 500+ IP адреса25 000 VND
- 1000+ IP адреса22 000 VND
- 2000+ IP адреса20 000 VND
- 1 IP40 000 VND
- 5+ IP адреса35 000 VND
- 10+ IP адреса25 000 VND
- 20+ IP адреса25 000 VND
- 50+ IP адреса25 000 VND
- 100+ IP адреса25 000 VND
- 200+ IP адреса25 000 VND
- 500+ IP адреса25 000 VND
- 1000+ IP адреса22 000 VND
- 2000+ IP адреса20 000 VND
Обхвати на прокси конфигурацията в Ubuntu
По подразбиране sudo премахва потребителските променливи на средата, а услугите на systemd не четат ~/.bashrc. Използвайте тази таблица, за да конфигурирате правилния файл в Ubuntu:
| Подсистема на Ubuntu | Конфигурационен файл / команда | Прилага се за | Устойчивост |
|---|---|---|---|
| Интерактивен шел | ~/.bashrc или /etc/profile.d/proxy.sh | curl, wget, python, git, node | Всяка сесия след вход |
| Системна PAM среда | /etc/environment | Всички PAM потребителски сесии | След рестартиране |
| Пакетен мениджър APT | /etc/apt/apt.conf.d/80proxy | sudo apt update & apt install | Постоянно за APT |
| Услуги на systemd | /etc/systemd/system/<svc>.service.d/proxy.conf | Docker демон, персонализирани услуги | След daemon-reload |
Поетапна настройка в Ubuntu Server и Desktop
bash
# 1. /etc/profile.d/proxy.sh (Шел и CLI инструменти)
sudo tee /etc/profile.d/proxy.sh > /dev/null << 'EOF'
export http_proxy="http://USER:PASS@IP:PORT"
export https_proxy="http://USER:PASS@IP:PORT"
export HTTP_PROXY="http://USER:PASS@IP:PORT"
export HTTPS_PROXY="http://USER:PASS@IP:PORT"
export no_proxy="localhost,127.0.0.1,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
export NO_PROXY="$no_proxy"
EOF
source /etc/profile.d/proxy.sh
# 2. /etc/apt/apt.conf.d/80proxy (Пакетен мениджър APT)
sudo tee /etc/apt/apt.conf.d/80proxy > /dev/null << 'EOF'
Acquire::http::Proxy "http://USER:PASS@IP:PORT/";
Acquire::https::Proxy "http://USER:PASS@IP:PORT/";
EOF
Запазване на прокси променливите при sudo и специални символи
- Ако изпълнявате команди чрез
sudo curl ...илиsudo pip ..., подайтеsudo -E, за да запазите експортираните променливи на средата за прокси, или добаветеDefaults env_keep += "http_proxy https_proxy HTTP_PROXY HTTPS_PROXY no_proxy NO_PROXY"чрезsudo visudo. - Ограничете правата за достъп до файла (
sudo chmod 600 /etc/apt/apt.conf.d/80proxy) на споделени многопотребителски Linux сървъри, за да не могат други локални потребители да прочетат вашите данни за вход в проксито.
Стъпка по стъпка
- 1
Експортиране на променливи на средата за шела (/etc/profile.d/proxy.sh)
Създайте /etc/profile.d/proxy.sh, дефиниращ променливите както с малки букви (http_proxy, https_proxy, no_proxy), така и с главни букви (HTTP_PROXY, HTTPS_PROXY, NO_PROXY), за да се разпознават от всички CLI инструменти на GNU, Go и Rust.
- 2
Конфигуриране на прокси за пакетния мениджър APT
Тъй като sudo apt update игнорира потребителските променливи на шела, създайте /etc/apt/apt.conf.d/80proxy с Acquire::http::Proxy и Acquire::https::Proxy.
- 3
Тестване на изходящата свързаност с curl
Заредете профила си (
source /etc/profile.d/proxy.sh) и изпълнетеcurl -s https://api.ipify.org, за да проверите дали вашата Ubuntu машина пренасочва трафика през VinaProxy.
Често задавани въпроси
Защо са ми нужни едновременно http_proxy с малки букви и HTTP_PROXY с главни букви в Linux?
Някои Linux инструменти (като curl и wget) проверяват малките букви в http_proxy, докато други работят само с главни букви HTTP_PROXY (или и с двете). Дефинирането и на двете гарантира последователно поведение във всички среди на изпълнение.
Защо `sudo apt update` игнорира експортираната променлива `http_proxy`?
sudo изчиства променливите на средата от съображения за сигурност, освен ако не се извика с sudo -E. Конфигурирането на /etc/apt/apt.conf.d/80proxy гарантира, че APT винаги използва проксито коректно.
Как да конфигурирам прокси в графичния интерфейс на Ubuntu Desktop (GNOME)?
Отворете Settings → Network → Network Proxy → Manual, или използвайте gsettings set org.gnome.system.proxy mode 'manual' заедно с хост и порт в org.gnome.system.proxy.http.
Вземете HTTP(S) проксита с ниска латентност за Ubuntu
Моментални идентификационни данни за Dedicated IPv4 и статични ISP проксита в 7 държави.
Вижте цените за проксита