저는 현재 DNS 문제 해결이 필요한 프로젝트를 진행하고 있습니다. 하지만 저는 웹이라는 멋진 세계를 처음 접한 사람이라 어디서부터 시작해야 할지 막막합니다.
내 구체적인 질문은 아마도 Raspberry Pi Stack Exchange에 속할 것이므로 교차 게시를 피하겠습니다. 여기서 정보를 찾아보면 됩니다.
정보를 찾다가 resolv.conf(5)
,,라는 문서를 발견했는데, 그게 얼마나 짐승처럼 생겼는지.resolvconf(8)
systemd-resolve(1)
avahi
Raspbian Buster를 사용하는 내 Raspberry Pi가 실행 중인 것 같습니다 avahi-daemon
.
systemd-resolved
Ubuntu 18.04.4 LTS에 AND 가 있습니다 avahi-daemon
.
(Ubuntu의 매뉴얼 페이지에만 해당) resolvconf(8)
둘을 조화시키시겠습니까?
언제 /etc/resolv.conf
사용/무시합니까?
우분투에서:
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
search telus
라즈베리 파이에서:
$ cat /etc/resolv.conf
# Generated by resolvconf
nameserver 192.168.0.1
nameserver 8.8.8.8
nameserver fd51:42f8:caae:d92e::1
어느 유틸리티 회사가 책임을 지는가?
나는 매뉴얼 페이지를 샅샅이 살펴보고 이들 모두를 구별할 만큼 충분한 용어를 알지 못하며, 그들의 역할이 어떻게 연관되어 있는지 설명하고 싶습니다.
답변1
ping foobar
foobar
같은 명령을 실행할 때 시스템은 IP 주소로 변환하는 방법을 알아내야 합니다 .
일반적으로 그것이 가장 먼저 보이는 곳입니다 /etc/nsswitch.conf
.
다음과 같은 줄이 있을 수 있습니다.
hosts: files dns mdns4
이는 조회 루틴에 "파일"을 먼저 찾도록 지시합니다 /etc/hosts
. 즉, 일치하는 항목이 없으면 DNS 조회를 시도합니다. 여전히 답을 모른다면 mDNS 조회를 시도합니다.
DNS 조회는 시스템이 찾는 곳입니다 /etc/resolv.conf
. 이는 어떤 DNS 서버를 살펴봐야 하는지 알려줍니다. 내 컴퓨터에는 DHCP 자동 구성이 있습니다.
% cat /etc/resolv.conf
# Generated by NetworkManager
search mydomain
nameserver 10.0.0.1
nameserver 10.0.0.10
어떻게 resolv.conf
빌드는 운영 체제, 제공되는 선택적 구성 요소, 기타 구성 항목, 부팅 순서에 따라 변경될 수 있습니다. 귀하의 경우 Ubuntu에서 systemd 프로그램을 실행하고 있으며 이 파일이 로컬 systemd-resolved
및저것실제 DNS 서버와 통신하는 방법을 알아보세요.
내 주 서버(고정 IP 주소는 있지만 주소가 없음)에서 systemd-resolved
이 파일을 수동으로 편집합니다.
마지막으로 mdns4
루틴에 avahi-daemon
이름을 알고 있는지 물어보라고 지시합니다.
규칙을 변경할 수 있습니다. 예를 들어, /etc/nsswitch.conf
방금 다음과 같이 말했다면:
hosts: files
그 다음에오직/etc/hosts
로컬 파일을 사용하십시오.
예를 들어 다른 항목도 가능합니다. ldap
그러면 LDAP 조회가 수행됩니다.