Il s'agit d'une installation d'Ubuntu 13.04 Desktop dans une machine virtuelle VirtualBox. Je suis sur un réseau d'entreprise avec un proxy HTTP à xyz251: 9090. J'ai configuré le système d'exploitation invité avec le script de configuration automatique, donc Firefox fonctionne bien, mais je ne peux pas obtenir «apt-get» ou «Ubuntu Software Center» pour se connecter en utilisant le proxy.
J'ai créé le fichier "/etc/apt/apt.conf", il contient désormais une seule ligne de texte:
Acquire::http:Proxy "http://x.y.z.251:9090"
qui 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 montre que la connexion TCP est établie via le proxy d'entreprise sur le port 9090, lorsque j'exécute "Ubuntu Software Center" et "apt-get", la trace de paquet montre les paquets TCP SYN avec l'IP de destination éventuelle l'adresse et le port 80. Il n'y a bien sûr aucune réponse aux paquets SYN, car le pare-feu d'entreprise empêche les connexions TCP sur le port 80 d'entrer ou de sortir.
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 également essayé:
Acquire::http:proxy "http://user:[email protected]:9090/"
"xyz" sont, bien sûr, des espaces réservés; Je doute que les responsables de la sécurité de mon employeur me demandent de bien vouloir publier les chiffres réels. Je ne vois aucune différence dans la trace des paquets - "apt-get" utilise toujours les vraies adresses IP et le port 80. J'ai fait une erreur délibérée dans le fichier apt.conf et "apt-get" est sorti avec une erreur, donc j'ai 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", car elle est contraire à la politique informatique ici pour faire le pont entre les réseaux, et le serveur DHCP fournit uniquement des adresses aux adresses MAC connues. Je ne veux pas que la sécurité informatique frappe sur mon cube (encore une fois).
la source
:
plus entrehttp
etProxy
?http::Proxy
à la placehttp:Proxy
.Réponses:
Sur la base de mon expérience passée, globalement Ubuntu (GNOME) ne fonctionne pas très bien avec PAC (Automatic Config). Pac (Proxy Auto-config) est essentiellement une logique JavaScript pour déterminer le proxy le plus proche ou le plus approprié pour vous, je vous recommande fortement d' utiliser directement les serveurs proxy (dans votre cas, Network - Network Proxy).
Quelques points à vérifier
Vérifiez votre /etc/apt/apt.conf
L'interface graphique du proxy réseau-réseau mettra à jour
/etc/apt/apt.conf
et définira les informations de proxy là-bas.Découvrez les informations du serveur proxy sur pac
Vous pouvez trouver les détails en lisant
proxy.pac
quand même le fichier.Donc, le
/etc/apt/apt.conf
devrait ressembler à ci-dessous (supposez que le serveur proxy est => proxy.company.com port 80), N'utilisez PAS l'URL pac.À partir de la page de manuel apt.conf, répondez au commentaire de @Braiam
Vérifier les variables d'environnement proxy
Vous pouvez vérifier les paramètres du proxy en exécutant ce qui suit dans le terminal
Si vous définissez correctement les variables env, vous devriez pouvoir mettre à jour l'interface CLI.
Préférez IPv4
J'ai remarqué que
apt-get
j'essayais de me connecter aux serveurs de mise à jour en utilisant leur adresse ipv6. Cela pourrait provoquer des problèmes (parfois les adresses IPV6 expirent ou changent).Vous pouvez modifier
/etc/gai.conf
et ajouterprecedence ::ffff:0:0/96 100
pour préférer ipv4 à ipv6.Plus de détails
la source
http_proxy
variables d'environnement.man apt.conf
et voirhttp::Proxy
. J'ai également mis à jour la réponse. J'ai également utilisé des variables d'environnementhttp_proxy
ethttps_proxy
à utiliser avecapt-get
pendant des années. Faites des recherches avant de voter contre.sudo apt-get -o Debug::Acquire::http=true update
et vérifiez vous-même si seul le réglage de la variable d'environnement utilise le proxy. Et si vous utilisiez un proxy pour l'année, mettez-vous à jour .Je crois que j'ai eu ce problème et la réponse est simple. La syntaxe est critique. Cela doit ressembler à ceci:
(Il y a un ":" supplémentaire et un ";")
la source
@Braiam
Je pense qu'il vaut mieux commencer une réponse séparée pour clarifier les choses.
J'ai fait un test rapide en utilisant Vagrant et une machine virtuelle Ubuntu 13.04 Raring x86_64 derrière le pare-feu.
la version apt-get est
0.9.7.7ubuntu4
Mise à jour: Cela fonctionne de la même manière sur Precise 12.04.3
1er - effacer les fichiers de configuration apt
J'ai effacé les paramètres de proxy dans
/etc/apt/apt.conf
. J'ai également faitack
etag
analysé tous les fichiers et sous-répertoires/etc/apt
pour m'assurer qu'aucun proxy n'est défini dans les fichiers de configuration apt.Par défaut, les
{http_proxy,https_proxy,ftp_proxy}
variables env ne sont pas définies.apt-get n'a pas pu se connecter aux serveurs de mise à jour.
2e - définir les variables d'environnement
Définissez simplement les variables proxy
apt-get est maintenant capable de se connecter!
Voir la sortie de débogage (c'est quelque chose que je n'ai jamais essayé).
......
3ème - désactiver les variables d'environnement
désactiver les vars env =>
unset {http_proxy,https_proxy,ftp_proxy}
Maintenant, apt-get n'a pas pu se connecter.
Conclusion
Tout comme ce qui est
man apt.conf
dit, si http :: Proxy n'est PAS défini,http_proxy
la variable d'environnement sera utilisée.BTW : Je suis également un utilisateur d'Arch Linux. Pacman fonctionne de manière similaire, si je n'utilise pas
wget
oucurl
avec proxy danspacman.conf
, il utilisera les variables d'environnement `{http_proxy, https_proxy, ftp_proxy} '.La mise à jour
sudo
ne conserve PAS les variables d'environnement. Voilà pourquoisudo apt-get update
échoue. Pour contourner le problème (conserver les variables d'environnement proxy), utilisezsudo -E apt-get update
.la source
sudo
place une connexion en tant que root et voyez pourquoi j'ai dit que cela ne fonctionnait pas.sudo
ne préserve PAS les variables d'environnement, c'est le problème! Mais vous pouvez le contourner en utilisantsudo -E apt-get update && apt-get dist-upgrade
;-)touchez /etc/apt/apt.conf && sudo vi etc / apt / apt.conf
Acquérir :: http: proxy " http: // user: pass @ xyz00: 80 / "; Acquérir :: https: proxy " https: // user: pass @ xyz00: 80 / ";
Remplacez xyz00: 80 - >> votre URL ou IP proxy
la source