Jak skonfigurować proxy w systemach Ubuntu i Debian Linux
Updated:
W systemach Ubuntu i Debian Linux ustawienia proxy zależą od kontekstu wykonywania: sesje powłoki odczytują /etc/environment lub ~/.bashrc, menedżer pakietów APT korzysta z /etc/apt/apt.conf.d/, usługi systemd używają plików drop-in unit, a środowisko GNOME Desktop wykorzystuje gsettings. W tym poradniku znajdziesz dokładne fragmenty konfiguracji dla każdego podsystemu Ubuntu przy użyciu serwerów proxy HTTP(S) VinaProxy.
export http_proxy=http://user:pass@ip:port https_proxy=http://user:pass@ip:port- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
Zakresy konfiguracji proxy w Ubuntu
Polecenie sudo domyślnie usuwa zmienne środowiskowe użytkownika, a usługi systemd nie odczytują ~/.bashrc. Skorzystaj z poniższej tabeli referencyjnej, aby wybrać właściwy plik konfiguracyjny w Ubuntu:
| Podsystem Ubuntu | Plik konfiguracyjny / Polecenie | Dotyczy | Trwałość |
|---|---|---|---|
| Interaktywna powłoka | ~/.bashrc lub /etc/profile.d/proxy.sh | curl, wget, python, git, node | Każda powłoka logowania |
| Środowisko PAM dla całego systemu | /etc/environment | Wszystkie sesje użytkowników PAM | Pomiędzy restartami |
| Menedżer pakietów APT | /etc/apt/apt.conf.d/80proxy | sudo apt update & apt install | Trwałe dla APT |
| Usługi systemd | /etc/systemd/system/<svc>.service.d/proxy.conf | Demon Docker, usługi niestandardowe | Po daemon-reload |
Konfiguracja krok po kroku na Ubuntu Server i Desktop
bash
# 1. /etc/profile.d/proxy.sh (Shell & CLI tools)
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 package manager)
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
Zachowanie zmiennych proxy pod sudo i obsługa znaków specjalnych
- Jeśli uruchamiasz polecenia za pośrednictwem
sudo curl ...lubsudo pip ..., użyjsudo -E, aby zachować wyeksportowane zmienne środowiskowe proxy, albo dodajDefaults env_keep += "http_proxy https_proxy HTTP_PROXY HTTPS_PROXY no_proxy NO_PROXY"za pomocąsudo visudo. - Ogranicz uprawnienia do pliku (
sudo chmod 600 /etc/apt/apt.conf.d/80proxy) na współdzielonych serwerach Linux z wieloma użytkownikami, aby inni lokalni użytkownicy nie mogli odczytać Twoich danych uwierzytelniających proxy.
Krok po kroku
- 1
Wyeksportuj zmienne środowiskowe powłoki (/etc/profile.d/proxy.sh)
Utwórz plik /etc/profile.d/proxy.sh definiujący zmienne pisane zarówno małymi literami (http_proxy, https_proxy, no_proxy), jak i wielkimi (HTTP_PROXY, HTTPS_PROXY, NO_PROXY), aby rozpoznawały je wszystkie narzędzia CLI oparte na GNU, Go i Rust.
- 2
Skonfiguruj proxy dla menedżera pakietów APT
Ponieważ polecenie sudo apt update ignoruje zmienne powłoki użytkownika, utwórz plik /etc/apt/apt.conf.d/80proxy z dyrektywami Acquire::http::Proxy oraz Acquire::https::Proxy.
- 3
Przetestuj łączność wychodzącą za pomocą curl
Załaduj swój profil (
source /etc/profile.d/proxy.sh) i uruchomcurl -s https://api.ipify.org, aby potwierdzić, że ruch z Twojej maszyny z Ubuntu jest kierowany przez VinaProxy.
Często zadawane pytania
Dlaczego w systemie Linux potrzebuję zarówno małych liter http_proxy, jak i wielkich HTTP_PROXY?
Niektóre narzędzia w systemie Linux (np. curl i wget) sprawdzają zmienną zapisaną małymi literami http_proxy, podczas gdy inne działają tylko z wielkimi literami HTTP_PROXY (lub obsługują obie). Zdefiniowanie obu wariantów gwarantuje spójne działanie we wszystkich środowiskach uruchomieniowych.
Dlaczego polecenie `sudo apt update` ignoruje moją wyeksportowaną zmienną `http_proxy`?
Ze względów bezpieczeństwa sudo resetuje zmienne środowiskowe, chyba że zostanie wywołane z flagą sudo -E. Konfiguracja pliku /etc/apt/apt.conf.d/80proxy zapewnia, że APT zawsze prawidłowo korzysta z proxy.
Jak skonfigurować proxy w interfejsie graficznym Ubuntu Desktop (GNOME)?
Przejdź do Ustawienia → Sieć → Serwer proxy → Ręcznie lub użyj polecenia gsettings set org.gnome.system.proxy mode 'manual' wraz z parametrami hosta i portu org.gnome.system.proxy.http.
Wybierz serwery proxy HTTP(S) o niskim opóźnieniu dla Ubuntu
Błyskawiczny dostęp do dedykowanych adresów IPv4 i statycznych ISP w 7 krajach.
Zobacz cennik proxy