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内存管理涉及物理内存、虚拟内存、交换空间(Swap)等多个概念,而通过命令行工具可以全面、实时地获取这些信息,本文将详细介绍几种常用的内存查询方法,帮助用户从不同维度分析内存状态,基础命令……

    2025年9月15日
    3100
  • Linux如何使用Python进行编程开发?

    在Linux系统中,Python作为一种强大的脚本语言和开发工具,广泛应用于系统管理、自动化任务、Web开发、数据分析等领域,Linux与Python的结合得益于Linux对开源生态的良好支持,以及Python跨平台、丰富的库和简洁的语法,本文将详细介绍Linux环境下Python的安装、配置、使用及高级应用……

    2025年9月23日
    1400
  • Linux环境下如何判断当前是否已成功连接FTP服务器?

    在Linux系统中,判断是否成功连接到FTP服务器是网络管理、服务器运维和日常开发中的常见需求,FTP(File Transfer Protocol)作为一种传统的文件传输协议,其连接状态可通过多种工具和方法进行验证,涵盖命令行交互、网络状态检查、日志分析等多个维度,本文将详细介绍这些方法,帮助用户全面掌握Li……

    2025年8月23日
    3600
  • 如何将文件上传到Linux?

    将文件上传到Linux服务器是日常运维、开发和数据管理中的基础操作,根据文件大小、网络环境、安全需求及用户习惯,可选择多种方法,本文将详细介绍主流上传方式的操作步骤、适用场景及优缺点,帮助用户高效完成文件传输,使用SCP(Secure Copy)上传文件SCP基于SSH协议,通过加密传输确保文件安全,适合上传单……

    2025年9月16日
    4600
  • VC程序如何与Linux系统实现高效稳定的通信连接?

    在跨平台开发场景中,Visual C++(以下简称VC++)作为Windows环境下的主流开发工具,常需与Linux系统进行数据交互或功能协同,两者分别基于Windows和Linux内核,通信机制存在差异,需通过网络协议、本地IPC(进程间通信)或中间件实现数据交换,本文将系统梳理VC++与Linux通信的主流……

    2025年8月28日
    3300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信