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的jdk版本信息

    Linux终端输入命令java -version,即可查看当前系统安装的JDK版本信息

    2025年8月15日
    7300
  • 这样洗碗真的干净吗

    环境准备:构建专业开发基础安装开发工具链终端执行:sudo apt update && sudo apt install build-essential(Debian/Ubuntu)或 sudo dnf groupinstall “Development Tools”(Fedora/CentOS……

    2025年8月1日
    10400
  • 怎样正确重启电脑避免伤害关机流程?

    如何安全重启虚拟机中的 Linux 系统重启虚拟机中的 Linux 是运维中的常见操作,但不当操作可能导致数据丢失或服务中断,以下是详细步骤和最佳实践:重启前的关键准备保存工作关闭所有运行中的程序(如编辑器、数据库连接),使用 Ctrl+S 保存文件,避免未保存数据丢失,检查用户活动执行 w 或 who 命令查……

    2025年7月31日
    8700
  • Linux如何读取控制台输入?

    在Linux系统中,控制台(Console)是系统与用户交互的核心接口,既包括物理控制台(直接连接显示器的终端设备),也涵盖虚拟控制台(通过Ctrl+Alt+F1~F6切换的文本终端)以及伪终端(pty,如SSH远程连接的终端),读取控制台内容通常涉及获取用户输入、捕获系统输出或监控终端活动,其方法因场景不同而……

    2025年10月1日
    5700
  • 如何正确关闭SELinux?详细操作步骤与安全注意事项有哪些?

    SELinux(Security-Enhanced Linux)是美国国家安全局(NSA)主导开发的Linux安全模块,通过强制访问控制(MAC)机制为系统提供更高的安全性,它通过定义策略规则,限制进程、文件、网络等资源的访问权限,有效降低系统被攻击的风险,在某些场景下(如特定应用不兼容SELinux策略、调试……

    2025年9月25日
    7900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信