apt-get 업데이트가 중단되었습니다 : 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가 여전히 전송중인 경우 패킷 캡처를보고 어떤 MAC이 오는지 확인할 수 있습니다.
kasperd

1
잘못 구성된 IPv6 연결 이외에도 문제의 또 다른 원인은에서 RFC 6555 지원이 부족하다는 것입니다 apt-get. apt-getRFC 6555를 따랐다 면 아무런 문제가 없었을 것입니다.
kasperd

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


1
너무 도움이 됐어!
GaTechThomas 2012 년

4
참고 : 이것은 14.04 및 16.04 LTS 버전에서도 유효합니다.
Geek

1
Linux Mint 18.1 & 18.2에서 나를 위해 일했습니다. 이것이 기본값이어야합니다.
mat

23

네트워크의 IPv6 설정은 무시되었지만 /etc/sysctl.conf다음을 통해 IPv6을 비활성화 했습니다.

하단에 다음 줄을 추가하십시오 /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가있는 네트워크에 연결하면 예상보다 덜 안정적인 연결을 얻을 수 있음을 의미합니다. 또한 이러한 줄은 문제의 근본 원인을 해결하기 위해 아무것도하지 않습니다.
kasperd

IPv6이 필요하지 않으므로 제대로 작동합니다.
Pabi

4
동일한 네트워크 세그먼트의 호스트에 연결하는 경우 IPv4와 비교하여 IPv6 링크 로컬 주소에는 여러 가지 장점이 있기 때문에 어리석은 일입니다.
kasperd

1
내 전화에서 그렇게 할 수 없습니다.) 우리가 동의하지 않는다는 것에 동의합시다.
Pabi

4
네가 원하는 것을해라. 동일한 문제를 겪을 수있는 다른 사람이 제안 된 변경 sysctl.conf을 수행하면 결국 문제가 발생 한다는 것을 알 수 있도록하기 위해 단지 의견을 제시 합니다.
kasperd

15

gai.conf 파일을 편집하는 대신 다음과 같이 apt-get을 사용하는 것이 더 좋은 방법입니다.

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

이것을 영구적으로 만들고 싶다면 bash 파일에 'apt-get'에 대한 별칭을 추가하십시오.


그러나 이것이 IPv6 모든 IPv4가 될 ​​수있는 연결을 만들지 않습니까?
metame

@metame 그게 요점입니다. OP는 자신의 IPv6이 비활성화되어 있으며이를 사용하려고하면 문제가 발생한다고 말했다.
Francesco Dondi

0

다른 솔루션은 도움이되지 않았습니다 ... 내 경우에는 AWS EC2 인스턴스 Ubuntu 18.04를 사용하여 만들었습니다.

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.