linux如何查看当前系统使用的dns服务器地址?

在Linux系统中,查看DNS服务器配置是网络管理和故障排查中的常见操作,DNS(域名系统)作为互联网的核心服务之一,负责将人类可读的域名转换为机器可识别的IP地址,Linux系统提供了多种命令和工具来查看当前使用的DNS服务器配置,包括系统级配置、网络接口配置以及临时查询等,以下将详细介绍这些方法及其适用场景。

linux 查看dns服务器

最常用的查看DNS服务器的方法是通过resolv.conf文件,该文件是Linux系统中DNS解析的核心配置文件,位于/etc/resolv.conf,它记录了系统在进行域名解析时使用的DNS服务器地址,用户可以通过catlessmore等命令查看该文件的内容,执行cat /etc/resolv.conf会显示类似以下的内容:

nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com

nameserver行指定了DNS服务器的IP地址,可以有多个,系统会按顺序尝试使用这些服务器;search行定义了域名搜索列表,当查询的域名不完整时(如只输入host),系统会自动添加搜索列表中的后缀进行尝试,需要注意的是,在许多现代Linux发行版(如Ubuntu 18.04+、CentOS 7+)中,/etc/resolv.conf文件可能是由系统网络管理工具(如systemdresolved、NetworkManager)动态生成的,直接编辑该文件可能无法永久保存配置。

对于使用systemdresolved服务的系统(如Ubuntu 20.04、Debian 10等),可以通过resolvectl命令查看更详细的DNS配置信息。systemdresolved是systemd提供的网络名称解析服务,它不仅管理本地DNS解析,还支持DNS over TLS、DNS over HTTPS等安全特性,执行resolvectl status会显示当前系统的DNS解析状态,包括全局DNS服务器、网络接口的DNS配置、域名搜索列表等。

Global DNS settings:
       DNS Servers: 8.8.8.8 8.8.4.4
          DNSSEC: no
      DNSOverTLS: no
          DNSStubListener: yes
...
Link 2 (eth0):
      Current Scopes: DNS
       DNS Servers: 192.168.1.1
          DNSSEC: no
      DNSOverTLS: no

这里,Global DNS settings部分显示了全局使用的DNS服务器,而Link 2 (eth0)部分则显示了特定网络接口(如以太网接口eth0)的DNS配置,如果需要查看特定接口的DNS信息,可以使用resolvctl query <域名>resolvctl status <接口名>

对于使用NetworkManager管理网络的系统(如Fedora、RHEL等),可以通过nmcli命令查看DNS配置,NetworkManager是Linux下常用的网络管理工具,它负责配置和管理网络连接,执行nmcli connection show <连接名> | grep ipv4.dnsnmcli device show <接口名> | grep dns可以查看指定连接或接口的DNS服务器配置。

ipv4.dns: 8.8.8.8, 8.8.4.4

nmcli connection show会列出所有网络连接的详细信息,包括DNS设置,如果需要修改DNS配置,也可以通过nmcli命令动态调整,例如nmcli connection modify <连接名> ipv4.dns "1.1.1.1 1.0.0.1"

linux 查看dns服务器

除了上述系统级配置外,还可以通过查询本地DNS缓存来查看最近解析的域名和使用的DNS服务器,Linux系统中的DNS缓存通常由systemdresolvednscd(Name Service Cache Daemon)管理,对于systemdresolved,可以使用resolvctl query <域名>查看解析过程,

resolvctl query www.example.com
www.example.com: 93.184.216.34
   link: eth0
   servers: 192.168.1.1

这里,servers字段显示了解析该域名时使用的DNS服务器,对于使用nscd的系统,可以执行nscd i hosts刷新DNS缓存,然后通过cat /var/cache/nscd/hosts查看缓存内容,但这种方法无法直接显示DNS服务器信息。

