Dotyczy to instalacji systemu Ubuntu 13.04 Desktop na maszynie wirtualnej VirtualBox. Jestem w sieci firmowej z proxy HTTP w xyz251: 9090. Skonfigurowałem system gościa za pomocą skryptu autokonfiguracji, więc Firefox działa dobrze, ale nie mogę uzyskać połączenia „apt-get” lub „Centrum oprogramowania Ubuntu” z serwerem proxy.
Utworzyłem plik „/etc/apt/apt.conf”, teraz zawiera on jeden wiersz tekstu:
Acquire::http:Proxy "http://x.y.z.251:9090"
to jest plik proxy.pac, który określiłem w „Ustawieniach systemu / sieci / sieciowym proxy” i zastosowałem do całego systemu.
Gdy korzystam z Firefoksa, śledzenie pakietów pokazuje, że połączenie TCP odbywa się za pośrednictwem korporacyjnego serwera proxy na porcie 9090, kiedy uruchamiam „Centrum oprogramowania Ubuntu” i „apt-get”, śledzenie pakietów pokazuje pakiety TCP SYN z docelowym docelowym adresem IP adres i port 80. Oczywiście nie ma odpowiedzi na pakiety SYN, ponieważ zapora korporacyjna blokuje połączenia TCP na porcie 80 przed wejściem lub wyjściem.
Z „sudo apt-get” w oknie terminala zawsze widzę:
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/main Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/main Translation-en
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/restricted Translation-en_US
Ign cdrom://Ubuntu 13.04 _Raring Ringtail_ - Release amd64 (20130424) raring/restricted Translation-en
Err http://extras.ubuntu.com raring Release.gpg
Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out
Err http://archive.canonical.com raring Release.gpg
Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
Err http://us.archive.ubuntu.com raring Release.gpg
Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-updates Release.gpg
Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
Err http://us.archive.ubuntu.com raring-backports Release.gpg
Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
59% [Connecting to security.ubuntu.com (91.189.91.14)]
W końcu widzę:
Err http://security.ubuntu.com raring-security Release.gpg
Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
Reading package lists... Done
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring/Release.gpg Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-updates/Release.gpg Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-backports/Release.gpg Cannot initiate the connection to us.archive.ubuntu.com:80 (2001:67c:1562::14). - connect (101: Network is unreachable) [IP: 2001:67c:1562::14 80]
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/Release.gpg Cannot initiate the connection to security.ubuntu.com:80 (2001:67c:1360:8c01::18). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::18 80]
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/raring/Release.gpg Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/raring/Release.gpg Could not connect to extras.ubuntu.com:80 (91.189.92.152), connection timed out
W: Some index files failed to download. They have been ignored, or old ones used instead.
Nie jestem wcale pewien, co robię źle.
--- Aktualizacja ---- Próbowałem również:
Acquire::http:proxy "http://user:[email protected]:9090/"
„xyz” to oczywiście symbole zastępcze; Wątpię, żeby ochroniarze mojego pracodawcy uprzejmie spojrzeli na mnie, podając rzeczywiste liczby. Nie widzę żadnej różnicy w śledzeniu pakietów - „apt-get” nadal używa rzeczywistych adresów IP i portu 80. Zrobiłem celowy błąd w pliku apt.conf i „apt-get” zakończył się błędem, więc jestem pewien, że widzi tę linię konfiguracji serwera proxy, po prostu nie wydaje się to honorować.
Korzystam z połączenia sieciowego „NAT”, ponieważ jest to sprzeczne z polityką IT, aby mostkować między sieciami, a serwer DHCP podaje adresy tylko do znanych adresów MAC. Nie chcę, żeby zabezpieczenia IT uderzały w moją kostkę (znowu).
źródło
:
bardziej brakowało Ci dwukropka międzyhttp
aProxy
?http::Proxy
zamiast tegohttp:Proxy
.Odpowiedzi:
Z moich wcześniejszych doświadczeń wynika, że ogólnie Ubuntu (GNOME) nie działa zbyt dobrze z PAC (Automatic Config). Pac (automatyczna konfiguracja proxy) jest w zasadzie logiką JavaScript do określenia najbliższego lub najodpowiedniejszego serwera proxy, zdecydowanie zalecamy bezpośrednie korzystanie z serwerów proxy (w twoim przypadku Network - Network Proxy).
Kilka rzeczy do sprawdzenia
Sprawdź swój /etc/apt/apt.conf
Network-Networkwork Proxy GUI zaktualizuje
/etc/apt/apt.conf
i ustawi tam informacje o proxy.Znajdź informacje o serwerze proxy od pac
Możesz znaleźć szczegóły, czytając
proxy.pac
plik mimo to./etc/apt/apt.conf
Powinien więc wyglądać jak poniżej (załóżmy, że serwer proxy to => proxy.company.com port 80), NIE używaj adresu URL pac.Na stronie podręcznika apt.conf odpowiedz na komentarz z @Braiam
Sprawdź zmienne środowiskowe proxy
Możesz sprawdzić ustawienia proxy, uruchamiając poniższe w terminalu
Jeśli poprawnie ustawiłeś zmienne env, powinieneś mieć możliwość aktualizacji w CLI.
Preferuj IPv4
Zauważyłem, że
apt-get
próbowałem połączyć się z serwerami aktualizacji przy użyciu adresu IPv6. Może to powodować problemy (czasem adresy IPV6 wygasają lub ulegają zmianie).Możesz edytować
/etc/gai.conf
i dodawać,precedence ::ffff:0:0/96 100
aby preferować ipv4 zamiast ipv6.Więcej szczegółów
źródło
http_proxy
ani żadnych zmiennych środowiskowych.man apt.conf
i zobaczhttp::Proxy
. Zaktualizowałem również odpowiedź. Od lat używamhttp_proxy
równieżhttps_proxy
zmiennych środowiskowychapt-get
. Przed głosowaniem wykonaj kilka badań.sudo apt-get -o Debug::Acquire::http=true update
i sprawdź sam, czy tylko ustawienie zmiennej środowiskowej używa proxy. A jeśli korzystasz z proxy przez rok, bądź na bieżąco .Myślę, że miałem ten bardzo problem, a odpowiedź jest prosta. Składnia jest krytyczna. Musi wyglądać tak:
(Istnieje dodatkowe „:” i zakończenie „;”)
źródło
@Braiam
Myślę, że lepiej jest zacząć od osobnej odpowiedzi, aby wyjaśnić różne rzeczy.
Zrobiłem szybki test, używając Vagrant i Ubuntu 13.04 Raring VM86 x86_64 za firewallem.
wersja apt-get to
0.9.7.7ubuntu4
Aktualizacja: Działa tak samo w przypadku Precise 12.04.3
1. - wyczyść pliki konfiguracyjne apt
Wyczyściłem ustawienia serwera proxy w
/etc/apt/apt.conf
. Zrobiłem równieżack
iag
skanowałem wszystkie pliki i podkatalogi,/etc/apt
aby upewnić się, że w plikach konfiguracyjnych apt nie ma ustawionego serwera proxy.Domyślnie
{http_proxy,https_proxy,ftp_proxy}
zmienne env nie są ustawione.apt-get nie mógł połączyć się z serwerami aktualizacji.
2. - ustaw zmienne środowiskowe
Wystarczy ustawić zmienne proxy
apt-get jest teraz w stanie się połączyć!
Zobacz wyniki debugowania (jest to coś, czego nigdy nie próbowałem).
......
3. - rozbroić zmienne środowiskowe
unset env vars =>
unset {http_proxy,https_proxy,ftp_proxy}
Teraz apt-get nie mógł się połączyć.
Wniosek
Tak jak
man apt.conf
powiedziano, jeśli http :: Proxy NIE jest ustawione,http_proxy
zostanie użyta zmienna środowiskowa.BTW : Jestem także użytkownikiem Arch Linux. Pacman działa w podobny sposób, jeśli nie użyję
wget
lubcurl
z proxypacman.conf
, użyje zmiennych środowiskowych {{http_proxy, https_proxy, ftp_proxy}.Aktualizacja
sudo
NIE zachowuje zmiennych środowiskowych. Właśnie dlategosudo apt-get update
zawodzi. Aby obejść ten problem (zachowaj zmienne środowiskowe proxy), użyjsudo -E apt-get update
.źródło
sudo
zamiast tego zalogować się jako root i zobacz, dlaczego powiedziałem, że to nie działa.sudo
NIE zachowuje zmiennych środowiska, to jest problem! Ale możesz to obejść za pomocąsudo -E apt-get update && apt-get dist-upgrade
;-)dotknij /etc/apt/apt.conf && sudo vi etc / apt / apt.conf
Acquire :: http: proxy " http: // user: pass @ xyz00: 80 / "; Acquire :: https: proxy " https: // user: pass @ xyz00: 80 / ";
Zamień xyz00: 80 - >> Twój adres URL serwera proxy lub adres IP
źródło