Cập nhật apt-get bị kẹt: Kết nối với security.ubfox.com


79

Khi tôi chạy apt-get updatetrên máy, nó bị kẹt tại:

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

Tôi đã không thực hiện các thay đổi gần đây cho hệ thống và sử dụng mạng gia đình của tôi hoạt động tốt trước đây.

Tôi không thể giải thích lý do tại sao nó chuyển sang sử dụng IPv6.
Tôi có IPv6 được đặt ignorecho mạng không dây:

nhập mô tả hình ảnh ở đây

Ouput của 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

Thay đổi địa chỉ IP thành IPv4 và sau đó thử lại ..
heemayl

Tại sao bạn sử dụng IPv6? Giống như heemayl đã nói, thay đổi sang sử dụng IPv4, trong Cài đặt mạng> [Bộ điều hợp]> Nâng cao.
TheWanderer

1
Có vẻ như bạn có thể có một máy chủ gửi quảng cáo bộ định tuyến với 0:0:0:d5::/64. Phạm vi này được liệt kê là dành riêng bởi IETF, vì vậy đó chắc chắn không phải là tiền tố hợp lệ để quảng cáo. Nếu những RA đó đã dừng lại, có thể không thể tìm ra chúng đến từ đâu. Trong trường hợp đó, tất cả những gì bạn thực sự có thể làm là khởi động lại giao diện mạng và vấn đề sẽ biến mất. Nếu các RA vẫn đang được gửi, thì bạn có thể nhìn vào một gói chụp để xem chúng đến từ MAC nào.
kasperd

1
Khác với kết nối IPv6 được định cấu hình sai, một đóng góp khác cho vấn đề của bạn là thiếu hỗ trợ RFC 6555 apt-get. Đã apt-gettheo dõi RFC 6555, bạn sẽ không bao giờ nhận thấy bất kỳ vấn đề nào.
kasperd

1
Bộ định tuyến cục bộ của bạn đang làm gì đó sai và cung cấp cho bạn địa chỉ IPv6 không hợp lệ. Kiểm tra và sửa cấu hình của bộ định tuyến.
Michael Hampton

Câu trả lời:


168

Điều này làm việc cho tôi, với sự giúp đỡ của Zach Adams ( https://zach-adams.com/2015/01/apt-get-cant-connect-to-security-ubfox-fix/ ):

Hóa ra đây là một vấn đề trong đó việc kết nối qua IPv6 trên một số máy chủ khiến chúng bị kẹt tại thời điểm này. Việc sửa chữa thực sự đơn giản.

Mở /etc/gai.conf

Dưới dòng

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

Bỏ ghi chú dòng sau bằng cách xóa #:

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

Điều này sẽ cho phép bạn vẫn sử dụng IPv6 nhưng đặt IPv4 làm ưu tiên để apt-get không bị kẹt.


16
Cảm ơn! Câu trả lời này tốt hơn nhiều so với việc vô hiệu hóa ipv6.
Cyrusmith

2
Nếu bạn không gặp may mắn với điều này, hãy thử điều đó: Askubfox.com/a/759540/4246
Gauthier

1
OMG đã giúp rất nhiều!
GaTechThomas

4
Lưu ý: Điều này vẫn còn hiệu lực trên các phiên bản 14.04 và 16.04 LTS
Elder Geek

1
Làm việc cho tôi trên Linux Mint 18.1 & 18.2. Điều này nên được mặc định.
chiếu

23

Cài đặt IPv6 cho mạng đã bị bỏ qua, nhưng vô hiệu hóa IPv6 thông qua /etc/sysctl.confhoạt động:

Thêm các dòng sau ở dưới cùng của /etc/sysctl.conf:

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

Chạy sudo sysctl -pđể tải lại các /etc/sysctl.confcài đặt.


6
Đó không phải là cách bạn nên làm. Những dòng đó có nghĩa là một khi bạn kết nối với mạng, thực sự có IPv6, bạn sẽ nhận được kết nối kém tin cậy hơn bạn dự định. Ngoài ra, những dòng đó không làm gì để khắc phục nguyên nhân gốc rễ của vấn đề mà bạn chưa xác định được.
kasperd

Tôi không cần IPv6 ở bất cứ đâu nên điều này hoạt động tốt.
Pabi

4
Điều đó thật ngớ ngẩn, bởi vì để kết nối với các máy chủ trên cùng một phân khúc mạng, có nhiều lợi thế trong các địa chỉ liên kết cục bộ IPv6 so với IPv4.
kasperd

1
Không thể làm điều đó từ điện thoại của tôi;) Hãy đồng ý rằng chúng tôi không đồng ý.
Pabi

4
Hãy làm những gì bạn muốn làm. Tôi chỉ nhận xét để đảm bảo rằng bất kỳ ai khác có thể gặp phải cùng một vấn đề đều biết rằng việc thực hiện các thay đổi được đề xuất sysctl.confsẽ gây ra vấn đề cuối cùng.
kasperd

15

Một cách tiếp cận tốt hơn là sử dụng apt-get như sau thay vì chỉnh sửa tệp gai.conf.

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

Nếu bạn muốn làm cho liên tục này, chỉ cần thêm một bí danh cho 'apt-get' trong tệp bash của bạn.


Nhưng điều này có tạo ra các kết nối có thể là IPv6 tất cả IPv4 không?
metame

@metame đó là toàn bộ vấn đề. OP cho biết IPv6 của anh bị vô hiệu hóa và việc cố gắng sử dụng nó gây ra sự cố.
Francesco Dondi

0

Các giải pháp khác không giúp được gì ... trong trường hợp của tôi, tôi đã tạo một phiên bản aws ec2 Ubuntu 18.04 bằng cách sử dụng

Auto-assign Public IP -> no pick disable

Sau khi thử tất cả các giải pháp được đề xuất, tôi đã giơ tay và giết nó và tạo ra một thể hiện ec2 mới bằng cách sử dụng

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

và nó hoạt động tốt ... apt-get update && apt-get upgradebây giờ rất vui

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.