DNS 클라이언트 라이브러리
C 라이브러리에는 DNS 프로토콜에서 이름 대 주소 조회를 마무리하고 프록시 DNS 서버로 넘겨서 DNS 문제를 해결하는 DNS 클라이언트가 포함되어 있습니다. 이러한 DNS 클라이언트가 많이 있습니다. 운영 체제의 기본 C 런타임 라이브러리에있는 것이 ISC의 BIND에있는 것일 것입니다. 그러나 Daniel J. Bernstein의 dns
도서관에서 c-ares를 통해 adns에 이르기까지 많은 사람들이 있습니다.
이들 중 일부는 고유 한 기본 구성 메커니즘을 포함하지만 일반적으로 resolv.conf
ISC의 BIND C 클라이언트 라이브러리에 대한 구성 파일 인 BIND 라이브러리 호환성 모드를 읽습니다 .
NSS는이 위에 계층화되며에 의해 구성됩니다 nsswitch.conf
. NSS 조회가 내부적으로 호출 할 수있는 것 중 하나는 DNS 클라이언트이며, nsswitch.conf
C 라이브러리의 NSS 코드에 의해 읽혀져 조회가 DNS 클라이언트에 전달되는지 여부와 다양한 응답을 처리하는 방법을 결정합니다.
nscd의 Name Services Cache Dæmon으로 인해이 아이디어에 약간의 합병증이 발생하지만 이는 단순히 C 라이브러리에 추가 상위 계층 클라이언트를 추가하여 로컬 서버에 특유의 프로토콜을 말하며, 이는 결국 서버 역할을합니다. DNS 프로토콜을 프록시 DNS 서버에 말하고있는 DNS 클라이언트 systemd-resolved
유사한 합병증을 추가합니다.)
systemd-resolved
, NetworkManager
, connman
, dhcpcd
, resolvconf
, 등은 즉시 다른 프록시 DNS 서버에 대화에 스위치 클라이언트에 DNS BIND DNS 클라이언트 구성 파일을 조정합니다. 이 WWW 사이트에는 이미 그러한 메커니즘과 관련된 비잔틴 세부 사항을 다루는 많은 답변이 있기 때문에 이것은이 답변의 범위를 벗어납니다.
유닉스 세계에서 작업을 수행하는보다 전통적인 방법은 머신 자체 또는 LAN에서 프록시 DNS 서버를 실행하는 것입니다. 따라서 FreeBSD 매뉴얼은 정상적으로 구성된 시스템에 대해 말하지만, 부재시 DNS 클라이언트 라이브러리의 기본 동작은 resolv.conf
일반적으로 Unix 시스템 관리자가 갖는 것과 일치합니다. 127.0.0.1에서 수신 대기하는 프록시 DNS 서버입니다. (대한 FreeBSD의 매뉴얼은 resolv.conf
그 DOCO 실제로 또한 ISC의 BIND에서 유래하고, BIND DNS 클라이언트 라이브러리가 같은 GNU C 라이브러리와 같은 다른 장소에 통합 된 곳도 찾을 수 물론 한 수 있습니다.)
추가 자료