apt-get update stuck: Menghubungkan ke security.ubuntu.com

79

Ketika saya menjalankan apt-get updatemesin saya macet di:

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

Saya belum membuat perubahan pada sistem dan menggunakan jaringan rumah saya yang sebelumnya berfungsi dengan baik.

Saya tidak bisa menjelaskan mengapa itu beralih menggunakan IPv6.
Saya mengatur IPv6 ignoreuntuk jaringan nirkabel:

masukkan deskripsi gambar di sini

Ouput dari 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
sumber
Ubah pengalamatan IP ke IPv4 dan kemudian coba lagi ..
heemayl
Mengapa Anda menggunakan IPv6? Seperti yang dikatakan heemayl, ubah menggunakan IPv4, di bawah Pengaturan Jaringan> [Adaptor]> Tingkat Lanjut.
TheWanderer
1
Sepertinya Anda mungkin memiliki host yang mengirimkan iklan router 0:0:0:d5::/64. Rentang ini terdaftar sebagai dicadangkan oleh IETF, sehingga jelas bukan awalan yang valid untuk menjadi iklan. Jika RA-nya sudah berhenti, mungkin tidak mungkin untuk mencari tahu, dari mana asalnya. Dalam hal itu yang dapat Anda lakukan adalah memulai kembali antarmuka jaringan dan masalahnya hilang. Jika RA masih dikirim, maka Anda dapat melihat paket capture untuk melihat dari mana MAC mereka berasal.
kasperd
1
Selain konektivitas IPv6 yang salah konfigurasi, kontributor lain untuk masalah Anda adalah kurangnya dukungan RFC 6555 di apt-get. Seandainya apt-getmengikuti RFC 6555, Anda tidak akan pernah melihat masalah.
kasperd
1
Router lokal Anda melakukan kesalahan, dan memberi Anda alamat IPv6 yang tidak valid. Periksa dan perbaiki konfigurasi router.
Michael Hampton

Jawaban:

168

Ini bekerja untuk saya, seizin Zach Adams ( https://zach-adams.com/2015/01/apt-get-cant-connect-to-security-ubuntu-fix/ ):

Ternyata ini adalah masalah di mana menghubungkan melalui IPv6 pada beberapa server menyebabkan mereka macet pada saat ini. Cara mengatasinya sangat sederhana.

Buka /etc/gai.conf

Di bawah garis

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

Batalkan komentar pada baris berikut dengan menghapus #:

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

Ini akan memungkinkan Anda untuk tetap menggunakan IPv6 tetapi menetapkan IPv4 sebagai prioritas sehingga apt-get tidak akan macet.

billynoah
sumber
16
Terima kasih! Jawaban ini jauh lebih baik daripada hanya menonaktifkan ipv6 secara mentah-mentah.
Cyrusmith
2
Jika Anda tidak beruntung dengan ini, coba itu: askubuntu.com/a/759540/4246
Gauthier
1
OMG yang sangat membantu!
GaTechThomas
4
Catatan: Ini masih berlaku pada versi 14.04 dan 16.04 LTS
Penatua Geek
1
Bekerja untuk saya di Linux Mint 18.1 & 18.2. Ini harusnya default.
mat
23

Pengaturan IPv6 untuk jaringan diabaikan, tetapi menonaktifkan IPv6 melalui /etc/sysctl.confberfungsi:

Tambahkan baris berikut di bagian bawah /etc/sysctl.conf:

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

Jalankan sudo sysctl -puntuk memuat ulang /etc/sysctl.confpengaturan.

Pabi
sumber
6
Bukan itu yang seharusnya Anda lakukan. Garis-garis itu berarti begitu Anda terhubung ke jaringan, yang sebenarnya memiliki IPv6, Anda akan mendapatkan koneksi yang kurang andal dari yang seharusnya. Juga, garis-garis itu tidak melakukan apa pun untuk memperbaiki akar penyebab masalah Anda, yang bahkan belum Anda identifikasi.
kasperd
Saya tidak perlu IPv6 di mana saja sehingga ini berfungsi dengan baik.
Pabi
4
Itu konyol, karena untuk menghubungkan ke host di segmen jaringan yang sama ada beberapa keuntungan dalam alamat IPv6 link-lokal dibandingkan dengan IPv4.
kasperd
1
Tidak dapat melakukannya dari ponsel saya;) Mari kita sepakat bahwa kita tidak setuju.
Pabi
4
Lakukan apa yang ingin Anda lakukan. Saya hanya berkomentar untuk memastikan bahwa siapa pun yang mungkin menemukan masalah yang sama tahu bahwa membuat perubahan yang disarankan pada sysctl.confakhirnya akan menyebabkan masalah.
kasperd
15

Pendekatan yang lebih baik adalah menggunakan apt-get sebagai berikut alih-alih mengedit file gai.conf.

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

Jika Anda ingin membuat ini persisten, tambahkan saja alias untuk 'apt-get' di file bash Anda.

Vinay Sheshadri
sumber
Tapi bukankah ini membuat koneksi yang bisa menjadi IPv6 semua IPv4?
metame
@metame itulah intinya. OP mengatakan IPv6-nya dinonaktifkan, dan berusaha menggunakannya menyebabkan masalah.
Francesco Dondi
0

Solusi lain tidak membantu ... dalam kasus saya, saya membuat contoh aws ec2 Ubuntu 18.04 menggunakan

Auto-assign Public IP -> no pick disable

setelah mencoba semua solusi yang disarankan saya angkat tangan dan membunuh itu dan membuat contoh EC2 baru menggunakan

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

dan itu bekerja dengan baik ... apt-get update && apt-get upgradebahagia sekarang

Scott Stensland
sumber