在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终端界面,涵盖工具更换、主题配置、提示符优化等实用技巧,所有步骤均经过测试(基于Ubuntu 22.04和Bash/Zsh),确保安全可靠,终端模拟……

    2025年6月14日
    13200
  • 官方源码哪里下载最安全?

    什么是 nbtscan?nbtscan 是一款用于扫描本地网络 NetBIOS 名称信息的命令行工具,它能快速识别网络中的设备(如 Windows 主机、共享打印机等),并显示其 IP 地址、NetBIOS 名称、MAC 地址和共享服务,适用于网络管理员进行设备发现、故障排查或安全审计,安装方法(覆盖主流 Li……

    2025年7月27日
    12900
  • Linux测网速慢如何检测?排查方法有哪些?

    在Linux系统中排查网速慢问题时,需结合网络连通性测试、带宽性能分析及系统资源检查等多维度方法定位原因,以下从基础排查到专业工具使用,详细说明具体操作步骤和工具选择,基础网络连通性排查首先需确认是否为真实网速问题,而非网络中断或配置错误,基础命令可快速判断网络状态:ping测试:检测目标服务器延迟和丢包率,例……

    2025年10月9日
    11200
  • linux如何访问本地文件夹

    Linux中,可通过cd命令进入本地文件夹路径访问,如cd /home/user/folder。

    2025年8月18日
    11200
  • 如何更新软件源?

    通过包管理器安装(推荐首选)包管理器是 Linux 的核心工具,能自动处理依赖关系和更新,不同发行版使用不同的包管理器:Debian/Ubuntu 系(APT)# 搜索软件包(如 Firefox)apt search firefox# 安装软件sudo apt install firefox# 卸载软件(保留配……

    2025年7月9日
    11400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信