apt.conf “Acquire :: http: Proxy” proxyserver: port "kullanılmıyor gibi görünüyor (Win7'de Sanal Kutu altında Ubuntu 13.04)


13

Bu, bir VirtualBox VM'sine Ubuntu 13.04 Masaüstü kurulumu içindir. Xyz251: 9090'da HTTP proxy'si olan bir şirket ağındayım. Konuk işletim sistemini otomatik yapılandırma komut dosyasıyla yapılandırdım, bu yüzden Firefox iyi çalışıyor, ancak proxy kullanarak bağlanmak için "apt-get" veya "Ubuntu Software Center" alamıyorum.

"/Etc/apt/apt.conf" dosyasını oluşturdum, şimdi tek bir metin satırı içeriyor:

Acquire::http:Proxy "http://x.y.z.251:9090"

"Sistem Ayarları / Ağ / Ağ Proxy'si" nde belirttiğim ve tüm sisteme uyguladığım proxy.pac dosyasıdır.

Firefox kullandığımda, bir paket izlemesi TCP bağlantısının 9090 numaralı bağlantı noktasındaki şirket proxy'si üzerinden yapıldığını, "Ubuntu Yazılım Merkezi" ve "apt-get" komutunu çalıştırdığımda, paket izlemesi TCP SYN paketlerini nihai hedef IP ile gösteriyor Şirket güvenlik duvarı 80 numaralı bağlantı noktasındaki TCP bağlantılarının içeri girmesini veya çıkmasını engellediğinden, elbette SYN paketlerine yanıt yoktur.

Bir terminal penceresinde "sudo apt-get" ile, her zaman görüyorum:

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)]

Sonunda şunu görüyorum:

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.

Yanlış yaptığımdan emin değilim.

--- Güncelleme ---- Ben de denedim:

Acquire::http:proxy "http://user:pass@x.y.z.251:9090/"

"xyz" elbette yer tutuculardır; İşverenimin güvenlik insanlarının bana gerçek sayıları yazarken nazikçe bakacağından şüpheliyim. Paket izleme hiçbir fark görmüyorum - "apt-get" hala gerçek IP adresleri ve bağlantı noktası 80 kullanıyor. Apt.conf dosyasında kasıtlı bir hata yaptım ve "apt-get" bir hata ile çıktım, bu yüzden ben Proxy için bu yapılandırma satırını gördüğünden eminim, onurlandırmıyor gibi görünüyor.

Ağlar arasında köprü kurmak için burada IT ilkesine aykırı olduğu için "NAT" ağ bağlantısı kullanıyorum ve DHCP sunucusu yalnızca bilinen MAC adreslerine adres sağlıyor. Ben (tekrar) küp güvenlik BT güvenlik istemiyorum.


Her gün yeni bir şeyler öğrenin. Görünen o ki "/etc/apt/apt.conf" sadece "Sistem Ayarları / Ağ / Ağ Proxy'si" nde manuel proxy yapılandırma seçeneğini kullanırsanız güncellenir. Daha sonra içeri girdim ve bu dosyada yaptığım girişleri manuel olarak yorumladım ve IPv6'yı devre dışı bıraktım. GUI tarafından oluşturulan girişler, başladığımın hemen hemen aynısıydı, ancak "apt-get" şimdi çalışıyor. IPv6'yı GUI aracılığıyla devre dışı bırakabilmek hoş olurdu, ancak "/etc/sysctl.conf" düzenlemesi iyi çalışıyor. @ Terry-wang
Daniel Glasser'a

Bunu cevap olarak ekleyebilir misiniz? Sorununuz proxy yanlış ayarlanmış değil ipv6 oldu.
Braiam

Belki de ve :arasında bir iki noktayı kaçırdınız mı? yerine . httpProxyhttp::Proxyhttp:Proxy
Gonmator

Yanıtlar:


18

Geçmiş deneyimlerime dayanarak, genel Ubuntu (GNOME) PAC (Otomatik Yapılandırma) ile çok iyi çalışmıyor. Pac (Proxy Otomatik Yapılandırma) temel olarak sizin için en yakın veya en uygun proxy'yi belirlemek için JavaScript mantığıdır, doğrudan proxy sunucularını kullanmanızı öneririm (sizin durumunuzda Network - Network Proxy).

Kontrol edilecek birkaç şey

/Etc/apt/apt.conf sayfanızı kontrol edin

Network -Network Proxy GUI /etc/apt/apt.conf, proxy bilgilerini orada güncelleyecek ve ayarlayacaktır.

Proxy sunucu bilgilerini pac'ten öğrenin

proxy.pacYine de dosyayı okuyarak ayrıntıları bulabilirsiniz .

