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系统中,限制对系统服务的访问是保障系统安全的关键环节,通过合理配置可有效未授权访问、数据泄露及服务滥用,以下从防火墙配置、TCP Wrappers、服务自身访问控制、 Mandatory Access Control (MAC) 机制及系统级权限限制等多个维度,详细说明具体实现方法,防火墙配置:网络……

    2025年8月28日
    14800
  • Linux系统如何处理闰秒?内核机制与时间同步策略解析

    Linux系统对闰秒的处理是一个涉及内核时间子系统、网络时间协议(NTP)服务以及用户态工具协同工作的复杂过程,其核心目标是确保系统时间与协调世界时(UTC)保持一致,同时尽可能减少对上层应用的影响,闰秒的插入或删除是为了弥补原子时(TAI,基于原子钟)与世界时(UT1,基于地球自转)之间的累积差异,由国际地球……

    2025年10月1日
    13500
  • Linux环境下Java如何连接Oracle数据库?

    在Linux环境下,Java程序连接Oracle数据库是企业级开发中的常见需求,需完成环境准备、驱动配置、代码编写及问题排查等步骤,下面详细介绍具体流程,环境准备首先需确保Linux系统、Java开发环境及Oracle数据库正常运行,推荐使用CentOS 7+或Ubuntu 18.04+系统,安装JDK 1.8……

    2025年9月30日
    13400
  • Linux定时杀进程,哪种方法最安全可靠?

    方法1:cron 计划任务 + kill 命令适用场景:需要每天/小时固定时间终止进程步骤:定位进程ID(PID):使用 pgrep 精确查找进程(避免误杀):pgrep -f "进程名或关键命令"示例:pgrep -f “python3 data_processing.py”创建终止脚本……

    2025年8月8日
    15300
  • Linux shell中如何正确添加注释?单行与多行方法是什么?

    在Linux Shell脚本开发中,注释是提升代码可读性、维护性的关键工具,合理的注释能帮助开发者(或他人)快速理解代码逻辑、参数用途及注意事项,尤其在复杂脚本或团队协作中不可或缺,本文将详细讲解Shell注释的语法、方法及最佳实践,单行注释:最常用、最简洁的注释方式Shell脚本中最基础的注释方式是单行注释……

    2025年9月19日
    14500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信