Linux下查看DNS服务器IP的命令是什么?

在Linux系统管理和网络故障排查中,能够快速准确地检查DNS服务器地址和服务器自身的IP地址是一项基础且至关重要的技能,DNS(域名系统)负责将人类可读的域名(如www.google.com)解析为机器可读的IP地址,而服务器的IP地址则是其在网络中的唯一标识,掌握相关的命令行工具,不仅能提高工作效率,还能在关键时刻帮助定位和解决复杂的网络问题,本文将详细介绍在Linux环境下,如何通过一系列命令来查询这两项关键网络信息。

Linux下查看DNS服务器IP的命令是什么?

查看DNS服务器IP地址

DNS配置通常存储在特定的配置文件中,或由系统服务动态管理,以下是几种最常用的查询方法。

检查 /etc/resolv.conf 文件

这是最传统也是最直接的方法。/etc/resolv.conf 文件是Linux系统解析器的主要配置文件,其中包含了系统用于查询域名的DNS服务器地址。

打开终端,使用以下命令查看文件内容:

cat /etc/resolv.conf

通常如下所示:

# This file is managed by man:systemd-resolved(8). Do not edit.
#
nameserver 8.8.8.8
nameserver 8.8.4.4
search localdomain

在这个例子中,nameserver 关键字后面紧跟的IP地址(8.8.88.4.4)就是系统当前配置的DNS服务器地址,需要注意的是,在现代许多Linux发行版(如Ubuntu 18.04+、Debian 9+)中,此文件通常由 systemd-resolvedNetworkManager 服务自动管理,直接手动编辑此文件可能在系统重启后被覆盖。

使用 systemd-resolve 命令

对于使用 systemd-resolved 作为DNS解析服务的系统,systemd-resolve 是一个更可靠、更现代的工具,它可以提供更详细的DNS状态信息。

执行以下命令:

systemd-resolve --status

该命令会输出详细的网络接口和DNS配置信息,在输出中找到 “DNS Servers” 部分,即可看到当前正在使用的DNS服务器地址。

Global
          DNSSEC NTA: 10.in-addr.arpa
                      ...
Link 2 (ens33)
      Current Scopes: DNS
       DNS Servers: 192.168.1.1
        DNS Domain: home

此例中,ens33 网络接口配置的DNS服务器是 168.1.1

使用 nmcli 命令

如果系统使用 NetworkManager 来管理网络连接,nmcli(NetworkManager Command-Line Interface)是查询DNS配置的理想工具。

执行以下命令并过滤DNS相关信息:

Linux下查看DNS服务器IP的命令是什么?

nmcli dev show | grep 'DNS'

输出结果会清晰地列出每个网络接口的DNS服务器配置。

IP4.DNS[1]:                             192.168.1.1
IP6.DNS[1]:                             fe80::1

使用 dignslookup 命令

dig(Domain Information Groper)和 nslookup(Name Server Lookup)是强大的DNS查询工具,虽然它们的主要功能是查询特定域名的DNS记录,但它们在执行查询时也会显示所使用的DNS服务器。

直接执行 dig 命令而不带任何参数:

dig

在输出的顶部,可以看到类似以下信息:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;.                              IN      NS
;; ANSWER SECTION:
.                       3600000 IN      NS      a.root-servers.net.
...
;; Query time: 12 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)  <-- 这里显示的是查询的DNS服务器
;; WHEN: Mon Oct 26 10:30:00 CST 2025
;; MSG SIZE  rcvd: 239

这里的 SERVER: 127.0.0.53#53 表明 dig 命令将查询发送到了本地的 systemd-resolved 存根解析器,后者再根据配置转发到上游的DNS服务器。

查看服务器自身的IP地址

获取服务器自身的IP地址同样重要,它分为内网IP和公网IP。

使用 ip addr 命令

ip 命令是现代Linux系统中替代老旧 ifconfig 的标准网络配置工具。ip addr(或简写为 ip a)用于显示所有网络接口的地址信息。

ip addr

输出信息会列出所有网络接口(如 loeth0ens33),你需要找到主要的网络接口(通常不是 lo 回环接口),并查看其 inet 行。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic noprefixroute ens33
       valid_lft 86395sec preferred_lft 86395sec

在此例中,ens33 接口的IP地址是 168.1.100

使用 hostname 命令

hostname 命令不仅可以显示或设置主机名,还可以用来快速查看IP地址。

hostname -I

这个命令会直接列出所有非回环的IP地址,非常简洁,适合在脚本中使用。

Linux下查看DNS服务器IP的命令是什么?

查询公网IP地址

如果服务器位于NAT之后,上述方法只能查到内网IP,要获取公网IP,需要借助外部服务,可以使用 curlwget 等工具访问专门提供此服务的网站。

curl ifconfig.me
# 或者
curl ipinfo.io/ip
# 或者使用DNS查询方式
dig +short myip.opendns.com @resolver1.opendns.com

