apt-get update stuck:security.ubuntu.comへの接続


79

apt-get updateマシンで実行すると、次のようになります。

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

システムに最近変更を加えたことはなく、以前は正常に機能していたホームネットワークを使用しています。

IPv6を使用するようになった理由を説明できません。ワイヤレスネットワーク用に
IPv6を設定しignoreています:

ここに画像の説明を入力してください

の出力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

IPアドレスをIPv4に変更してから再試行してください。
heemayl

なぜIPv6を使用しているのですか?heemaylが言ったように、[ネットワーク設定]> [アダプター]> [詳細設定]でIPv4の使用に変更します。
TheWanderer

1
ホストがを使ってルーター広告を送信しているように見えます0:0:0:d5::/64。この範囲はIETFによって予約済みとしてリストされているため、広告の有効なプレフィックスではありません。それらのRAが既に停止している場合、それらがどこから来たのかを見つけることは不可能かもしれません。その場合、実際にできることは、ネットワークインターフェイスを再起動するだけで、問題はなくなります。RAがまだ送信されている場合は、パケットキャプチャを調べて、RAがどのMACから送信されているかを確認できます。
カスペルド

1
誤って設定されたIPv6接続以外に、問題のもう1つの原因は、RFC 6555のサポートの欠如ですapt-get。ていたapt-getRFC 6555に従って、あなたはどんな問題に気づいたことはなかっただろう。
カスペルド

1
ローカルルーターが何か間違ったことをしていて、無効なIPv6アドレスを与えています。ルーターの構成を確認して修正します。
マイケルハンプトン

回答:


168

これはZach Adamsの厚意により機能しました(https://zach-adams.com/2015/01/apt-get-cant-connect-to-security-ubuntu-fix/):

これは、一部のサーバーでIPv6を介して接続すると、この時点でサーバーがスタックする問題であることが判明しました。修正は本当に簡単です。

/etc/gai.confを開きます

ラインの下で

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

を削除して、次の行のコメントを解除します#

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

これにより、引き続きIPv6を使用できますが、apt-getがスタックしないようにIPv4を優先順位として設定します。


16
ありがとう!この答えは、単にipv6を単に無効にするよりもはるかに優れています。
Cyrusmith

2
あなたはこれで運を取得していない場合は、次のことを試してください:askubuntu.com/a/759540/4246
ゴーティエ

1
とても助けてくれたOMG!
GaTechThomas

4
注:これは、14.04と16.04 LTSバージョンでまだ有効である
オタクエルダー

1
Linux Mint 18.1および18.2で作業しました。これはデフォルトです。
マット

23

ネットワークのIPv6設定は無視されましたが、次の方法でIPv6を無効にし/etc/sysctl.confました:

の下部に次の行を追加します/etc/sysctl.conf

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

実行sudo sysctl -pして/etc/sysctl.conf設定を再読み込みします。


6
それはあなたがすべきことではありません。これらの行は、実際にIPv6を備えたネットワークに接続すると、想定よりも信頼性の低い接続が得られることを意味します。また、これらの行は、問題の根本原因を修正するために何も行いません。
カスペルド

どこにもIPv6は必要ないので、これは問題なく機能します。
パビ

4
同じネットワークセグメント上のホストに接続する場合、IPv4と比較してIPv6リンクローカルアドレスには複数の利点があるため、これはばかげています。
カスペルド

1
私の電話からそれを行うことはできません;)私たちは同意しないことに同意します。
パビ

4
勝手にすればいい。同じ問題に出くわす可能性のある他の誰かが、提案された変更を行うsysctl.confと最終的に問題が発生することを知っていることを確認するためにコメントします。
カスペルド

15

より良いアプローチは、gai.confファイルを編集する代わりに、次のようにapt-getを使用することです。

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

これを永続化する場合は、bashファイルに「apt-get」のエイリアスを追加するだけです。


しかし、これにより、IPv6になり得る接続はすべてIPv4になりませんか?
メターム

@metameそれが全体のポイントです。OPは、彼のIPv6は無効になっており、それを使用しようとすると問題が発生すると述べました。
フランチェスコドンディ

0

他の解決策は役に立ちませんでした...私の場合、私はUbuntu 18.04を使用してaws ec2インスタンスを作成しました

Auto-assign Public IP -> no pick disable

提案されたすべての解決策を試した後、手を投げて殺し、次を使用して新しいec2インスタンスを作成しました

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

そしてそれはうまくいきました... apt-get update && apt-get upgrade今は幸せです

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.