Jak sprawdzić, czy serwer sieciowy naprawdę jest stosowany?

16

Usiłuję ustawić Network Proxy do korzystania z połączenia internetowego mojej sieci LAN do aktualizacji pakietów. podczas gdy ustawienia proxy działają na moim firefoxie , ale menedżer pakietów nadal nie może połączyć się z Internetem. Włączyłem proxy System >> Preferences >> Network Proxyi wpisałem użytkownika / hasło dla proxy również w „Szczegółach”.

Jak mogę się upewnić, że sieć proxy jest poprawnie zastosowana?

Alexar
źródło

Odpowiedzi:

12

Przede wszystkim upewnij się, że kliknąłeś „Zastosuj w całym systemie ...” za każdym razem, gdy zmieniasz ustawienia proxy w gnome-network-properties ( System -> Preferences -> Network Proxy). Ustawia http_proxy i powiązane zmienne środowiskowe. Powinno być dostępne dla wszystkich programów uruchomionych po ustawieniu proxy na „Zastosowane w całym systemie ...”. Aby być naprawdę pewnym, możesz się wylogować i zalogować ponownie, aby dokładnie to sprawdzić.

Jeśli otworzysz terminal i użyjesz polecenia set | grep -i proxy, zobaczysz ustawione odpowiednie zmienne środowiskowe. Idealnie powinno to wystarczyć.

Jednak spotkałem się z sytuacjami, w których wszystkie powyższe funkcje nadal nie działają: Synaptic lub apt-get(w wierszu poleceń) nie mogą połączyć się z Internetem przez serwer proxy, nawet jeśli jest ustawiony w powyższy sposób. W takich przypadkach jednym rozwiązaniem jest dodanie pliku /etc/apt/apt.conf.dze specyficzną konfiguracją proxy dla apt (będzie to używane przez apt-get, aptitude, synaptic i centrum oprogramowania Ubuntu).

Wykonaj poniższe kroki:

  1. Utwórz /etc/apt/apt.conf.d/40proxy

    gksudo gedit /etc/apt/apt.conf.d/40proxy

  2. Umieść w nim następującą zawartość - zmodyfikuj zawartość, aby dopasować ją do swojej sytuacji.

    Acquire::http::Proxy "http://proxy.site.com:8080";