这些命令会向远程服务器发起请求,并返回你的公网IP地址。

命令小编总结表

为了方便快速查阅,下表小编总结了上述关键命令:

目的 命令 说明
查看DNS配置文件 cat /etc/resolv.conf 传统方法,但可能被服务自动管理。
查看systemd-resolved状态 systemd-resolve --status 适用于使用systemd的现代系统。
通过NetworkManager查看 nmcli dev show | grep 'DNS' 适用于使用NetworkManager的系统。
通过DNS查询工具查看 dignslookup 查看查询实际使用的DNS服务器。
查看服务器所有IP ip addrip a 现代标准命令,信息详细。
快速查看服务器IP hostname -I 简洁输出,适合脚本。
查看服务器公网IP curl ifconfig.me 需要互联网连接,借助外部服务。

相关问答FAQs

问题1:为什么我编辑了 /etc/resolv.conf 文件,添加了新的DNS服务器,但重启后配置又恢复原样了?

解答: 这是因为您的系统很可能使用了 systemd-resolvedNetworkManager 这样的网络管理服务,这些服务会动态生成和管理 /etc/resolv.conf 文件,以确保网络配置的一致性和正确性,当您手动编辑后,系统重启或网络服务重启时,它会根据其自身的配置源(如Netplan配置文件、NetworkManager连接配置等)重新覆盖该文件,要进行永久性的DNS修改,您应该修改这些服务的上游配置文件,在使用Netplan的Ubuntu系统上,应编辑 /etc/netplan/ 目录下的YAML配置文件;在使用NetworkManager的系统上,则可以通过 nm-connection-editor 图形工具或 nmcli 命令来修改连接的DNS设置。

问题2:ip addr 命令显示了多个IP地址,0.0.1254.x.x 和一个 168.x.x 地址,我应该使用哪一个?

解答: 这几个地址有不同的用途:

  • 0.0.1:这是回环地址,用于本机内部通信,与外部网络无关。
  • 254.x.x:这是链路本地地址,当网卡配置为通过DHCP获取IP但无法联系到DHCP服务器时,系统会自动分配一个此类地址作为临时地址,通常意味着网络连接有问题。
  • 168.x.x(或 x.x.x, 16-31.x.x):这是私有网络地址(RFC 1918),通常是您在内网中用于与其他设备(如路由器、其他计算机)通信的实际IP地址。

在绝大多数情况下,您应该关注并使用那个私有网络地址(如 168.x.x),这才是服务器在局域网中的有效身份标识,如果服务器直接连接公网,那么它将拥有一个公网IP地址。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/38847.html

(0)
上一篇 2025年10月29日 19:16
下一篇 2025年10月29日 19:19

相关推荐

  • 如何有效监控云储服务器,保障性能与数据安全稳定?

    在数字化转型的浪潮中,数据已成为企业的核心资产,而云存储服务器作为承载这些资产的关键基础设施,其稳定性、性能和安全性直接关系到业务的连续性与竞争力,建立一套全面、高效的监控云储服务器体系,不再是可有可无的选项,而是现代IT运维的必然要求,有效的监控存储云服务器不仅能在故障发生时快速定位问题,更能实现前瞻性的风险……

    2025年10月25日
    02430
  • 服务器端口转发配置怎么设置?服务器端口映射详细教程

    服务器端口转发配置的核心在于精准定位业务需求,通过高效的转发规则实现网络流量的安全疏导与负载均衡,其成功的关键在于选择合适的转发工具、严谨的防火墙策略配置以及对连接状态的实时监控,一个配置得当的端口转发系统,不仅能隐藏真实服务器IP提升安全性,还能在复杂的网络拓扑中打通数据传输的任督二脉,是构建高可用网络架构的……

    2026年4月9日
    0661
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 服务器管理软件品牌有哪些?主流品牌介绍及产品对比

    服务器管理软件有哪些品牌?深度解析与选型指南服务器管理软件是现代IT基础设施的核心组件,用于监控、配置、维护服务器,支持虚拟化部署、自动化运维及故障恢复,是提升IT效率、保障业务连续性的关键工具,市场上存在多个品牌,各具特色,适用于不同规模、技术架构和业务需求的企业,本文将从虚拟化、IT基础设施管理、第三方监控……

    2026年2月1日
    01010
  • 网站访问慢游戏卡顿,VPS服务器加速器真的能解决这些问题吗?

    在当今这个对即时响应和流畅体验有着极高要求的数字时代,网络速度的快慢直接决定了用户体验的优劣、业务效率的高低乃至项目的成败,无论是企业运营的网站、开发者部署的应用,还是个人用户的在线娱乐,都离不开一个稳定而高速的网络环境,在此背景下,“加速VPS服务器”和“加速器”这两个概念频繁出现,它们从不同层面共同致力于解……

    2025年10月14日
    02160

发表回复

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