在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下qt如何打开文件夹

    Linux 下,Qt 可以使用 QFileDialog 类中的 getOpenFileName 或 getExistingDirectory 方法来打开文件夹

    2025年8月14日
    2300
  • Linux中如何设置环境变量?详细步骤与方法是什么?

    在Linux系统中,环境变量是操作系统和运行程序用来存储配置信息的机制,它们定义了用户shell的行为以及程序运行的环境,正确设置环境变量对于系统管理、软件开发和日常使用都至关重要,例如PATH变量决定了系统在哪些目录中查找可执行文件,HOME变量指定了用户的主目录,LANG变量控制系统的语言环境等,本文将详细……

    2025年8月31日
    3200
  • 如何查看电脑当前网络网关?

    临时设置网关(重启失效)通过命令行快速设置,适用于临时测试:# 临时添加网关(eth0替换为你的网卡名)sudo ip route add default via 192.168.1.1 dev eth0验证:ping 8.8.8.8 测试网络连通性,永久设置网关(不同发行版方法)Ubuntu/Debian(使……

    2025年7月23日
    4900
  • 在Linux系统中如何建立root用户并设置初始管理权限?

    在Linux系统中,root用户是拥有最高权限的超级用户,能够执行所有系统操作,包括安装软件、修改系统文件、管理其他用户等,需要注意的是,Linux系统安装时默认会创建root用户,但出于安全考虑,许多发行版(如Ubuntu)默认会禁用root用户的直接登录或未设置密码,用户需要通过特定方式配置root权限,本……

    2025年9月15日
    2200
  • cdlinux系统如何获取pin码?详细操作步骤是什么?

    在Linux系统中,CDLinux作为一种轻量级的应急系统,常用于网络诊断、数据恢复等场景,获取PIN码的需求可能涉及多个方面,例如Wi-Fi网络的WPS PIN码解锁、设备解锁PIN码,或特定服务的认证PIN码,本文将以最常见的Wi-Fi WPS PIN码获取为例,详细说明在CDLinux环境中通过工具扫描……

    2025年9月25日
    1800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信