Jak skonfigurować proxy bez GUI?

78

Jak skonfigurować ustawienia proxy w wersji Ubuntu Server lub Minimal (CLI) przy użyciu terminala?

Asad
źródło

Odpowiedzi:

107

Systemowe proxy w CLI Ubuntu / Server muszą być ustawione jako zmienne środowiskowe.

  • Otwórz /etc/environmentplik za pomocą vi(lub ulubionego edytora). W tym pliku przechowywane są systemowe zmienne zainicjowane podczas rozruchu.
  • Dodaj następujące wiersze, odpowiednio modyfikując. Musisz powielić zarówno wielkie, jak i małe litery, ponieważ (niestety) niektóre programy szukają tylko jednego lub drugiego:

    http_proxy = "http://myproxy.server.com:8080/"
    https_proxy = "http://myproxy.server.com:8080/"
    ftp_proxy = "http://myproxy.server.com:8080/"
    no_proxy = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    HTTP_PROXY = "http://myproxy.server.com:8080/"
    HTTPS_PROXY = "http://myproxy.server.com:8080/"
    FTP_PROXY = "http://myproxy.server.com:8080/"
    NO_PROXY = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    
  • apt-get, aptitudeitp. nie będą przestrzegały zmiennych środowiskowych, jeśli są używane normalnie z sudo. Więc skonfiguruj je osobno; utworzyć plik o nazwie 95proxiesw /etc/apt/apt.conf.d/, i zawierać następujące elementy:

    Uzyskaj :: http :: proxy "http://myproxy.server.com:8080/";
    Acquire :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    Uzyskaj :: https :: proxy "https://myproxy.server.com:8080/";
    

Na koniec wyloguj się i uruchom ponownie, aby upewnić się, że zmiany zostaną zastosowane.


Źródła: 1 , 2 . W szczególności patrz 1, aby uzyskać dodatkową pomoc, w tym skrypt do szybkiego włączania / wyłączania serwerów proxy.

ish
źródło
Potrzebuję w tym pomocy. Próbowałem tego na wirtualnym Ubuntu Server 12.04 już od jakiegoś czasu i nie działa. Mam go do pracy z wirtualnym Ubuntu 12.04 (bez serwera). Ale użyłem GUI do zastosowania ustawień globalnych. Próbowałem z cytatami, jak sugeruje dolny link, ale to nie pomogło. Jeśli wprowadzam adres IP zamiast nazwy domain.com, czy formatowanie się zmienia? Próbowałem kilku kombinacji rzeczy.
Frantumn
czy na pewno https_proxy = "http?
BBK
Moim zdaniem nie jest to świetna odpowiedź, ponieważ (nieprawidłowe) informacje proxy, które podałem podczas instalacji, nie znajdują się w / etc / environment.
James T Snell
1
W moim przypadku, Ubuntu 12.04, wylogowanie i ponowne uruchomienie nie było konieczne, aby upewnić się, że zmiany zostaną wprowadzone. Wykonuję: sudo service network-manager restart
Daniel Mora
1
@BBK nawet przy korzystaniu z protokołu https może być konieczne połączenie się z serwerem proxy za pośrednictwem protokołu http, co w zasadzie umożliwia serwerowi proxy podsłuchiwanie przypuszczalnie bezpiecznego połączenia.
s3lph
9

Jeśli masz proxy uwierzytelniające, adresy URL będą inne. Zamiast:

"http://myproxy.server.com:8080/"

Będziesz miał:

"http://user_name:[email protected]:8080/"

Pamiętaj, że nadal są to adresy URL, więc hasła (i ewentualnie nazwy użytkownika) będą musiały być zakodowane w adresie URL .

Na przykład nazwa użytkownika murui hasło )qv3TB3LBm7EkP}mogą wyglądać następująco:

"http://muru:)qv3TB3LBm7EkP%[email protected]:8080/"

Można to zrobić na różne sposoby:

  1. Istnieje kilka stron do kodowania:
  2. Programowy:

W skrócie możesz użyć, man urlaby zobaczyć, które znaki należy zakodować:

An escaped octet is encoded as a character triplet, 
consisting of the percent character "%" followed by 
the two hexadecimal digits representing the octet code...

A kody oktetów są dostępne na man ascii.

muru
źródło
0
                                 Proxy Environment Variables:

http_proxy: Serwer proxy dla ruchu HTTP
https_proxy: Serwer proxy dla ruchu HTTPS
ftp_proxy: Serwer proxy dla ruchu FTP
no_proxy: Wzory adresów IP lub nazw domen, które nie powinny używać proxy

Wartość dla każdego ustawienia proxy, z wyjątkiem no_proxy, używa tego samego szablonu. proxy_http=username:password@proxy-host:port

Tymczasowe ustawienie proxy: export HTTP_PROXY=user:[email protected]:8080

Trwałe ustawienia proxy: użyj, vim ~/.bash_profileaby otworzyć plik instalacyjny bash, a następnie wstaw do niego następujące wiersze

export http_proxy=username:password@proxyhost.com:8080
export https_proxy=username:password@proxyhost.com:8081
export no_proxy=localhost, 127.0.0.1, *.my.lan

użyj, source ~/.bash_profileaby zastosować zmiany

Yossarian42
źródło
literówka w ostatnim wierszu przykładów „eksport” („exprot” powinien być „eksport”). Próbowałem go edytować, aby zastosować poprawkę, ale najwyraźniej zmiany muszą mieć „6 znaków lub więcej” ...
Jeremy Davis
1
Dzięki, poprawiłem to.
Yossarian42