如何列出正在搜索哪些 dns 服务器以查找需要进行 dns 搜索的内容?
似乎我所拥有的内容没有resolv.conf
被使用,所以我想进行故障排除,第一步是让系统打印出它正在使用的服务器。
到目前为止我发现的所有内容都假设我安装了网络管理器,但我没有,因此nmcli
或其他此类命令将不起作用。
Linux linuxtest 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 GNU/Linux
答案1
有很多工具可用于解决 DNS 问题。
挖:如果您只是
dig
一个网络服务器的名称,那么此工具将向您显示足够的详细信息,以进行您提到的简单故障排除。例子,arif@arif:~$ dig google.com ; <<>> DiG 9.10.3-P4-Ubuntu <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58212 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 299 IN A 74.125.200.100 google.com. 299 IN A 74.125.200.102 google.com. 299 IN A 74.125.200.139 google.com. 299 IN A 74.125.200.138 google.com. 299 IN A 74.125.200.101 google.com. 299 IN A 74.125.200.113 ;; Query time: 287 msec ;; SERVER: 192.168.97.54#53(192.168.97.54) ;; WHEN: Fri Sep 29 03:39:37 EDT 2017 ;; MSG SIZE rcvd: 135
在这里你可以看到倒数第三行您正在使用哪个 DNS 服务器来解析名称。在我的例子中,它是 192.168.97.54,正如大家一样,您正在使用端口 53。在下面的示例中,我将向您展示相同的内容,但使用特定的 dns 服务器 (Dyn-216.146.35.35),就像之前您可以在;;服务器部分。
arif@arif:~$ dig @216.146.35.35 linux.org ; <<>> DiG 9.10.3-P4-Ubuntu <<>> @216.146.35.35 linux.org ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16485 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1480 ;; QUESTION SECTION: ;linux.org. IN A ;; ANSWER SECTION: linux.org. 300 IN A 104.28.16.26 linux.org. 300 IN A 104.28.17.26 ;; Query time: 133 msec ;; SERVER: 216.146.35.35#53(216.146.35.35) ;; WHEN: Fri Sep 29 03:54:56 EDT 2017 ;; MSG SIZE rcvd: 70
NS查找:对于您的情况来说, “做”
nslookup
是最简单的答案。例子:arif@arif:~$ nslookup google.com Server: 192.168.97.54 Address: 192.168.97.54#53 Non-authoritative answer: Name: google.com Address: 74.125.200.102
现在对特定的 DNS 服务器做同样的事情,
arif@arif:~$ nslookup linux.org 216.146.35.35 Server: 216.146.35.35 Address: 216.146.35.35#53 Non-authoritative answer: Name: linux.org Address: 104.28.16.26