5154

Good Luck To You!

ubuntu服务器查看dns

Ubuntu服务器上,可使用cat /etc/resolv.conf命令查看DNS

Ubuntu服务器查看DNS详细指南

在Ubuntu系统中,了解当前配置的DNS服务器信息对于网络故障排查、性能优化以及安全设置至关重要,以下是多种查看DNS配置的方法及其详细说明:


通过/etc/resolv.conf文件直接查看

这是最基础且通用的方式,适用于几乎所有Linux发行版,该文件存储了系统默认的DNS解析规则。

操作步骤:

  1. 打开终端
    使用快捷键 Ctrl+Alt+T 启动终端;
  2. 执行命令
    输入以下命令显示内容:
    cat /etc/resolv.conf
  3. 解析输出结果
    重点关注以 nameserver 开头的行,其后跟随的IP地址即为当前使用的DNS服务器。
    nameserver 8.8.8.8       # Google公共DNS
    nameserver 1.1.1.1       # Cloudflare公共DNS

    注意:某些系统(如启用了Systemdresolved或NetworkManager)可能会动态生成此文件,直接编辑可能无效,若发现类似 0.0.53 的本地地址,表明系统正在使用内置的DNS缓存服务。

典型示例:

假设运行结果如下:

search localdomain
nameserver 172.16.1.1      # 内网私有DNS
nameserver 192.168.171.2   # 另一台内部DNS服务器

这表示系统会优先向这两个IP发送域名查询请求。

ubuntu服务器查看dns


使用nmcli命令(针对NetworkManager用户)

如果系统的网络连接由NetworkManager工具管理,可以通过其专用命令行接口获取更详细的接口级DNS信息。

操作步骤:

  1. 运行命令
    nmcli dev show | grep 'DNS'
  2. 解读输出字段
    • IP4.DNS[1]/IP6.DNS[1]: 分别对应IPv4和IPv6的主DNS服务器;
    • 多个条目表示多组备用DNS顺序。
      IP4.DNS[1]: 8.8.8.8
      IP4.DNS[2]: 8.8.4.4

      此方法特别适合多网卡环境,能清晰展示不同网络接口独立的DNS设置。


利用systemdresolve系列工具(现代Ubuntu推荐)

自Systemd引入后,新增了一套专门用于管理DNS解析的服务,提供更灵活的状态监控能力。

✅ 状态查询命令:

选项1:systemdresolve status

输出包含完整的缓存统计、跳转记录及上游服务器列表,关键部分如下:

Link 3 (eth0):
      Current DNS server: 192.168.1.1
         DNSSEC verification nuance: Unsigned
      Transactions: ... (省略中间细节)

选项2:resolvectl status

简化版交互式界面,适合快速查阅主要参数:

ubuntu服务器查看dns

Global: resolved via Systemdresolved > ...
        DNS Servers: 192.168.1.1:53
          DNSSEC: no
          ...
Link#1 (enp0s3): connected ...

优势对比:相比传统方法,这些命令能实时反映实际生效的配置(包括动态更新后的变动),尤其适合诊断复杂场景下的解析行为。


辅助验证手段——nslookupdig测试工具

虽然不直接展示配置文件,但可通过主动发起查询来反向验证DNS工作流程是否正常。

工具 用途说明 示例用法
nslookup 交互式域名查寻(依赖BIND库) nslookup example.com
dig 深度分析权威/递归响应过程 dig +trace www.baidu.com

执行 nslookup google.com 若返回正确IP,则说明至少有一个可用的DNS服务器在线。


常见问题与解答

以下是两个与本文相关的高频疑问及解决方案:

Q1: 为什么修改了/etc/resolv.conf却没生效?

A: 因为现代Ubuntu默认启用了systemdresolved服务,它会覆盖手动编辑的文件,此时应通过编辑 /etc/systemd/resolved.conf 并重启服务来实现持久化更改:

ubuntu服务器查看dns

sudo vi /etc/systemd/resolved.conf    # 添加新的DNS条目
sudo systemctl restart systemdresolved # 使变更生效

Q2: 如何临时切换到特定DNS进行排错?

A: 可以使用resolvectl快速调整而无需重启网络:

sudo resolvectl domain ~example.com usedns curl 4 defaultdns
# 或者指定自定义服务器:
sudo resolvectl setnameservers enp0s3 8.8.8.8 8.8.4.4

这种方法对调试特定域名解析异常非常有用。


小编总结对比表

方法 适用场景 优点 局限性
/etc/resolv.conf 静态配置查看 简单直观 可能被覆盖
nmcli NetworkManager管理的环境 支持多接口独立设置 仅显示当前活跃连接
systemdresolve 现代Ubuntu系统 动态监控+详细日志 需要熟悉新架构
nslookup/dig 功能验证与故障定位 实时反馈解析路径 无法修改配置

通过以上方法组合使用,您可以全面掌握Ubuntu服务器的DNS配置状况,并根据

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年9月    »
1234567
891011121314
15161718192021
22232425262728
2930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.