actualización de apt-get atascada: Conexión a security.ubuntu.com

79

Cuando ejecuto apt-get updatemi máquina, se atasca en:

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

No he realizado cambios recientes en el sistema y uso mi red doméstica, que funcionaba bien anteriormente.

No puedo explicar por qué cambió a usar IPv6.
Tengo IPv6 configurado ignorepara la red inalámbrica:

ingrese la descripción de la imagen aquí

Salida 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
fuente
Cambie el direccionamiento IP a IPv4 e intente nuevamente ..
heemayl
¿Por qué estás usando IPv6? Como dijo heemayl, cambie a usar IPv4, en Configuración de red> [Adaptador]> Avanzado.
TheWanderer
1
Parece que puede tener un host que envía anuncios de enrutador con 0:0:0:d5::/64. Este rango aparece como reservado por IETF, por lo que definitivamente no es un prefijo válido para ser publicitario. Si esas RA ya se han detenido, puede ser imposible averiguar de dónde provienen. En ese caso, todo lo que realmente puede hacer es reiniciar la interfaz de red y el problema desaparece. Si los RA todavía se están enviando, puede ver una captura de paquetes para ver de qué MAC provienen.
Kasperd
1
Además de la conectividad IPv6 mal configurada, otro factor que contribuye a su problema es la falta de compatibilidad con RFC 6555 apt-get. Si hubiera apt-getseguido RFC 6555, nunca habría notado ningún problema.
Kasperd
1
Su enrutador local está haciendo algo mal y le está dando direcciones IPv6 no válidas. Verifique y arregle la configuración del enrutador.
Michael Hampton

Respuestas:

168

Esto funcionó para mí, cortesía de Zach Adams ( https://zach-adams.com/2015/01/apt-get-cant-connect-to-security-ubuntu-fix/ ):

Resulta que este es un problema donde la conexión a través de IPv6 en algunos servidores hace que se atasquen en este punto. La solución es realmente simple.

Abra /etc/gai.conf

Debajo de la linea

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

Descomente la siguiente línea eliminando #:

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

Esto le permitirá seguir utilizando IPv6, pero establece IPv4 como la prioridad para que apt-get no se bloquee.

Billynoah
fuente
16
¡Gracias! Esta respuesta es mucho mejor que simplemente deshabilitar servilmente ipv6.
Cyrusmith
2
Si no tiene suerte con esto, intente eso: askubuntu.com/a/759540/4246
Gauthier el
1
¡Dios mío que ayudó mucho!
GaTechThomas
44
Nota: Esto todavía es válido en las versiones 14.04 y 16.04 LTS
Elder Geek
1
Trabajó para mí en Linux Mint 18.1 y 18.2. Esto debería ser por defecto.
mat
23

La configuración de IPv6 para la red se ignoró, pero la desactivación de IPv6 /etc/sysctl.conffuncionó:

Agregue las siguientes líneas en la parte inferior 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

Ejecute sudo sysctl -ppara volver a cargar la /etc/sysctl.confconfiguración.

Pabi
fuente
66
Así no es como deberías estar haciendo. Esas líneas significan que una vez que se conecta a una red, que en realidad tiene IPv6, obtendrá una conexión menos confiable de lo que se suponía. Además, esas líneas no hacen nada para corregir la causa raíz de su problema, que ni siquiera ha identificado.
Kasperd
No necesito IPv6 en ningún lado, así que esto funciona bien.
Pabi
44
Eso es simplemente una tontería, porque para conectarse a hosts en el mismo segmento de red hay múltiples ventajas en las direcciones locales de enlace IPv6 en comparación con IPv4.
Kasperd
1
No puedo hacer eso desde mi teléfono;) Solo aceptemos que no estamos de acuerdo.
Pabi
44
Haz lo que quieras hacer. Solo comento para asegurarme de que cualquier otra persona que pueda tener el mismo problema sepa que hacer los cambios sugeridos sysctl.confeventualmente causará problemas.
Kasperd
15

Un mejor enfoque es usar apt-get de la siguiente manera en lugar de editar el archivo gai.conf.

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

Si desea que esto sea persistente, simplemente agregue un alias para 'apt-get' en su archivo bash.

Vinay Sheshadri
fuente
¿Pero no haría esto conexiones que podrían ser IPv6 todas IPv4?
metame
@metame, ese es el punto. OP dijo que su IPv6 está deshabilitado, e intentar usarlo causa problemas.
Francesco Dondi
0

Otras soluciones no ayudaron ... en mi caso, creé una instancia aws ec2 Ubuntu 18.04 usando

Auto-assign Public IP -> no pick disable

después de probar todas las soluciones sugeridas, levanté mis manos y lo maté y creé una nueva instancia de ec2 usando

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

y funcionó bien ... apt-get update && apt-get upgradeson felices ahora

Scott Stensland
fuente