如何在Linux系统中查看DNS配置?

在 Linux 中查看 DNS 配置,可以使用 cat 命令查看 /etc/resolv.conf 文件。

Linux 查看 DNS 配置

在 Linux 系统中,正确配置 DNS(域名系统)是确保网络连接顺畅和域名解析正常的关键,以下是查看和管理 Linux DNS 配置的详细步骤和相关信息。

一、使用cat 命令查看 DNS 配置文件

Linux 系统的 DNS 配置通常存储在/etc/resolv.conf 文件中,可以使用cat 命令来查看该文件的内容:

cat /etc/resolv.conf

示例输出

This file is managed by man:systemdresolved(8). Do not edit.
This is a dynamic resolv.conf file for connecting local clients directly to
all DNS servers available on the local machine. This file lists all
configured search domains.
#
For example, if your domain is "example.com", this file might contain
nameserver 127.0.0.53
search example.com
nameserver 8.8.8.8
nameserver 8.8.4.4

在这个例子中,可以看到系统使用了 Google 的公共 DNS 服务器(IP 地址为 8.8.8.8 和 8.8.4.4)。

二、使用systemdresolve 命令查看 DNS 设置

现代 Linux 发行版通常使用systemdresolved 服务来管理 DNS 设置,可以使用以下命令查看当前的 DNS 设置:

如何在Linux系统中查看DNS配置?

查看所有 DNS 服务器

systemdresolve status

示例输出

Global
          DNSSEC NTA: 10 .infra
       Links: ens33
           Current Scoped DNS Servers: 192.168.1.1
       Default Routing Zone: no
       Network is unreachable: no
    Active DNS Servers: 192.168.1.1
                       ::1
        DNS Nameservers: 192.168.1.1
                       ::1

查看特定接口的 DNS 服务器

systemdresolve i ens33 status

示例输出

Link 3 (ens33)
         Current Scoped DNS Servers: 192.168.1.1
         DNSSEC NTA: 10 .infra
         Active DNS Servers: 192.168.1.1
                           ::1
         DNS Nameservers: 192.168.1.1

查看缓存的 DNS 记录

systemdresolve statistics

示例输出

DNS server statistics:
                  current time:      now;          since system startup: 1 days 0 hours 0 minutes
                 current time:      1 min 30 sec;  since last restart:  1 days 0 hours 0 minutes
                  cache hits:        324;          negative answers:    20
                  cache misses:       0;          responses from cache: 324
                  outgoing queries:     324;          incoming queries:    20
                  forwarded queries:       0;          dropped queries:      0

三、修改 DNS 配置

临时修改(仅当前终端会话有效)

可以通过设置环境变量来临时修改 DNS 服务器:

export DNS_SERVER="8.8.8.8"
echo $DNS_SERVER | sudo tee /etc/resolv.conf > /dev/null

永久修改(适用于所有用户和会话)

编辑/etc/resolv.conf 文件,添加或修改以下内容:

nameserver 8.8.8.8
nameserver 8.8.4.4

或者,如果使用systemdresolved,可以创建或修改/etc/systemd/resolved.conf 文件:

[Resolve]
DNS=8.8.8.8 8.8.4.4

然后重启systemdresolved 服务:

sudo systemctl restart systemdresolved

四、常见问题与解答

如何在Linux系统中查看DNS配置?

问题 1:如何恢复默认的 DNS 配置?

答:如果您之前备份了原始的resolv.conf 文件,只需将其恢复到原位置即可,如果没有备份,可以尝试以下命令来恢复默认的 Google 公共 DNS:

sudo cp /run/systemd/resolve/stubresolv.conf /etc/resolv.conf

或者编辑/etc/systemd/resolved.conf 文件,将 DNS 设置改为默认值,然后重启systemdresolved 服务。

问题 2:为什么我修改了 DNS 配置后没有生效?

答:可能有以下原因:

配置文件格式错误,请检查配置文件的语法是否正确。

如何在Linux系统中查看DNS配置?

未正确保存配置文件,确保对配置文件的修改已经保存。

DNS 服务器不可用,尝试更换其他可用的 DNS 服务器。

systemdresolved 服务未重启,如果是通过systemdresolved 配置的 DNS,修改后需要重启该服务。

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/134704.html

Like (0)
小编小编
Previous 2025年2月5日 19:11
Next 2025年2月5日 19:19

相关推荐

发表回复

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