Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux查看DNS配置信息的命令

Linux下查看DNS配置信息的常用命令说明

作者:Getgit

本文介绍了在Linux系统中查看DNS配置的四种方法,包括查看/etc/resolv.conf文件、使用nslookup命令、使用dig命令以及使用nmcli和resolvectl工具,每种方法都有其适用场景和优缺点,建议根据实际情况选择合适的方法

在 Linux 系统中,了解当前服务器所使用的 DNS(Domain Name System)配置对于网络排错、服务部署和系统管理都至关重要。

本文将详细介绍几种常用的查看 DNS 信息的方法,帮助你快速定位和验证 DNS 设置。

方法一:查看 /etc/resolv.conf 文件

这是最直接的方式。Linux 系统通常通过 /etc/resolv.conf 文件指定 DNS 服务器地址。

[root@localhost ~]# cat /etc/resolv.conf
nameserver 192.168.xxx.xxx
search localdomain

说明:

注意:

在使用 NetworkManager 或 systemd-resolved 的现代发行版(如 CentOS 7+/Ubuntu 18.04+)中,该文件可能是自动生成的符号链接或由服务动态管理,手动修改可能被覆盖。

方法二:使用 nslookup 命令

nslookup 是一个交互式网络工具,可用于查询 DNS 记录。我们可以通过它间接查看当前使用的 DNS 服务器。

[root@localhost ~]# nslookup 127.0.0.1 | grep Server
Server: 192.168.xxx.xxx

说明:

提示:nslookup 在部分新系统中可能未默认安装,可使用以下命令安装:

方法三:使用 dig 命令

dig(Domain Information Groper)是功能强大的 DNS 查询工具,输出信息更详细。

[root@localhost ~]# dig
; > DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 >
;; ->>HEADER<<- …
;; SERVER: 192.168.xxx.xxx#53(192.168.xxx.xxx)
…

要快速提取 DNS 服务器地址,可结合管道过滤:

[root@localhost ~]# dig | grep “SERVER:” | awk -F'#' ‘{print 1}' | awk -F': ' ‘{print 2}'
192.168.xxx.xxx

方法四:其他实用方法(适用于特定环境)

  1. 使用 nmcli(NetworkManager 命令行工具)

适用于使用 NetworkManager 管理网络的系统(如桌面版或较新的服务器版):

查看所有连接的 DNS 信息

nmcli dev show | grep DNS

查看特定接口(如 eth0)的 DNS

nmcli dev show eth0 | grep IP4.DNS
  1. 使用 resolvectl(新版 systemd 推荐方式)

在使用 systemd-resolved 服务的系统中(如 Ubuntu 20.04+、CentOS 8+):

resolvectl status

该命令会显示每个网络接口的 DNS 配置、是否启用 DNSSEC、当前使用的解析器等详细信息。

⚠️ 旧版系统可能使用 systemd-resolve --status,但该命令已在较新版本中被弃用。

  1. 已过时的工具(不推荐在新系统使用)
nm-tool | grep DNS

nm-tool 在 NetworkManager 1.0+ 版本中已被移除,请改用 nmcli。

总结对比

小贴士

测试 DNS 是否生效,可使用以下命令验证:

dig example.com
host google.com
nslookup baidu.com

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文