在Linux操作系统中,如何查看当前系统正在使用的DNS地址信息?

在Linux系统中,DNS(域名系统)地址是网络通信的关键配置,它负责将域名解析为IP地址,查看当前系统使用的DNS地址有多种方法,适用于不同的Linux发行版和场景,以下是常用且详细的操作方式。

linux如何查看dns地址

使用nslookup命令查询DNS服务器

nslookup(Name Server Lookup)是Linux中最基础的DNS查询工具,可用于查看当前系统使用的DNS服务器地址。

基本用法

  1. 直接查询默认DNS服务器
    在终端输入nslookup(不带参数),进入交互模式,输入任意域名(如www.baidu.com),系统会返回当前使用的DNS服务器地址及解析结果:

    nslookup
    > www.baidu.com
    Server:         192.168.1.1  # 当前DNS服务器地址
    Address:        192.168.1.1#53
    Non-authoritative answer:
    www.baidu.com   canonical name = www.a.shifen.com.
    www.a.shifen.com        220.181.38.148
    www.a.shifen.com        220.181.38.149

    退出交互模式可输入exit或按Ctrl+D

  2. 指定DNS服务器查询
    若需测试特定DNS服务器是否可用,可带参数执行,例如用Google DNS(8.8.8.8)查询:

    nslookup www.baidu.com 8.8.8.8

使用dig命令获取详细DNS信息

dig(Domain Information Groper)是比nslookup更强大的DNS工具,可显示更详细的解析过程,适用于需要调试DNS问题的场景。

基本用法

  1. 查询默认DNS服务器
    输入dig +short可仅返回解析的IP地址,默认使用系统配置的DNS服务器:

    dig +short www.baidu.com
    # 输出:220.181.38.148 220.181.38.149

    不加+short参数会显示完整解析过程,包括DNS服务器、查询时间、响应码等:

    dig www.baidu.com
  2. 指定DNS服务器
    nslookup类似,可通过指定DNS服务器:

    linux如何查看dns地址

    dig @8.8.8.8 www.baidu.com

使用systemd-resolve命令(systemd系统适用)

对于采用systemd作为初始化系统的Linux发行版(如Ubuntu 18.04+、CentOS 7+),systemd-resolve是管理DNS服务的工具,可查看当前DNS配置

基本用法

  1. 查看DNS状态
    执行以下命令可显示当前DNS服务器地址、搜索域、连接信息等:

    systemd-resolve --status

    输出示例中,DNS Servers行即为当前使用的DNS地址:

    DNS Servers: 192.168.1.1
        8.8.8.8
    DNS Domain: localdomain
  2. 查看当前连接的DNS
    若使用NetworkManager管理网络,可结合nmcli查看特定连接的DNS配置

    nmcli connection show --active | grep ipv4.dns

查看/etc/resolv.conf文件

/etc/resolv.conf是Linux系统中传统的DNS配置文件,直接记录了系统使用的DNS服务器地址。

查看方法

使用cat命令查看文件内容:

cat /etc/resolv.conf
```  示例:  
```bash
# Generated by NetworkManager
nameserver 192.168.1.1  # 主DNS服务器
nameserver 8.8.8.8      # 备用DNS服务器
search localdomain      # 搜索域

注意:在systemd系统(如Ubuntu)中,/etc/resolv.conf可能由systemd-resolved或NetworkManager自动管理,直接修改可能被覆盖,建议通过系统工具(如nmcli)永久修改DNS。

使用nmcli命令(NetworkManager适用)

对于使用NetworkManager管理网络的系统(如Ubuntu、Fedora、RHEL等),nmcli是命令行工具,可查看和修改当前网络连接的DNS配置。

linux如何查看dns地址

查看方法

  1. 查看所有活跃连接的DNS

    nmcli connection show --active | grep ipv4.dns
  2. 查看特定连接的详细配置
    先通过nmcli connection show列出所有连接,选择目标连接(如ens33),再查看DNS:

    nmcli connection show ens33 | grep ipv4.dns