如果需要查看系统中所有网络接口的DNS配置,可以结合ipcat命令,执行ip route show | grep default可以获取默认网关对应的网络接口,然后查看该接口的配置文件(如/etc/sysconfig/networkscripts/ifcfg<接口名>,在CentOS/RHEL系统中),其中DNS1DNS2等字段指定了DNS服务器地址,在Ubuntu/Debian系统中,网络接口配置通常位于/etc/netplan/目录下,可以通过cat /etc/netplan/*.yaml查看DNS配置。

以下是一个归纳不同方法查看DNS服务器的表格:

方法 命令/文件 适用场景 示例输出内容
查看resolv.conf cat /etc/resolv.conf 传统系统,查看当前DNS配置 nameserver 8.8.8.8
使用resolvectl resolvectl status systemdresolved管理的系统 全局和接口DNS配置
使用nmcli nmcli connection show <连接名> NetworkManager管理的系统 ipv4.dns: 8.8.8.8, 8.8.4.4
查询DNS缓存 resolvectl query <域名> 查看特定域名的解析过程和使用的DNS服务器 servers: 192.168.1.1
查看接口配置文件 cat /etc/sysconfig/networkscripts/ifcfgeth0 RHEL/CentOS系统,查看静态DNS配置 DNS1=8.8.8.8

在实际操作中,选择合适的方法取决于系统的发行版和网络管理工具,在Ubuntu 20.04中,推荐使用resolvectl;在CentOS 8中,nmcli是更优的选择;而在一些轻量级发行版或旧系统中,直接查看/etc/resolv.conf仍然有效,如果需要临时修改DNS服务器(例如用于测试),可以使用nameserver参数结合dignslookup命令,例如dig @8.8.8.8 www.example.com,这会临时使用指定的DNS服务器进行查询,而不影响系统配置。

需要注意的是,DNS配置的正确性直接影响网络访问,如果遇到域名解析失败的问题,可以按照以下步骤排查:首先检查/etc/resolv.confresolvectl status中的DNS服务器是否可达(使用ping命令);使用dignslookup测试DNS解析是否正常;检查网络接口配置和防火墙规则是否阻止了DNS查询(如UDP端口53的访问)。

linux 查看dns服务器

相关问答FAQs

  1. 问:为什么我修改了/etc/resolv.conf文件后,DNS配置没有生效?
    答:在现代Linux发行版中,/etc/resolv.conf文件通常由网络管理工具(如systemdresolved、NetworkManager)动态管理,直接编辑该文件可能无法持久化生效,建议通过系统工具修改配置,例如在Ubuntu中使用resolvectl,在CentOS中使用nmcli,或修改对应的网络配置文件(如/etc/netplan/*.yaml/etc/sysconfig/networkscripts/ifcfg<接口名>)。

  2. 问:如何确认系统当前使用的DNS服务器是否响应正常?
    答:可以使用dignslookup命令测试DNS解析,执行dig @8.8.8.8 www.example.com会使用指定的DNS服务器(8.8.8.8)查询www.example.com的IP地址,如果返回正确结果,说明该DNS服务器正常;如果执行nslookup www.example.com,系统会使用当前配置的DNS服务器进行查询,通过观察输出中的Server字段可以确认实际使用的DNS服务器,并通过Nonauthoritative answer等判断解析是否成功。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/288514.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年12月11日 06:37
下一篇 2025年12月11日 06:42

相关推荐

  • php搭建服务器时,有哪些常见问题与解决技巧?

    PHP搭建服务器是一个相对简单但需要细致步骤的过程,以下是一个详细的步骤指南,帮助你在本地或远程服务器上搭建PHP环境,PHP服务器搭建步骤步骤详细说明确定服务器环境选择一个合适的操作系统,如Linux(推荐使用Ubuntu或CentOS)或Windows,Linux系统更加稳定和安全,安装Apache或Ngi……

    2026年1月11日
    1000
  • Linux NFS服务器配置时,如何解决客户端挂载失败问题?

    Linux NFS(Network File System,网络文件系统)是一种允许网络中的计算机之间共享文件系统的协议,广泛应用于跨主机文件共享场景,以下是详细的Linux NFS服务器配置步骤及相关注意事项,安装NFS服务在Linux系统中,首先需要安装NFS服务软件包,以CentOS/RHEL为例,使用y……

    2025年12月12日
    1700
  • Win服务器关闭防火墙是否安全?操作前必看30个注意事项!

    在Windows服务器上关闭防火墙是一项需要谨慎操作的任务,因为防火墙是保护服务器免受恶意攻击的重要防线,以下是在Windows服务器上关闭防火墙的详细步骤和注意事项,关闭Windows防火墙的步骤步骤操作说明1打开“控制面板”点击“开始”按钮,然后选择“控制面板”,2选择“系统和安全”在控制面板中,找到并点击……

    2025年12月10日
    5300
  • 发件服务器端口多少?如何正确配置确保邮件发送?

    在计算机网络中,发件服务器(SMTP服务器)的端口是通信过程中非常重要的参数,SMTP(Simple Mail Transfer Protocol)是一种用于电子邮件传输的协议,而端口则是网络通信中用于区分不同服务的数字标识,以下是关于发件服务器端口的相关信息,发件服务器端口概述端口类型端口号描述SMTP端口2……

    2026年1月20日
    1700
  • 香港服务器快速接入,为何如此受欢迎?揭秘其优势与适用场景!

    随着互联网的快速发展,越来越多的企业和个人选择使用香港服务器,香港服务器以其优越的地理位置、高速的网络连接和稳定的性能而受到广泛关注,本文将为您详细介绍快速香港服务器的特点、优势以及如何选择合适的香港服务器,快速香港服务器的特点优越的地理位置香港位于亚洲的心脏地带,拥有优越的地理位置,香港服务器位于香港数据中心……

    2025年12月8日
    1200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN