새로 설치된 Ubuntu 10.10은 항상 레코드를 조회하기 전에 AAAA DNS 조회를 수행합니다. 검색을 먼저 수행하도록 시스템을 구성 할 수있는 방법이 있습니까?
(다양한 브라우저 및 기타 응용 프로그램에 자체 리졸버가 포함될 수 있지만 glibc의 브라우저에 대해 이야기하고 있습니다)
새로 설치된 Ubuntu 10.10은 항상 레코드를 조회하기 전에 AAAA DNS 조회를 수행합니다. 검색을 먼저 수행하도록 시스템을 구성 할 수있는 방법이 있습니까?
(다양한 브라우저 및 기타 응용 프로그램에 자체 리졸버가 포함될 수 있지만 glibc의 브라우저에 대해 이야기하고 있습니다)
답변:
차세대 IP 인계를 허용하기 위해 IPv4보다 IPv6의 우선 순위를 정하는 것이 표준입니다. :)
우선 순위 블록을 편집하여이를 변경할 수 있습니다 /etc/gai.conf
(gai는 getaddrinfo
호스트 이름 확인을위한 표준 시스템 호출을 나타냄). 파일에 설명 된대로 행을 주석 처리하십시오.
# IPv4 연결을 선호하는 사이트의 경우 마지막 줄을
#precedence :: ffff : 0 : 0/96 100
자세한 설명 gai.conf
은 매뉴얼 페이지에서 찾을 수 있습니다.
gai.conf
따르면 IPv4 라인뿐만 아니라 모든 라인의 주석 처리 를 제거해야 올바른 수정 동작을 얻을 수 있습니다. From gai.conf(5)
: "다시 한 번, 구성 파일에 단일 우선 순위 행이 있으면 기본 테이블이 사용되지 않습니다." 다른 기본 테이블 라인이 계속 작동하게하려면 주석을 해제해야합니다.
내 문제는 동일했습니다 .IPV4 이전에 IPV6 쿼리가 있었고 리소스를 낭비하는 곳이 있었으므로 freddyb가 게시 된대로 /etc/gai.conf 파일을 변경했지만 시나리오가 약간 다르고 서버가 Natted입니다. IPv4는 해당 라인 만있는 IPv6보다 우선하지 않습니다. 해결책은 gai.conf에서 다른 줄을 주석 처리하므로 다음과 같이 보입니다.
#For sites which prefer IPv4 connections change the last line to
precedence ::ffff:0:0/96 100
...
# For sites which use site-local IPv4 addresses behind NAT there is
# the problem that even if IPv4 addresses are preferred they do not
# have the same scope and are therefore not sorted first. To change
# this use only these rules:
#
scopev4 ::ffff:169.254.0.0/112 2
scopev4 ::ffff:127.0.0.0/104 2
scopev4 ::ffff:0.0.0.0/96 14
당신이 Natted 경우에도 따라서 서버는 첫 번째 ipv4를 시도합니다!
/etc/gai.conf
Ubuntu 15.04 "vivid" 의 파일은 scopev4
위에서 제안한 세 줄이 이미 기본값 이라고 말합니다 . 한 줄만 precedence ::ffff:0:0/96 100
변경했는데 NAT 뒤에서도 작동했습니다.
IPv6을 전혀 사용하지 않으려면 IPv6을 사용하지 않도록 설정하면됩니다. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html
그렇지 않은 경우 추가를 시도 할 수 있습니다
options single-request
/etc/resolv.conf 파일로 (자세한 내용은 http://udrepper.livejournal.com/20948.html 참조)