您的位置:

Linux下查看DNS设置的命令

一、查看当前系统的DNS服务器

在Linux系统中,可以通过以下命令查看当前系统所使用的DNS服务器:

cat /etc/resolv.conf

该命令会输出当前系统所使用的DNS服务器,通常会显示一些IP地址,如下:

nameserver 8.8.8.8
nameserver 8.8.4.4

上面的输出表示当前系统使用的DNS服务器为Google的公共DNS服务器。

二、查看域名解析缓存

在Linux系统中,可以使用以下命令查看当前系统中的域名解析缓存情况:

sudo systemd-resolve --statistics

该命令输出的信息包括了查询统计信息、缓存清单等,如下:

Cache Hits: 29588
Cache Misses: 1262
DNSSEC Verifications: 0
DNSSEC Validation Failures: 0

Current Cache Size: 21
Cache TTL: 300

cache.example.com: 192.0.2.1
example.com: 192.0.2.2
yahoo.com: 206.190.36.45

上面的输出中,"Cache Hits"表示命中缓存的次数,"Cache Misses"表示没有命中缓存的次数,"DNSSEC Verifications"表示DNSSEC验证次数,"DNSSEC Validation Failures"表示验证失败的次数。

在缓存清单中,每行对应一个解析过的域名及其对应的IP地址。

三、使用dig命令查询DNS设置

在Linux系统中,可以使用dig命令查询DNS设置,使用方法如下:

dig example.com

该命令会输出example.com域名绑定的IP地址、域名的权威DNS服务器等信息,如下:

; <<>> DiG 9.11.3-1ubuntu1.15-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51217
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            19143   IN      A       93.184.216.34

;; Query time: 78 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Jul 14 11:49:18 CST 2020
;; MSG SIZE  rcvd: 56

上面的输出中,"ANSWER SECTION"部分是查询结果,表示example.com域名对应的IP地址为93.184.216.34;"SERVER"表示查询使用的DNS服务器地址。

四、总结

Linux系统提供了多种方式用于查看DNS设置,包括查看当前系统中所使用的DNS服务器、查询域名解析缓存以及使用dig命令查询域名信息等。通过运用这些工具,我们可以更方便地诊断网络连接问题并调优DNS设置,从而提高网络运行效率。