apt-get update stuck: Connexion à security.ubuntu.com

79

Quand je cours apt-get updatesur ma machine, elle reste bloquée à:

100% [Connecting to security.ubuntu.com (2001:67c:1562::15)] [Connecting to archive.canonical.com (2001:67c:1360:8c01::16)]

Je n'ai apporté aucune modification récente au système et utilise mon réseau domestique, qui fonctionnait bien auparavant.

Je ne peux pas expliquer pourquoi il est passé à utiliser IPv6.
J'ai IPv6 sur ignorepour le réseau sans fil:

entrez la description de l'image ici

Ouput de ip addr:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: mlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 4c:0b:be:22:0a:b4 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.106/24 brd 192.168.2.255 scope global dynamic mlan0
   valid_lft 1814086sec preferred_lft 1814086sec
inet6 ::d5:b551:28db:2789:225/64 scope global temporary dynamic 
   valid_lft 604483sec preferred_lft 85483sec
inet6 ::d5:4e0b:beff:fe22:ab4/64 scope global mngtmpaddr dynamic 
   valid_lft 604779sec preferred_lft 86379sec
inet6 fe80::4e0b:beff:fe22:ab4/64 scope link 
   valid_lft forever preferred_lft forever
Pabi
la source
Modifiez l'adresse IP en IPv4, puis réessayez.
heemayl
Pourquoi utilisez-vous IPv6? Comme heemayl l'a dit, utilisez IPv4 sous Paramètres du réseau> [Adaptateur]> Avancé.
TheWanderer
1
Il semble que vous puissiez avoir un hôte envoyant des annonces de routeur avec 0:0:0:d5::/64. Cette plage est répertoriée comme étant réservée par l'IETF, ce qui ne constitue certainement pas un préfixe valide pour la publicité. Si ces AR se sont déjà arrêtées, il peut être impossible de savoir d'où elles viennent. Dans ce cas, tout ce que vous pouvez vraiment faire est de redémarrer l'interface réseau et le problème disparaîtra. Si les RA sont toujours en cours d'envoi, vous pouvez alors regarder une capture de paquet pour voir de quel MAC ils proviennent.
Kasperd
1
Outre la connectivité IPv6 mal configurée, un autre contributeur à votre problème est le manque de prise en charge de RFC 6555 dans Windows apt-get. Si vous aviez apt-getsuivi la RFC 6555, vous n’auriez jamais remarqué de problème.
Kasperd
1
Votre routeur local fait quelque chose de mal et vous donne des adresses IPv6 non valides. Vérifiez et corrigez la configuration du routeur.
Michael Hampton

Réponses:

168

Cela a fonctionné pour moi, grâce à Zach Adams ( https://zach-adams.com/2015/01/apt-get-cant-connect-to-security-ubuntu-fix/ ):

Il s’avère que c’est un problème où la connexion via IPv6 sur certains serveurs les bloque à ce stade. Le correctif est vraiment simple.

Ouvrez /etc/gai.conf

Sous la ligne

# For sites which prefer IPv4 connections change the last line to

Décommentez la ligne suivante en supprimant le #:

# precedence ::ffff:0:0/96 100

Cela vous permettra de continuer à utiliser IPv6 mais définira IPv4 comme priorité afin qu'apt-get ne reste pas bloqué.

Billynoah
la source
16
Merci! Cette réponse est bien meilleure que de désactiver servilement ipv6.
Cyrusmith
2
Si cela ne vous tente pas, essayez ceci: askubuntu.com/a/759540/4246
Gauthier
1
OMG qui a tant aidé!
GaTechThomas
4
Note: Ceci est toujours valable pour les versions LTS 14.04 et 16.04
Elder Geek le
1
J'ai travaillé pour Linux Mint 18.1 & 18.2. Cela devrait être par défaut.
mat
23

Le paramètre IPv6 pour le réseau a été ignoré, mais désactiver IPv6 via a /etc/sysctl.conffonctionné:

Ajoutez les lignes suivantes au bas de /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Exécuter sudo sysctl -ppour recharger les /etc/sysctl.confparamètres.

Pabi
la source
6
Ce n'est pas comme ça que tu devrais faire. Ces lignes signifient qu'une fois que vous vous connectez à un réseau doté d'IPv6, vous obtiendrez une connexion moins fiable que vous ne le deviez. En outre, ces lignes ne résolvent en rien la cause première de votre problème, que vous n'avez même pas identifié.
Kasperd
Je n'ai besoin d'IPv6 nulle part, donc cela fonctionne très bien.
Pabi
4
C'est idiot, car pour se connecter à des hôtes sur le même segment de réseau, les adresses IPv6 des liaisons locales présentent de nombreux avantages par rapport à IPv4.
Kasperd
1
Je ne peux pas le faire depuis mon téléphone;) Disons simplement que nous ne sommes pas d’accord.
Pabi
4
Fais ce que tu veux. Je fais juste un commentaire pour faire en sorte que toute autre personne susceptible de rencontrer le même problème sache que les modifications suggérées sysctl.confvont éventuellement poser problème.
Kasperd
15

Une meilleure approche consiste à utiliser apt-get comme suit au lieu de modifier le fichier gai.conf.

sudo apt-get -o Acquire::ForceIPv4=true update

Si vous voulez rendre cette tâche persistante, ajoutez simplement un alias pour 'apt-get' dans votre fichier bash.

Vinay Sheshadri
la source
Mais cela ne ferait-il pas des connexions qui pourraient être IPv6 tout IPv4?
Metame
@metame c'est tout le problème. OP a déclaré que son IPv6 était désactivé et que son utilisation posait problème.
Francesco Dondi
0

D'autres solutions ne m'ont pas aidé ... dans mon cas, j'ai créé une instance aws ec2 Ubuntu 18.04 en utilisant

Auto-assign Public IP -> no pick disable

après avoir essayé toutes les solutions suggérées, j’ai levé la main et tué cela et créé une nouvelle instance ec2 en utilisant

Auto-assign Public IP -> yes  Use subnet setting (Enable) 

et cela a bien fonctionné ... apt-get update && apt-get upgradesont heureux maintenant

Scott Stensland
la source