Linux如何快速查询DNS地址?

查看当前配置的DNS服务器(/etc/resolv.conf文件)

这是最直接的方式,系统默认从此文件读取DNS配置:

cat /etc/resolv.conf

输出示例

nameserver 8.8.8.8       # 主DNS服务器
nameserver 192.168.1.1   # 备用DNS服务器

⚠️ 注意:

  • 若使用NetworkManager或systemd-resolved服务,此文件可能被自动管理,直接编辑可能无效。
  • 文件中的nameserver行即当前生效的DNS地址。

使用nslookup(基础查询工具)

通过域名反向查询DNS服务器地址:

nslookup example.com    # 查询域名的解析服务器
nslookup                # 进入交互模式
> server                # 显示当前使用的DNS服务器
> exit                  # 退出

输出关键项

Server:         8.8.8.8          # 当前使用的DNS服务器
Address:        8.8.8.8#53       # DNS地址及端口

使用dig(专业诊断工具)

获取详细的DNS解析路径和服务器信息:

dig example.com                   # 查询域名解析
dig +short example.com            # 仅显示IP结果
dig NS example.com                # 查询域名的DNS服务器名称
dig +trace example.com            # 跟踪完整解析过程

输出解析

  • ANSWER SECTION:域名对应的IP地址。
  • Query time:解析耗时,用于诊断延迟。

使用host(快速查询工具)

高效获取域名关联的IP或DNS记录:

host example.com          # 查询域名IP
host -t NS example.com    # 查询域名的DNS服务器

输出示例

example.com has address 93.184.216.34
example.com name server ns.icann.org.  # 域名注册的DNS服务器

通过systemd-resolve(systemd系统专用)

适用于Ubuntu 18.04+、CentOS 8+等使用systemd的系统:

systemd-resolve --status | grep "DNS Servers" -A 2

输出示例

DNS Servers: 8.8.8.8
             192.168.1.1

此命令同时显示分接口(如eth0、wlan0)的DNS配置。


使用NetworkManager(nmcli

适用于通过NetworkManager管理网络的环境:

nmcli dev show | grep DNS

输出示例

IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             192.168.1.1

应用场景总结

场景 推荐命令 优势
查看本地DNS配置 cat /etc/resolv.conf 直接显示系统配置
快速解析域名 hostdig +short 结果简洁,适合脚本调用
诊断DNS解析问题 dig +trace 完整跟踪解析链路
查询域名注册的DNS服务器 dig NShost -t NS 获取权威DNS信息
图形界面环境(如Ubuntu) nmcli 兼容NetworkManager配置

常见问题排查

  1. DNS未生效
    • 检查/etc/resolv.conf是否被覆盖(如DHCP服务重置)。
    • 使用dig @8.8.8.8 example.com指定DNS服务器测试连通性。
  2. 解析延迟高
    • dig +trace检查解析路径,替换为更快的公共DNS(如8.8.8114.114.114)。
  3. 配置持久化
    • 通过NetworkManager修改(nm-connection-editor)或编辑/etc/netplan/*.yaml(Ubuntu)确保重启后配置保留。

引用说明基于Linux标准文档(man pages)、IBM Knowledge Center及Ubuntu官方维护指南,命令兼容主流发行版(Ubuntu, CentOS, Fedora等),测试环境为Linux kernel 5.4+。

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

(0)
酷番叔酷番叔
上一篇 2025年6月23日 21:52
下一篇 2025年6月23日 22:14

相关推荐

  • Linux如何使用浏览器下载软件?

    在Linux系统中,使用浏览器下载软件是最直观的方式之一,尤其适合习惯图形界面的用户,但Linux的软件安装机制与Windows不同,需结合系统类型(如Debian/Ubuntu、CentOS/RHEL等)和软件包格式(如.deb、.rpm、.tar.gz等)灵活处理,以下是详细操作步骤和注意事项,确认系统环境……

    2025年9月22日
    11700
  • Linux系统下如何彻底卸载Redis服务?

    Redis作为高性能的内存数据库,在Linux系统中被广泛应用于缓存、消息队列等场景,但若因版本过旧、业务调整或不再使用,需彻底卸载以释放系统资源,卸载Redis需根据安装方式(包管理器或源码编译)选择不同方法,核心步骤包括停止服务、删除安装文件、清理配置及数据残留,确保系统无冗余,以下分不同安装场景详细说明卸……

    2025年10月1日
    9800
  • linux如何跳板到其他机器

    Linux 中,可通过 SSH 命令结合相关参数,利用跳板机登录到其他

    2025年8月10日
    14700
  • ARM架构如何运行Linux系统?

    ARM架构作为全球主流的处理器架构之一,凭借其低功耗、高性能和可扩展性特点,在嵌入式设备、移动终端、服务器等领域广泛应用,Linux系统作为开源操作系统,凭借其稳定性和灵活性,成为ARM平台的首选操作系统之一,ARM设备运行Linux系统涉及硬件基础、系统移植、启动流程和软件生态等多个环节,下面将详细解析这一过……

    2025年10月8日
    13000
  • Linux下如何修改文件名?操作步骤与命令方法?

    在Linux系统中,修改文件名是日常操作中常见的需求,无论是规范化文件命名、批量处理文件还是修复错误的文件名,都需要掌握高效的文件名修改方法,Linux下修改文件名主要通过命令行工具实现,其中最常用的是mv命令和rename命令,同时结合通配符、循环结构等可以实现复杂的批量重命名操作,本文将详细介绍Linux下……

    2025年9月29日
    12100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信