나는 우분투를 사용하고 있습니다. 맨페이지에서 다음 정보를 볼 수 있습니다.
을 위한
/etc/host.conf
(man host.conf
)host.conf - 파서 구성 파일
/etc/host.conf 파일에는 파서 라이브러리와 관련된 구성 정보가 포함되어 있습니다.
을 위한
/etc/resolv.conf
(man resolv.conf
)resolv.conf - 해석기 구성 파일
확인자는 인터넷의 DNS(Domain Name System)에 대한 액세스를 제공하는 C 라이브러리의 루틴 세트입니다.
파서는 두 파일을 어떤 순서로 사용하며 차이점은 무엇입니까?
답변1
최신 Linux 시스템에서는파서 라이브러리glibc
이러한 매뉴얼 페이지에서 참조하는 내용은 라이브러리 에 통합되었습니다 . /etc/host.conf
기본 라이브러리의 통합 섹션을 읽어보세요. glibc
매뉴얼 페이지에는 현재 구현이 trim
, multi
및 reorder
키워드만 인식한다는 것을 보여줍니다. Historical
해당 섹션 NOTES
의 단락에서는 더 많은 키워드가 있음을 시사합니다.
실제 조회는 다양한 플러그인 라이브러리에 의해 수행되며 /etc/nsswitch.conf
파일에 의해 결정됩니다. 각 검색 방법(예 files
: nis
, dns
또는)은 라이브러리 파일(예: , 또는)과 일대일 대응됩니다 compat
.libnss_files.so.2
libnss_nis.so.2
libnss_dns.so.2
libnss_compat.so.2
플러그인은 libnss_files.so.2
기본 libnss_dns.so.2
라이브러리 패키지와 함께 제공되지만 libnss_compat.so.2
별도 패키지, 패키지 등 다양한 소스의 다른 플러그인도 있으며 시스템을 LDAP 또는 Active와 통합하는 경우 작동하도록 설계되었습니다. 디렉토리, 이러한 통합 솔루션은 자체 라이브러리도 제공합니다.libnss_hesiod.so.2
glibc
libnss_nis.so.2
libnss-nis
libnss_mdns*.so.2
libnss-mdns
libnss_resolve.so.2
systemd-resolved
libnss_*
포함된 경우 hosts:
then의 행이 사용되어 읽혀집니다.nsswitch.conf
dns
libnss_dns.so
/etc/resolv.conf
그러나 dns
로 바꾸면 resolve
대신 libnss_resolve.so.2
가 사용됩니다. 이것은 클래식을 무시 하고 대신 파일, 내장 파일 또는 명령줄 도구로 구성된 /etc/resolv.conf
데몬과 통신합니다 .systemd-resolved
/etc/systemd/resolved.conf
/etc/systemd/resolved.conf.d/*.conf
[/usr]/lib/systemd/resolved.conf.d/*.conf
/run/systemd/resolved.conf.d/*.conf
resolvectl
확인자 라이브러리(예: 특정 버전의 명령 ) 를 /etc/resolv.conf
사용하는 대신 직접 읽는 프로그램을 재정의하기 위해 DNS 요청에 대한 수신기는 127.0.0.53(이 기능이 꺼지지 않는 한)에서 유지되고 가상 포인터는 그것에 제공됩니다.glibc
nslookup
systemd-resolved
/etc/resolv.conf
즉, 상담 없이는 사용 여부를 /etc/nsswitch.conf
확신할 수 있습니다 /etc/host.conf
. 그 후에 무슨 일이 일어날지는 /etc/nsswitch.conf
말한 내용 에 따라 달라집니다 .
대부분의 프로그램은 라이브러리의 호스트 이름 확인 기능을 사용하므로 glibc
다음을 사용합니다./etc/resolv.conf
~하지 않는 한hosts:
개 행에 /etc/nsswitch.conf
키워드가 포함되어 있습니다 dns
.
hosts:
행에 /etc/nsswitch.conf
키워드가 포함 resolve
된 경우/etc/resolv.conf
유산으로 여겨야 한다 그리고 이 resolvectl
명령을 사용하여 실제 DNS 서버 구성을 확인합니다. 이 경우 /etc/resolv.conf
자체 DNS 확인 기능을 사용하는 프로그램이 로컬 서비스를 사용하도록 지시한 systemd-resolved
다음 해당 요청을 실제 DNS 서버로 전달하거나 요청이 관련된 경우 MDNS 또는 LLMNR을 기반으로 응답을 제공하는 데만 존재합니다. 로컬 서비스) 및 MDNS/LLMNR 정보를 사용할 수 있습니다.