CentOS 7系统中如何具体查看DNS的配置文件地址操作呢?

在 CentOS 7 系统中,域名系统(DNS)扮演着至关重要的角色,它负责将我们易于记忆的域名(如 www.google.com)解析为机器能够识别的 IP 地址,无论是进行日常的网络访问、配置服务器服务,还是进行网络故障排查,了解如何查看和验证当前的 DNS 设置都是一项基本且必备的技能,本文将系统性地介绍在 CentOS 7 中查看 DNS 配置的多种方法,从核心配置文件到现代化的网络管理工具,再到实用的诊断命令,旨在为您提供一份全面而清晰的指南。

CentOS 7系统中如何具体查看DNS的配置文件地址操作呢?

查看核心配置文件:/etc/resolv.conf

在绝大多数 Linux 发行版中,/etc/resolv.conf 文件是系统用来存储 DNS 解析器配置的核心文件,当系统需要解析一个域名时,它会首先查阅这个文件来获取 DNS 服务器的地址。

您可以使用任何文本查看命令来打开它,最常用的是 cat

cat /etc/resolv.conf

一个典型的 /etc/resolv.conf 文件内容可能如下所示:

# Generated by NetworkManager
nameserver 192.168.1.1
nameserver 8.8.8.8
search mydomain.local
options timeout:2 attempts:3 rotate single-request

关键字段解析:

  • nameserver:这是最重要的指令,它指定了 DNS 服务器的 IP 地址,系统会按照从上到下的顺序依次尝试查询,您可以配置多个 nameserver 作为备用,在上面的例子中,系统会首先查询 168.1.1(通常是路由器或本地网关),如果失败,则会查询公共 DNS 8.8.8(Google DNS)。
  • search:此指令定义了一个域名列表,当您尝试访问一个主机名(server1)而不是完整域名(FQDN)时,系统会自动将 search 列表中的域名依次附加到主机名后面进行尝试查询,查询 server1 会依次尝试 server1.mydomain.local
  • options:用于调整解析器的行为,常见的选项包括:
    • timeout:设置等待 DNS 服务器响应的超时时间(秒)。
    • attempts:设置重试查询的次数。
    • rotate:在多个 nameserver 之间轮询查询,以实现负载均衡。
    • single-request:在某些网络环境下(如 VPN),可以防止因同时发送 A 和 AAAA 记录请求而导致的超时问题。

重要提示:在 CentOS 7 中,直接手动编辑 /etc/resolv.conf 文件通常只是临时生效,因为系统默认使用 NetworkManager 服务来管理网络,当网络服务重启或系统重启后,NetworkManager 可能会根据其自身的配置覆盖您手动修改的内容。

使用 NetworkManager 工具查看

为了获得更稳定和持久的配置信息,推荐使用 NetworkManager 提供的命令行工具 nmclinmcli 可以显示每个网络连接的详细配置,包括 DNS 设置。

您可以使用以下命令查看系统中的网络接口状态:

nmcli dev status

输出会列出所有网络设备,如 eth0ens33 等,以及它们的连接名称。

使用 nmcli dev show 命令后跟具体的接口名或连接名来查看详细信息:

CentOS 7系统中如何具体查看DNS的配置文件地址操作呢?

# 使用接口名
nmcli dev show ens33
# 或者使用连接名(通常与接口名相同)
nmcli connection show ens33

在命令的输出中,找到与 DNS 相关的行:

...
IP4.DNS[1]:                             192.168.1.1
IP4.DNS[2]:                             8.8.8.8
...

这里 IP4.DNS 字段明确显示了为该连接配置的 DNS 服务器地址,通过 nmcli 查看到的配置是 NetworkManager 管理的“真实”配置,也是系统重启后会保持的配置。

使用诊断工具测试 DNS 解析

仅仅查看配置是不够的,我们还需要验证 DNS 服务器是否正常工作,以下是三个常用的命令行工具。

nslookup (name server lookup)

nslookup 是一个经典且易于使用的 DNS 查询工具。

nslookup www.google.com

输出会显示查询的 DNS 服务器以及解析到的 IP 地址。

您还可以指定使用特定的 DNS 服务器进行查询,这对于排查问题非常有用:

nslookup www.baidu.com 8.8.8.8

这条命令会强制使用 Google 的 DNS 服务器(8.8.8.8)来查询 www.baidu.com 的 IP。

dig (domain information groper)

dig 是一个功能更强大、信息更详细的 DNS 查询工具,深受网络管理员的喜爱。

dig www.google.com

dig 的输出非常详尽,包含了 QUESTION SECTION(查询部分)、ANSWER SECTION(回答部分)、AUTHORITY SECTION(授权部分)和 ADDITIONAL SECTION(附加部分)等,如果您只想要 IP 地址,可以使用 +short 选项:

CentOS 7系统中如何具体查看DNS的配置文件地址操作呢?

dig +short www.google.com

host

host 命令是 dignslookup 的一个简化版本,输出相对简洁。

host www.google.com

它会直接显示域名对应的 IP 地址,以及所使用的 DNS 服务器。

方法对比与小编总结

为了方便您快速选择合适的方法,下表小编总结了上述几种查看 DNS 的途径。

方法 命令示例 描述 使用场景
配置文件 cat /etc/resolv.conf 查看系统当前正在使用的 DNS 解析器配置。 快速、直接地了解当前生效的 DNS 服务器。
NetworkManager nmcli dev show <interface> 查看 NetworkManager 管理的特定网络连接的 DNS 配置。 获取持久化、正确的配置,是修改配置的参考依据。
诊断工具 nslookup, dig, host 实际测试 DNS 解析是否工作正常。 验证 DNS 服务器连通性、排查解析故障。

相关问答 (FAQs)

问题 1:我修改了 /etc/resolv.conf 文件,添加了一个新的 DNS 服务器,但重启网络服务后配置又恢复了,这是为什么?

解答:这个问题的根本原因在于 CentOS 7 默认使用 NetworkManager 来管理网络配置。NetworkManager 在启动或网络状态变化时,会根据其内部存储的连接配置(位于 /etc/sysconfig/network-scripts/ 目录下)来重新生成 /etc/resolv.conf 文件,从而覆盖您的手动修改,要永久修改 DNS 设置,您应该使用 nmcli 命令(nmcli con mod <连接名> ipv4.dns "8.8.8.8 8.8.4.4")或者直接编辑对应的网络脚本文件(如 ifcfg-ens33),在其中添加或修改 DNS1DNS2 参数,然后重启网络服务。

问题 2:nslookupdig 命令提示 “command not found”,我该如何安装它们?

解答:在最小化安装的 CentOS 7 系统中,这些网络诊断工具可能默认没有被安装,它们通常包含在 bind-utils 软件包中,您可以使用 yumdnf(取决于您的系统版本)来轻松安装它,请以 root 用户或使用 sudo 执行以下命令:

sudo yum install bind-utils

安装完成后,您就可以正常使用 nslookupdighost 等强大的 DNS 查询工具了。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-05 03:28
下一篇 2025-10-05 03:34

相关推荐

发表回复

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

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信