Jeśli masz nazwę użytkownika i hasło, możesz zakodować to samo w adresie URL serwera proxy (podobnie jak http://username:[email protected]:8080), lub możesz użyć czegoś takiego jak ntlmaps, aby uzyskać lepszą kontrolę.

Więcej informacji można znaleźć tutaj .

koushik
źródło
1
dzięki! pierwszy za wprowadzenie set. wtedy, jak przewidziałeś, nadal występowały problemy z apt-get i update managerem ... i tworzenie 40proxygo rozwiązało. jedynym pozostałym problemem jest to, że root widzi proxy. np. wget whatismyip.comma różne wyjścia z normalnym użytkownikiem i rootem.
Alexar
Czy możesz opracować swój pozostały problem? Na przykład: jeśli ustawisz proxy za pomocą, System -> Preferences -> Network Proxya Apply System-wide...następnie mówisz, że polecenia uruchamiane jako użytkownik root nie widzi tego ustawienia? (Znaczenie sudo wget whatismyip.comnie zwraca adresu IP serwera proxy?)
koushik
Z drugiej strony, upewnij się, że wykonałeś kopię zapasową tego pliku 40proxy (powiedzmy, gdzieś w twoim folderze domowym), tajemniczo zniknąłem. Myślę, że wybranie Direct connection to Internetw Network Proxyoknie dialogowym prawdopodobnie to wyczyści. Może to być także problem z moim systemem, ale nie jestem pewien.
koushik
5

Czy kliknąłeś przycisk Zastosuj cały system (podświetlony)? Jeśli nie masz ustawień proxy, które są lokalne dla twojej sesji Gnome, a zatem kiedy rootpobierze pakiety, nie użyje tych samych ustawień sieciowych.

Ustawienia proxy

Oli
źródło
tak, zrobiłem to.
Alexar
5

Powyżej znajduje się kilka dobrych odpowiedzi, które pomogą ci, jeśli masz problemy (co sugeruje twoje pytanie). Jest to jednak odpowiedź na wąskie pytanie dotyczące sprawdzenia, czy zastosowano ustawienia sieciowego serwera proxy:

Metoda 1: Uruchom nową powłokę (xterm), a następnie sprawdź zmienne środowiskowe:

% env | grep -i proxy
http_proxy=http://172.17.0.130:8080/
ftp_proxy=ftp://172.17.0.130:8080/
all_proxy=socks://172.17.0.130:8080/
...

Zauważ, że istniejące powłoki nie będą miały zaktualizowanych zmiennych środowiskowych. Jeśli więc wykonujesz polecenie, które sprawdza zmienne środowiskowe dla ustawień proxy, uruchom je w powłoce utworzonej po zmianach ustawień proxy.

Metoda 2: Użyj gconftooldo zapytania ustawień gconf (które są przechowywane pod ~/.gconf):

% gconftool -R /system/proxy 
 old_ftp_port = 0
 old_ftp_host = 
 old_secure_port = 0
 old_secure_host = 
 autoconfig_url = 
 mode = manual
 ftp_host = 172.17.0.130
 secure_host = 172.17.0.130
 ...

% gconftool -R /system/http_proxy 
 use_authentication = false
 authentication_password = 
 authentication_user = 
 ignore_hosts = [localhost,127.0.0.0/8,*.local,...]
 use_http_proxy = true
 port = 8080
 use_same_proxy = true
 host = 172.17.0.130

Jak zauważyli inni, upewnij się, że Twoja przeglądarka i inne aplikacje są ustawione na „Użyj systemowych ustawień proxy”.

Craigster
źródło
1

Aby tymczasowo ustawić proxy, możesz uruchomić terminal i wejść

export http_proxy="http://yourproxy:yourport"

Następnie uruchom program, np. Synaptic do zarządzania pakietami. Konsola może dać ci pomocne informacje o tym, co się nie uda.

Phi
źródło
1
Aby ustawić zmienną środowiskową tylko dla jednego polecenia, możesz również użyć:http_proxy="http://yourproxy:yourport" synaptic
hultqvist
1

Jeśli spróbujesz:

curl http://www.google.com

z wiersza poleceń, a jeśli odzyskasz HTML, proxy działa.

Bnieland
źródło
0

Używam również proxy i musiałem skonfigurować ustawienia proxy specjalnie dla Synergy i menedżera aktualizacji (używając Synergy: Konfiguracja-> Preferencje-> Sieć). Nie ma opcji używania „ustawień systemowych”, a nawet jeśli powinno działać, zmiana serwera proxy na poziomie systemu nigdy nie pozwoliła mi na aktualizację :-(

Interesuje mnie rozwiązanie, które sprawia, że ​​działa :-)

Mała Jawa
źródło
0

Kliknij „Zastosuj w całym systemie ...” i sprawdź, czy wszystkie aplikacje internetowe są skonfigurowane do korzystania z proxy systemu. Nie ma w tym nic więcej. Nie ma potrzeby manipulowania plikami konfiguracyjnymi i skryptami startowymi.

Radu Cotescu
źródło
0

ktoś pomyślał o sprawdzeniu / dodaniu ustawień do:

/ etc / environment

spróbuj z:

http_proxy = "http: // użytkownik: hasło @ serwer proxy: port" https_proxy = "http: // użytkownik: hasło @ serwer proxy: port" ftp_proxy = "http: // użytkownik: hasło @ serwer proxy: port"

t0m5k1
źródło
-1

Stosowanie w całym systemie to za mało! Myślę, że może ISA Server lub synchroniczne resetowanie połączenia dla każdego zapytania do sieci to problem polegający na tym, że uwierzytelnianie przy logowaniu i haśle się kończy. A może ISA Server nie akceptuje przesyłania zapytań, które nie odpowiadają w protokole HTTP, ale to nie jest mój ulubiony.

DarkTemplar
źródło