Bu nedenle /etc/apt/apt.confaşağıdaki gibi görünmelidir (proxy sunucusunun => proxy.company.com bağlantı noktası 80 olduğunu varsayalım), pac URL'yi KULLANMAYIN.

Acquire::http::proxy "http://proxy.company.com:80/";
Acquire::https::proxy "https://proxy.company.com:80/";
Acquire::ftp::proxy "ftp://proxy.company.com:80/";

NOT: apt config dosyalarında proxy belirtilmemişse, ortam değişkenine apt-getgeri döner http_proxy.

Apt.conf man sayfasından @Braiam yorumuna cevap ver

   http
       HTTP URIs; http::Proxy is the default http proxy to use. It is in
       the standard form of http://[[user][:pass]@]host[:port]/. Per host
       proxies can also be specified by using the form http::Proxy::<host>
       with the special keyword DIRECT meaning to use no proxies. If no
       one of the above settings is specified, http_proxy environment
       variable will be used.

Proxy ortam değişkenlerini kontrol etme

Terminalde aşağıdakileri çalıştırarak proxy ayarlarını kontrol edebilirsiniz

echo $http_proxy
echo $https_proxy
echo $ftp_proxy

Env değişkenlerini doğru ayarlarsanız, CLI'da güncelleme yapabilmeniz gerekir.

IPv4'ü tercih et

apt-getOnların ipv6 adresini kullanarak güncelleme sunucularına bağlanmaya çalıştığını fark ettim . Bu sorunlara neden olabilir (bazen IPV6 adreslerinin süresi dolar veya değişir).

Düzenleyebilir /etc/gai.confve precedence ::ffff:0:0/96 100ipv6 yerine ipv4 tercih etmek için ekleyebilirsiniz .

Daha fazla detay


Yanıtınız için teşekkürler. "/Etc/apt/apt.conf" içine koyduğum değer .pac dosyasının kendisinin URI'sı değil, .pac dosyasından gelen gerçek URI ve sokettir (sistem ayarları / networking / network proxy ".
Daniel Glasser

"Sistem Ayarları / Ağ / ağ proxy'si" ne girdim ve manuel yapılandırmayı kullandım; bu "/etc/apt/apt.conf" dosyasını güncelledi. IPv4'ü "/etc/sysctl.conf" düzenleyerek de devre dışı bıraktım. Bu hile yapmış gibi görünüyor. Yardımınız için teşekkürler.
Daniel Glasser

Doğru değil, apt-get hiçbir zaman http_proxyortam değişkenleri veya ortam değişkenleri kullanmaz.
Braiam

@Braiam yapın man apt.confve görün http::Proxy. Cevabı da güncelledim. Ayrıca kullanıyorum oldum http_proxyve https_proxybirlikte kullanmak değişkenleri çevre apt-getyıldır. Oy vermeden önce biraz araştırma yapın.
Terry Wang

Ayrıca, kendiniz araştırma yapın! Çalıştırın sudo apt-get -o Debug::Acquire::http=true updateve yalnızca ortam değişkeninin ayarlanması proxy kullanıyorsa kendinizi kontrol edin . Yıl boyunca proxy kullanıyorsanız, kendinizi güncelleyin .
Braiam

5

Bu problemi yaşadığımı düşünüyorum ve cevap basit. Sözdizimi önemlidir. Şöyle görünmelidir:

Acquire::http::Proxy "http://x.y.z.251:9090";

(Fazladan bir ":" ve bir sonlandırma ";" vardır)


1

@Braiam

Bence bazı şeyleri açıklığa kavuşturmak için ayrı bir cevap başlatmak daha iyidir.

Güvenlik duvarının arkasında Vagrant ve Ubuntu 13.04 Raring x86_64 VM kullanarak hızlı bir test yaptım.

apt-get sürümü 0.9.7.7ubuntu4

root@raring:~# apt-get --version 
apt 0.9.7.7ubuntu4 for amd64 compiled on Apr 12 2013 23:49:05
Supported modules:
*Ver: Standard .deb
*Pkg:  Debian dpkg interface (Priority 30)
 Pkg:  Debian APT solver interface (Priority -1000)
 S.L: 'deb' Standard Debian binary tree
 S.L: 'deb-src' Standard Debian source tree
 Idx: Debian Source Index
 Idx: Debian Package Index
 Idx: Debian Translation Index
 Idx: Debian dpkg status file
 Idx: EDSP scenario file

Güncelleme: Precise 12.04.3 ile aynı şekilde çalışır

