IPv6 방법을 사용하지 않도록 apt-get을 설득하세요.

IPv6 방법을 사용하지 않도록 apt-get을 설득하세요.

제가 일하는 ISP는 IPv6 인터넷에 대한 최종 연결을 준비하기 위해 내부 IPv6 네트워크를 설정하고 있습니다. 결과적으로 이 네트워크의 여러 서버는 기본적으로 IPv6 주소를 통해 security.debian.org에 연결하려고 실행 중입니다 apt-get update. 이로 인해 모든 종류의 업데이트를 다운로드할 때마다 기다려야 하는 긴 시간 초과가 발생합니다.

IPv4를 선호할지 아니면 IPv6를 완전히 무시할지를 apt에 알릴 수 있는 방법이 있습니까?

답변1

-o Acquire::ForceIPv4=true런타임에 추가되었습니다 apt-get.

설정을 지속적으로 유지하려면 다음을 생성하세요./etc/apt/apt.conf.d/99force-ipv4그리고 넣어 Acquire::ForceIPv4 "true";:

echo 'Acquire::ForceIPv4 "true";' | sudo tee /etc/apt/apt.conf.d/99force-ipv4

옵션 구성 Acquire::ForceIPv4Acquire::ForceIPv6버전에 추가0.9.7.9~exp1(바라보다오류 611891)은 Ubuntu Saucy(2013년 10월 출시) 및 Debian Jessie(2015년 4월 출시)부터 사용할 수 있습니다.

답변2

~처럼자일스는 말한다, 사용 gai.conf. 노트:

  1. APT보다 훨씬 낮은 수준(DNS 및 IP 네트워킹)에서 작동하므로 변경됩니다.모두귀하의 애플리케이션 네트워크 - 적어도 모두 getaddrinfo.
  2. 편집하기 전에 gai.conf백업하고 읽어야 합니다 (짧으므로 걱정하지 마세요). 현재 파일에 다음 편집 내용이 언급되었을 수 있습니다. 현재 파일이 아래 언급된 내용과 다른 내용을 나타내는 경우 현재 파일의 콘텐츠를 선호하는 것이 좋습니다.

하지만 그것이 당신이 원하는 것이라면(아마도 그럴 것입니다), 다음으로 넘어가겠습니다. 두 개의 호스트 www.he.net가 있다고 가정해 보겠습니다 www.ripe.net.

$ host www.he.net
www.he.net is an alias for he.net.
he.net has address 216.218.186.2
he.net has IPv6 address 2001:470:0:76::2

$ host www.ripe.net
www.ripe.net has address 193.0.6.139
www.ripe.net has IPv6 address 2001:67c:2e8:22::c100:68b

사례 1: 모든 호스트는 IPV4를 선호합니다.

/etc/gai.conf다음 줄 에 추가합니다 .

precedence ::ffff:0:0/96  100

편집된 파일을 저장한 후(다시 시작할 필요 없음) IPV4를 사용하는 네트워크 애플리케이션이 표시됩니다 telnet(예:).

$ telnet www.ripe.net 81
Trying 193.0.6.139...
^C
$ telnet www.he.net 81
Trying 216.218.186.2...

시나리오 2: 특정 호스트가 IPv6를 선호합니다.

www.he.net네트워크에 대해 IPV6 만 선택하려면 다음을 추가할 수 있습니다.마스크/접두사IPV6 주소 전체 또는 일부를 /etc/gai.conf다음과 같이 변경합니다.

precedence 2001:470::/32 100

(편집된 파일을 저장한 후) 생성됨

$ telnet www.ripe.net 81
Trying 193.0.6.139...
^C
$ telnet www.he.net 81
Trying 2001:470:0:76::2...
^C

시나리오 3: 특정 호스트가 IPv4를 선호합니다.

마스크를 뒤집으면 상황은 반전될까? @GrueMaster에 따르면 추가

precedence 2001:470::/96 100

IPV6을 비활성화한 후에는 효과가 있었습니다 security.ubuntu.com(그렇지 않으면 영원히 멈췄을 것입니다).


또한보십시오:

답변3

당신은 설정할 수 있습니다적절한 캐셔-ng대기 시스템의 모든 호스트에 대한 프록시/캐시 역할을 합니다. 특정 호스트만 사용하도록 구성을 강제하거나 해당 시스템에서 @badp가 제안한 /etc/hosts 트릭을 사용할 수 있습니다.

apt-get install apt-cacher-ng

apt-cache-ng를 설치한 후에는 다음 줄만 입력하면 됩니다(캐시 시스템을 가리키도록 IP 주소/호스트 이름 변경)./etc/apt/apt.conf.d/90httpproxy

Acquire::http { Proxy "http://[192.168.1.254]:3142"; };

대역폭 사용량을 줄이기 위해 이 설정을 사용하지만 문제는 해결될 것입니다. 안타깝게도 apt-get 자체의 ipv6 조회를 직접 비활성화하는 방법을 모르겠습니다.

답변4

해당 주소를 재정의 하는 줄을 추가하는 것은 /etc/hosts어떻습니까 ? 예를 들어,

130.89.149.226  ftp.debian.org      
195.20.242.89   security.debian.org 

관련 정보