web-dev-qa-db-fra.com

apt.conf "Acquire :: http: Proxy" serveur de proxy: port "ne semble pas être utilisé (Ubuntu 13.04 sous Virtual Box sur Win7)

Ceci concerne une installation d'Ubuntu 13.04 Desktop sur une machine virtuelle VirtualBox. Je suis sur un réseau d'entreprise avec un proxy HTTP à x.y.z.251: 9090. J'ai configuré le système d'exploitation invité avec le script d'auto-configuration, donc Firefox fonctionne bien, mais je ne parviens pas à obtenir "apt-get" ou "Ubuntu Software Center" pour se connecter à l'aide du proxy.

J'ai créé le fichier "/etc/apt/apt.conf", il contient maintenant une seule ligne de texte:

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

c'est ce que le fichier proxy.pac que j'ai spécifié dans "Paramètres système/Réseau/Proxy réseau" et appliqué à l'ensemble du système.

Lorsque j'utilise Firefox, une trace de paquet indique que la connexion TCP est établie via le proxy de l'entreprise sur le port 9090. Lorsque j'exécute "Ubuntu Software Center" et "apt-get", la trace de paquet affiche TCP Paquets SYN avec l'adresse IP de destination éventuelle et le port 80. Il n'y a bien entendu aucune réponse aux paquets SYN, car le pare-feu de l'entreprise bloque TCP les connexions sur le port 80 de l'entrée ou de la sortie. en dehors.

Avec "Sudo apt-get" dans une fenêtre de terminal, je vois toujours:

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

Finalement, je vois:

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.

Je ne suis pas du tout certain de ce que je fais mal.

--- Mise à jour ---- J'ai aussi essayé:

Acquire::http:proxy "http://user:[email protected]:9090/"

"x.y.z" sont, bien entendu, des détenteurs de place; Je doute que les agents de sécurité de mon employeur me consultent et affichent les chiffres réels. Je ne vois aucune différence dans la trace des paquets - "apt-get" utilise toujours les adresses IP réelles et le port 80. J'ai fait une erreur délibérée dans le fichier apt.conf et "apt-get" s'est arrêté avec une erreur, c'est pourquoi je Suis certain qu'il voit cette ligne de configuration pour le proxy, il ne semble tout simplement pas l'honorer.

J'utilise la connexion réseau "NAT", comme cela est contraire à la politique informatique ici pour établir un pont entre les réseaux, et le serveur DHCP ne fournit que les adresses d'adresses MAC connues. Je ne veux pas que la sécurité informatique frappe mon cube (encore).

12
Daniel Glasser

D'après mon expérience, Ubuntu (GNOME) dans son ensemble ne fonctionne pas très bien avec PAC (Automatic Config). Pac (Proxy Auto-config) est essentiellement une logique JavaScript permettant de déterminer le proxy le plus proche ou le plus approprié pour vous. Je recommande vivement d'utiliser les serveurs proxy directement (en votre cas Réseau - Proxy réseau).

Quelques points à vérifier

Vérifiez votre /etc/apt/apt.conf

L’interface graphique réseau-proxy réseau mettra à jour /etc/apt/apt.conf et y définira les informations de proxy.

Découvrez les informations sur le serveur proxy de pac

Vous pouvez trouver les détails en lisant quand même le fichier proxy.pac.

Donc, le /etc/apt/apt.conf devrait ressembler à celui ci-dessous (supposons que le serveur proxy soit => proxy.company.com port 80), n'utilisez PAS l'URL pac.

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

NOTE: Si aucun proxy n'est spécifié dans les fichiers de configuration d'apt, apt-get se repliera sur la variable d'environnement http_proxy.

À partir de la page de manuel apt.conf, répondez au commentaire de @Braiam.

   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.

Vérifier les variables d'environnement proxy

Vous pouvez vérifier les paramètres du proxy en lançant ce qui suit dans le terminal

echo $http_proxy
echo $https_proxy
echo $ftp_proxy

Si vous définissez correctement les variables env, vous devriez pouvoir mettre à jour votre interface de ligne de commande.

Préfère IPv4

J'ai remarqué que apt-get essayait de se connecter aux serveurs de mise à jour en utilisant leur adresse ipv6. Cela pourrait causer des problèmes (parfois les adresses IPV6 expirent ou changent).

Vous pouvez éditer /etc/gai.conf et ajouter precedence ::ffff:0:0/96 100 pour préférer ipv4 à ipv6.

Plus de détails

16
Terry Wang

Je pense avoir eu ce problème et la réponse est simple. La syntaxe est critique. Cela doit ressembler à ceci:

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

(Il y a un extra: "et un"; ")

5
k-h

@Braiam

Je pense qu'il est préférable de commencer une réponse séparée pour clarifier les choses.

J'ai fait un test rapide à l'aide de Vagrant et d'un Ubuntu 13.04 Raring x86_64 VM derrière un pare-feu.

la version d'apt-get est 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

Mise à jour: Cela fonctionne de la même manière sur Precise 12.04.3

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

1er - effacer les fichiers de configuration apt

J'ai effacé les paramètres de proxy dans /etc/apt/apt.conf. J'ai également procédé à acket agà l'analyse de tous les fichiers et sous-répertoires /etc/apt afin de m'assurer qu'il n'y a pas de proxy défini dans les fichiers de configuration d'apt.

Par défaut, {http_proxy,https_proxy,ftp_proxy} les variables env ne sont pas définies.

apt-get n'a pas pu se connecter aux serveurs de mise à jour.

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ème - définir les variables d'environnement

Il suffit de définir les variables de proxy

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

apt-get est maintenant capable de se connecter!

Voir la sortie de débogage (c'est quelque chose que je n'ai jamais essayé).

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ème - désactive les variables d'environnement

désactiver les env vars => unset {http_proxy,https_proxy,ftp_proxy}

Maintenant, apt-get était incapable de se connecter.

Conclusion

Tout comme ce que man apt.conf dit, si http :: Proxy n'est PAS défini, la variable d'environnement http_proxy sera utilisée.

BTW: Je suis aussi un utilisateur d’Arch Linux. Pacman fonctionne de la même manière. Si je n’utilise pas wgetou curlavec un proxy dans pacman.conf, il utilisera les variables d’environnement `{http_proxy, https_proxy, ftp_proxy} '.

Mise à jourSudoNE conserve PAS les variables d'environnement. C'est pourquoi Sudo apt-get update échoue. Pour résoudre le problème (conserver les variables d'environnement proxy), utilisez Sudo -E apt-get update.

1
Terry Wang