root@support:/etc/apt# uname -a
Linux support 3.8.0-30-generic #44~precise1-Ubuntu SMP Fri Aug 23 17:33:45 UTC 2013 i686 i686 i386 GNU/Linux
root@support:/etc/apt# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:        12.04
Codename:       precise
root@support:/etc/apt# apt-get --version
apt 0.8.16~exp12ubuntu10.14 for i386 compiled on Sep  8 2013 03:26:42

1 - apt yapılandırma dosyalarını temizle

İçindeki proxy ayarlarını temizledim /etc/apt/apt.conf. Ben de yaptım ackve agtüm dosya ve alt dizinleri tarama /etc/aptemin apt yapılandırma dosyalarında hiçbir vekil seti vardır yapmak.

Varsayılan olarak {http_proxy,https_proxy,ftp_proxy}env değişkenleri ayarlanmamıştır.

apt-get, güncelleme sunucularına bağlanamadı.

root@raring:~# apt-get -o Debug::Acquire::http=true update
0% [Connecting to au.archive.ubuntu.com (202.158.214.106)] [Connecting to security.ubuntu.com (91.189.91.13)] [Connecting to ppa.launchpad.net (91.189.95.83)]

2. set ortam değişkenleri

Sadece proxy değişkenlerini ayarlayın

export {http_proxy,https_proxy,ftp_proxy}="http://10.xxx.xxx.231:80"

apt-get artık bağlanabiliyor!

Hata ayıklama çıktısına bakın (bu hiç denemediğim bir şey).

root@raring:~# apt-get -o Debug::Acquire::http=true update
0% [Working]GET http://security.ubuntu.com/ubuntu/dists/raring-security/Release.gpg HTTP/1.1
Host: security.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


GET http://au.archive.ubuntu.com/ubuntu/dists/raring/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


GET http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/raring/Release.gpg HTTP/1.1
Host: ppa.launchpad.net
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


HTTP/1.1 200 OK
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "16e20bb4-3a5-4db2e154a1dc0"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Thu, 25 Apr 2013 11:54:39 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:1 http://au.archive.ubuntu.com raring Release.gpg [933 B]
0% [1 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]GET http://au.archive.ubuntu.com/ubuntu/dists/raring-updates/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


99% [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK             
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "16e20ee7-3a5-4e7594ace9200"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Fri, 27 Sep 2013 08:30:00 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:2 http://au.archive.ubuntu.com raring-updates Release.gpg [933 B]
50% [2 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]GET http://au.archive.ubuntu.com/ubuntu/dists/raring-backports/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


100% [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK             
Date: Fri, 27 Sep 2013 12:12:21 GMT
ETag: "16e0083d-3a5-4e6844f477fc0"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Mon, 16 Sep 2013 18:24:07 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:3 http://au.archive.ubuntu.com raring-backports Release.gpg [933 B]
67% [3 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "3a5-4e75c5d969600"
Server: Apache/2.2.22 (Ubuntu)
Expires: Fri, 27 Sep 2013 13:05:00 GMT
Accept-Ranges: bytes
Cache-Control: max-age=3159, s-maxage=3300, proxy-revalidate
Last-Modified: Fri, 27 Sep 2013 12:10:00 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

......

3 - ortam değişkenlerini ayarlama

env vars ayarını kaldır => unset {http_proxy,https_proxy,ftp_proxy}

Şimdi apt-get bağlanamadı.

Sonuç

man apt.confDediği gibi , http :: Proxy ayarlanmadıysa, http_proxyortam değişkeni kullanılır.

BTW : Ben de Arch Linux kullanıcısıyım. Pacman benzer bir şekilde çalışır, eğer proxy kullanmazsam wgetveya `` curlproxy ile pacman.conf'' kullanırsam, `{http_proxy, https_proxy, ftp_proxy} 'ortam değişkenlerini kullanır.

Güncelleme sudo ortam değişkenlerini korumaz. Bu yüzden sudo apt-get updatebaşarısız olur. Soruna geçici bir çözüm bulmak için (proxy ortam değişkenlerini koru) kullanın sudo -E apt-get update.


Btw, cevaplarda ping konusunda bilgilendirilmiyorum. Ayrıca, yorumuma bakın, sudobunun yerine root olarak giriş yapmayı deneyin ve neden işe yaramadığını söylediğimi görün.
Braiam

@ Braiam Biraz daha test yaptım. sudoçevre değişkenlerini korumaz, sorun budur! Ancak sudo -E apt-get update && apt-get dist-upgrade;-)
Terry Wang'ı

Ben biraz aynı sözü benim diğer comment : S
Braiam

Cevabı nasıl netleştirdiğini seviyorum. Benim sorunum için çözüm "sudo -E" ipucu oldu. Geçmişte -E seçeneğini kullanmanız gerektiğini hiç hatırlamıyorum.
DaShaun

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.