systemd 会让 dig/nslookup 变得无用吗?

systemd 会让 dig/nslookup 变得无用吗?

我正在尝试调试有关 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该服务器是我机器上的 systemd 构造。

~$ 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

不,(至少)有两个原因:

  1. systemd-resolved 是 systemd 的可选组件。它不需要在运行 systemd 的机器上使用。

  2. dig 有很多选项,即使在 systemd-resolved(或任何其他本地 DNS 缓存,如 dnsmasq)运行时也很有用。例如,您可以指定要查询的名称服务器:dig @8.8.8.8 google.com.或任意数量的可用于调试 DNS 的其他选项。

相关内容