/etc/resolv.conf에서“검색”구성 옵션은 정확히 무엇을 수행합니까?


64

옵션을 서버 자체의 도메인 이름으로 설정 한 경우 외부 인터넷을 쿼리하기 전에 서버 자체가 먼저 도메인 이름을 조회하는 데 사용됩니까? 즉 /etc/hosts쿼리됩니다?

예를 들면 다음과 같습니다.

search  localdomain.com

답변:


62

에서 man resolv.conf

검색 목록은 일반적으로 로컬 도메인 이름에서 결정됩니다. 기본적으로 로컬 도메인 이름 만 포함합니다. 이름을 구분하는 공백이나 탭이있는 검색 키워드 다음에 원하는 도메인 검색 경로를 나열하여 변경할 수 있습니다. ndots 도트보다 적은 리졸버 쿼리 (기본값은 1)는 일치하는 것을 찾을 때까지 검색 경로의 각 구성 요소를 사용하여 시도됩니다. 하위 도메인이 여러 개인 환경의 경우 중간자 공격 및 root-dns 서버에 대한 불필요한 트래픽을 피하려면 아래의 옵션 ndots : n을 읽으십시오. 나열된 도메인의 서버가 로컬이 아닌 경우이 프로세스가 느려질 수 있으며 많은 네트워크 트래픽이 발생하며 도메인 중 하나에 사용할 수있는 서버가 없으면 쿼리 시간이 초과됩니다.

검색 목록은 현재 총 256 자로 6 개의 도메인으로 제한되어 있습니다.

위에서 언급 한 기본값에서 변경 사항이 없다고 가정하면 점이없는 리졸버에 무언가가 도달하면 리졸버가 추가하려고 시도 localdomain.com합니다.

http://somesite/somedocument.html브라우저에 입력 만하면 됩니다. 리졸버는 잡을 먼저 해결하려고합니다 somesite.localdomain.com- 당신이 실제로 입력 한 경우 해당 http://somesite.localdomain.com/somedocument.html- 당신이 실제로 요청 것을 시도하기 전에.

사람들이 간단한 이름을 입력하여 로컬 리소스에 연결할 수 있도록 자체 DNS 서버가있는 LAN 환경의 일부인 경우에 유용합니다. 자체 DNS 서버가있는 가정 또는 회사 LAN이없는 경우 걱정할 필요가 없습니다.


10
검색 옵션 사용에있어 HTTP는 좋지 않은 예입니다. 많은 사람들이 IPv6 부족으로 인해 이름 기반 가상 호스트를 사용합니다. 내 경험에 의하면 그것은 매우 드문에 대한 요청을 받아들이는 방식으로 가상 호스트를 볼 수 있습니다 Host: somesite추가하여을 Host: somesite.localdomain.com. 다르게 말하면 검색 옵션을 사용하면 클라이언트가 약식 이름을 확인할 수 있지만 실제로 요청을 완료 할 수있는 것은 아닙니다.
Zoredache

1
@Zoredache, 당신은 유효한 요점을 가지고 있지만, 검색 기술은 로컬 도메인 이름의 모든 호스트를 제어하는 ​​로컬 시스템 관리자에 의해 구현 될 것이라고 가정해야하므로 이름 기반 가상 호스트 이 동작을 허용하도록 이미 구성되어있을 것입니다.
cnst

1
@ cnst-내 경험에서 항상 사실이 아닙니다. devs는 war 파일과 함께 패키지 된 tomcat으로 완전한 서버를 구축합니다. ops / sys 관리자는 machines / vms / dns 구성에 대해 걱정합니다. 누가 책임이 있는지에 대한이 회색 선이 있습니다. 독자가 설명 된 문제 가 있을 수 있는 구성이있는 경우 zoredache가 그것을 불러 낸 것이 좋습니다 .
Pat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.