DNS 확인과 관련된 일부 문제를 디버깅하려고 하며 nslookup
(현재는 더 이상 사용되지 않음) 및 dig
.
그러나 제가 사용하고 있는 시스템 systemd
은 구성용입니다 /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
이것이 하는 일은 내 컴퓨터의 시스템 구성인 dig
DNS 서버를 가리키는 것이기 때문에 쓸모없어 보입니다 .127.0.0.53
~$ dig www.google.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31247
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 54 IN A 216.58.212.164
;; Query time: 29 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Jun 18 10:45:49 CEST 2017
;; MSG SIZE rcvd: 59
이거 진짜야? systemd를 사용하면 다른 모든 것이 사라지나요?
답변1
아니요, (적어도) 두 가지 이유 때문에:
systemd-resolved는 systemd의 선택적 구성 요소입니다. systemd를 실행하는 머신에서는 사용할 필요가 없습니다.
dig에는 systemd-resolved(또는 dnsmasq와 같은 다른 로컬 DNS 캐시)가 실행 중인 경우에도 유용한 많은 옵션이 있습니다. 예를 들어, 쿼리할 이름 서버를 지정
dig @8.8.8.8 google.com.
하거나 DNS 디버깅에 사용할 수 있는 기타 옵션을 얼마든지 지정할 수 있습니다.