在Linux操作系统中,如何查看当前系统正在使用的DNS地址信息?

在Linux系统中,DNS(域名系统)地址是网络通信的关键配置,它负责将域名解析为IP地址,查看当前系统使用的DNS地址有多种方法,适用于不同的Linux发行版和场景,以下是常用且详细的操作方式。

linux如何查看dns地址

使用nslookup命令查询DNS服务器

nslookup(Name Server Lookup)是Linux中最基础的DNS查询工具,可用于查看当前系统使用的DNS服务器地址。

基本用法

  1. 直接查询默认DNS服务器
    在终端输入nslookup(不带参数),进入交互模式,输入任意域名(如www.baidu.com),系统会返回当前使用的DNS服务器地址及解析结果:

    nslookup
    > www.baidu.com
    Server:         192.168.1.1  # 当前DNS服务器地址
    Address:        192.168.1.1#53
    Non-authoritative answer:
    www.baidu.com   canonical name = www.a.shifen.com.
    www.a.shifen.com        220.181.38.148
    www.a.shifen.com        220.181.38.149

    退出交互模式可输入exit或按Ctrl+D

  2. 指定DNS服务器查询
    若需测试特定DNS服务器是否可用,可带参数执行,例如用Google DNS(8.8.8.8)查询:

    nslookup www.baidu.com 8.8.8.8

使用dig命令获取详细DNS信息

dig(Domain Information Groper)是比nslookup更强大的DNS工具,可显示更详细的解析过程,适用于需要调试DNS问题的场景。

基本用法

  1. 查询默认DNS服务器
    输入dig +short可仅返回解析的IP地址,默认使用系统配置的DNS服务器:

    dig +short www.baidu.com
    # 输出:220.181.38.148 220.181.38.149

    不加+short参数会显示完整解析过程,包括DNS服务器、查询时间、响应码等:

    dig www.baidu.com
  2. 指定DNS服务器
    nslookup类似,可通过指定DNS服务器:

    linux如何查看dns地址

    dig @8.8.8.8 www.baidu.com

使用systemd-resolve命令(systemd系统适用)

对于采用systemd作为初始化系统的Linux发行版(如Ubuntu 18.04+、CentOS 7+),systemd-resolve是管理DNS服务的工具,可查看当前DNS配置

基本用法

  1. 查看DNS状态
    执行以下命令可显示当前DNS服务器地址、搜索域、连接信息等:

    systemd-resolve --status

    输出示例中,DNS Servers行即为当前使用的DNS地址:

    DNS Servers: 192.168.1.1
        8.8.8.8
    DNS Domain: localdomain
  2. 查看当前连接的DNS
    若使用NetworkManager管理网络,可结合nmcli查看特定连接的DNS配置

    nmcli connection show --active | grep ipv4.dns

查看/etc/resolv.conf文件

/etc/resolv.conf是Linux系统中传统的DNS配置文件,直接记录了系统使用的DNS服务器地址。

查看方法

使用cat命令查看文件内容:

cat /etc/resolv.conf
```  示例:  
```bash
# Generated by NetworkManager
nameserver 192.168.1.1  # 主DNS服务器
nameserver 8.8.8.8      # 备用DNS服务器
search localdomain      # 搜索域

注意:在systemd系统(如Ubuntu)中,/etc/resolv.conf可能由systemd-resolved或NetworkManager自动管理,直接修改可能被覆盖,建议通过系统工具(如nmcli)永久修改DNS。

使用nmcli命令(NetworkManager适用)

对于使用NetworkManager管理网络的系统(如Ubuntu、Fedora、RHEL等),nmcli是命令行工具,可查看和修改当前网络连接的DNS配置。

linux如何查看dns地址

查看方法

  1. 查看所有活跃连接的DNS

    nmcli connection show --active | grep ipv4.dns
  2. 查看特定连接的详细配置
    先通过nmcli connection show列出所有连接,选择目标连接(如ens33),再查看DNS:

    nmcli connection show ens33 | grep ipv4.dns

不同方法对比总结