不同方法对比总结

方法 命令示例 适用场景 优点
nslookup nslookup www.baidu.com 快速查询默认DNS服务器 简单直观,适合基础查询
dig dig +short www.baidu.com 获取详细DNS解析信息 信息全面,适合调试
systemd-resolve systemd-resolve --status systemd系统查看DNS状态 显示系统级DNS配置
/etc/resolv.conf cat /etc/resolv.conf 查看传统DNS配置文件 直接查看文件内容
nmcli nmcli connection show --active NetworkManager管理网络 适用于桌面版或服务器网络管理

相关问答FAQs

Q1:为什么/etc/resolv.conf中的DNS地址和我手动设置的不一致?
A:在采用systemd或NetworkManager的系统中,/etc/resolv.conf文件通常由系统服务自动管理(如systemd-resolved或NetworkManager),直接修改该文件可能会在系统重启或网络状态变化后被覆盖,若需永久修改DNS,建议使用对应的管理工具:例如在Ubuntu中可通过nmcli connection modify <连接名> ipv4.dns "8.8.8.8"设置,或在CentOS中通过nmcli connection modify <连接名> ipv4.dns "8.8.8.8",修改后重启网络服务(nmcli connection down <连接名> && nmcli connection up <连接名>)。

Q2:如何临时修改Linux系统的DNS地址?
A:临时修改无需重启系统,可直接修改/etc/resolv.conf文件(但可能被后续操作覆盖),或使用nslookup指定DNS服务器查询,临时将DNS设置为8.8.8.8,可执行:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

若需临时使用特定DNS解析某个域名,可直接用nslookupdig指定DNS服务器,如nslookup www.baidu.com 8.8.8.8,这种方式仅对当前查询有效,不影响系统全局DNS配置。

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

(0)
酷番叔酷番叔
上一篇 2025年8月25日 17:37
下一篇 2025年8月25日 17:47

相关推荐

  • Linux如何修改TCP最大连接数限制?

    Linux系统中的TCP最大连接数限制受多个因素制约,包括系统级文件描述符限制、内核参数配置以及进程级资源分配等,要修改这一限制,需从多个层面进行调整,同时确保系统资源充足以避免性能问题,以下将详细说明具体操作步骤和注意事项,理解TCP连接数限制的来源TCP连接数限制并非单一参数控制,而是由多个系统约束共同决定……

    2025年10月5日
    14500
  • Linux重复上条命令只会用上箭头?

    最常用方法: 命令原理: 会自动替换为历史记录中的上一条命令,操作示例:$ apt update # 首次执行$ sudo !! # 重复执行 → 实际运行 sudo apt update适用场景:需添加权限(如 sudo)或快速重试命令,方向键回溯:(向上键)操作步骤:按键盘 键调出上一条命令按 Enter……

    2025年7月29日
    17000
  • 如何检查SSH服务状态?

    当你的Linux服务器能够ping通,却无法远程连接时,这通常意味着网络基础连通性正常,但远程服务本身存在问题,以下是系统化的排查与解决方案,涵盖常见原因和修复步骤:检查远程服务是否运行远程连接依赖特定服务(如SSH、VNC),需确认服务已启动:# 若未运行,启动服务sudo systemctl start s……

    2025年7月29日
    14300
  • Windows系统中如何具体实现FTP登录Linux服务器的详细操作步骤?

    在Windows系统中通过FTP协议登录Linux服务器进行文件传输是常见的跨平台操作需求,广泛应用于服务器管理、文件备份、数据共享等场景,FTP(File Transfer Protocol)是一种基于TCP/IP协议的应用层协议,支持客户端与服务器之间的文件上传、下载、删除等操作,本文将详细介绍从Windo……

    2025年9月29日
    15200
  • linux如何编辑

    Linux 中,常用文本编辑器有 Vim、Nano 等。

    2025年8月15日
    16100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信