/etc/resolv.conf에서 sortlist 옵션의 용도는 무엇입니까?

/etc/resolv.conf에서 sortlist 옵션의 용도는 무엇입니까?

resolv.confand Meet에 대한 매뉴얼 페이지 읽기정렬된 목록.

그것은 무엇을 위해 사용됩니까?

매뉴얼 페이지에는 다음 네트워크\IP 주소 목록만 표시됩니다.정렬된 목록정렬 기준이 아닌 키워드입니다.매핑과 정렬 문제를 어떻게 해결하나요?

이 문제에 대한 자료를 검색했지만 답변을 찾지 못했습니다.

답변1

sortlist애플리케이션이 먼저 사용할 수 있도록 DNS 응답의 일치하는 IP 주소를 결과 목록 앞으로 이동하는 데 사용됩니다. 하지만 조금 오래되었습니다. 오늘날 우리는 이에 대한 더 나은 표준을 다음과 같은 형태로 가지고 있습니다.RFC 3484(섹션 6 참조)

sortlistRFC 3484는 다음 과 같은 이유로 해킹보다 훨씬 낫습니다 .

  • IPv6를 [더 좋게] 지원합니다.
  • 소스 주소 선택이 고려됩니다.
  • 이는 DNS에 특정하지 않습니다(위 계층인 libc 이름 서비스에 연결됨).
  • 이것은 표준입니다.

RFC 3484 스타일 대상 주소 선택은 /etc/gai.conf.

답변2

따라서 귀하의 질문에 대답하자면 "sortlist"는 인터넷 네임스페이스의 "클라이언트" 부분인 네임스페이스 확인자에 대한 옵션 지시문입니다. "서버" 측은 도메인 이름 서버(DNS)입니다.

이것추리"sortlist" 뒤에 있는 내용은 실제로 매우 간단합니다. 파서는 상당히 성숙한 코드이므로 쿼리에 대한 응답을 정렬할 수 없습니다. 이는 멀티홈 호스트(여러 IP 주소가 있는 단일 호스트 이름)에는 적합하지 않습니다. 사람들은 가장 빠르거나 가장 안정적인 인터페이스보다는 가장 느리거나 가장 신뢰성이 낮은 인터페이스를 사용하게 될 수 있습니다. 이는 1000Base-TX 이더넷이 전 세계를 장악하기 전에 더 중요했지만 여전히 많은 네트워크 서비스 및 호스팅 관리자에게 가치가 있습니다.

"sortlist" 지시어는 파서가 반환한 주소에 대해 필요한 우선순위를 설정합니다(여기서C 라이브러리, btw). 이 목록은 멀티홈 호스트에 대해 반환되는 주소의 순서를 제어하는 ​​방법입니다. 따라서 호스트에 SLIP(Serial Line Internet Protocol) 인터페이스와 10/100Base-TX 이더넷 인터페이스가 있는 경우 SLIP 인터페이스보다 이더넷 인터페이스를 선호하도록 정렬 목록을 설정할 수 있습니다.혹은 그 반대로도.

이것이 정렬된 목록이 이전 스타일의 IP 주소 명명법을 사용하는 이유입니다. 결국 리졸버는 IP를 사용합니다. 매뉴얼 페이지의 설명이 약간 모호한 것 같습니다. 정렬 목록을 설정하면 특정 네트워크 인터페이스의 우선순위를 지정하기 위해 IP 주소를 기반으로 반환 결과를 정렬하도록 확인자에 대한 매개변수를 설정할 수 있습니다.

GAI 인터페이스는 단순하지 않으며 IPv6에 중점을 두고 있다는 점을 알아야 합니다. 동일한 목표를 달성하려고 시도할 수 있지만 GAI 프런트엔드를 사용하면 더 복잡해집니다.

반면에 데비안이 설치된 Raspberry Pi에서 DNS를 사용하는 것은 간단하지 않습니다. DNS를 "단순화"하려는 수많은 시도로 인해 실제로 DNS를 구현하는 것이 필요한 것보다 훨씬 더 복잡한 추상화가 많이 만들어졌습니다.

Debian 10u5의 "resolv.conf" 파일에 "sortlist" 지시문을 추가합니다(버스터,제 생각에는? ), "resolvconf"에 대한 매뉴얼 페이지를 구문 분석해야 합니다(구체적으로는분석회의(8)) 매우 신중하게. 그것~해야 한다"/etc/dhcpcd.conf" 파일의 "sortlist"를 "dns-sortlist"로 설정하는 것이 가능하지만 아직 시도하지 않았습니다. 방금 "resolv.conf" 파일을 해킹했습니다. dnsmasq &c를 끄고 네트워크 하위 시스템이 도움이 되는 것처럼 느껴질 때 파일을 자주 다시 실행해야 했습니다.

"정렬된 목록"의 몇 가지 예:

구성 파일 구문 분석:sortlist=192.168.1.0/255.255.255.0 이는 확인자에게 192.168.1.0/24(예: 레거시 서브넷 마스크 255.255.255.0) 서브넷의 호스트 이름/IP를 먼저 반환하도록 "지시"합니다. 워크스테이션은 홈 무선 네트워크 대신 이더넷 LAN을 사용합니다.

구성 파일 구문 분석(맨 페이지에 따르면,하지만 주의할 점은): sort_list=192.168.1.0/255.255.255.0 192.168.10.1/255.255.255.0 이는 매우 유사하지만 확인자에게 192.168.10.0 네트워크의 모든 호스트 이름/IP를 After IP로 이동하도록 지시합니다.

'/etc/network/interfaces'의 인터페이스 섹션(또 다른 주의 사항) dns-sortlist=192.168.1.0/255.255.255.0 192.168.10.1/255.255.255.0 이는 정적 인터페이스에 대해서만 'resolvconf.conf'와 동일한 작업을 수행합니다. 구성 - 따라서 dhcp와 함께 사용할 수 없습니다.

서로 다르기 때문에 명명법이 약간 다르다는 점에 유의해야 합니다. DNS는 "sortlist"라는 단일 단어를 사용합니다.구성 파일 구문 분석미들웨어에는 "resolvconf.conf"에 밑줄이나 하이픈이 필요합니다.IFUP"/etc/network/interfaces"에 있습니다.

매뉴얼 페이지에 따르면 현재 가장 일반적인 dhcp 구성 방법은 sortlist 매개변수를 설정하기 위해 일종의 수동 개입이 필요한 것으로 보입니다. 아마도 이 작업은 dhclient.conf('/etc/dhcp/dhclient.conf')에서 수행할 수 있습니다. , 그러나 '/etc/ dhcp/dhclient-enter-hooks.d/resolvconf' 스크립트에는 dhcpcd.conf에서 정렬된 목록 매개변수를 추출하는 코드가 포함되어 있지 않으며 '/etc/dhcp/dhclient- Exit-hooks.d/'를 사용하여 이 작업을 수행합니다.

관련 정보