方法 命令示例 适用场景 优点
nslookup nslookup www.baidu.com 快速查询默认DNS服务器 简单直观,适合基础查询
dig dig +short www.baidu.com 获取详细DNS解析信息 信息全面,适合调试
systemd-resolve systemd-resolve --status systemd系统查看DNS状态 显示系统级DNS配置
/etc/resolv.conf cat /etc/resolv.conf 查看传统DNS配置文件 直接查看文件内容
nmcli nmcli connection show --active NetworkManager管理网络 适用于桌面版或服务器网络管理

相关问答FAQs

Q1:为什么/etc/resolv.conf中的DNS地址和我手动设置的不一致?
A:在采用systemd或NetworkManager的系统中,/etc/resolv.conf文件通常由系统服务自动管理(如systemd-resolved或NetworkManager),直接修改该文件可能会在系统重启或网络状态变化后被覆盖,若需永久修改DNS,建议使用对应的管理工具:例如在Ubuntu中可通过nmcli connection modify <连接名> ipv4.dns "8.8.8.8"设置,或在CentOS中通过nmcli connection modify <连接名> ipv4.dns "8.8.8.8",修改后重启网络服务(nmcli connection down <连接名> && nmcli connection up <连接名>)。

Q2:如何临时修改Linux系统的DNS地址?
A:临时修改无需重启系统,可直接修改/etc/resolv.conf文件(但可能被后续操作覆盖),或使用nslookup指定DNS服务器查询,临时将DNS设置为8.8.8.8,可执行:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

若需临时使用特定DNS解析某个域名,可直接用nslookupdig指定DNS服务器,如nslookup www.baidu.com 8.8.8.8,这种方式仅对当前查询有效,不影响系统全局DNS配置。

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

(0)
酷番叔酷番叔
上一篇 2025年8月25日 17:37
下一篇 2025年8月25日 17:47

相关推荐

  • Linux环境下删除用户组的详细步骤和常见错误解决方法是什么?

    在Linux系统中,用户组是管理用户权限和资源访问的重要机制,随着系统运维或业务变化,可能需要删除不再需要的用户组,删除用户组需谨慎操作,避免影响系统或用户的正常使用,以下是详细的操作步骤和注意事项,删除用户组前的准备工作在执行删除操作前,需确认以下内容,确保删除过程安全可控:检查组是否存在:首先确认目标用户组……

    2025年10月6日
    16100
  • Linux下如何调出xfce4桌面环境?

    xfce4是Linux系统中一款轻量级、高效的桌面环境,因其资源占用低、启动速度快且功能完善,受到许多用户喜爱,尤其是老旧硬件或追求简洁操作系统的用户,要在Linux系统中调出xfce4,通常需要经过安装、启动或切换等步骤,具体操作会因Linux发行版的不同而略有差异,以下将从多个场景详细说明如何调出xfce4……

    2025年9月17日
    18700
  • linux如何查询两个关键字

    Linux中,可使用`grep -E ‘关键字1|关键字2’ 文件名

    2025年8月17日
    16600
  • Linux下如何登录到不同的节点服务器?

    在Linux环境中,登录不同节点是日常运维和开发中的常见需求,节点可能指集群中的服务器、虚拟机、容器实例或其他远程主机,不同场景下需采用不同的登录方式,本文将详细介绍Linux登录不同节点的常用方法、配置步骤及注意事项,基础登录方式:SSH远程登录SSH(Secure Shell)是Linux系统最常用的远程登……

    2025年9月24日
    16500
  • Debian/Ubuntu安装卡在驱动怎么办?

    在Linux操作系统中,虽然拍照功能不如移动设备或Windows/macOS那样直观,但通过多种工具和方法,用户完全可以轻松调用摄像头进行拍照,以下是详细的操作指南,涵盖命令行工具、图形界面应用及常见问题解决方案:命令行工具(适合快速抓拍/脚本调用)fswebcam最常用的命令行拍照工具,支持分辨率调整和延时拍……

    2025年8月8日
    17100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信