什么是 resolvectl
"resolvectl" 是一个用于管理系统 DNS 解析配置的命令行工具。它是 systemd-resolved 服务的一部分,该服务是在许多基于 Systemd 的 Linux 发行版中用于管理网络配置和 DNS 解析的系统服务。
通过 resolvectl 命令,可以查看当前系统的 DNS 配置、添加或删除 DNS 服务器、启用或禁用特定的 DNS 解析器等。
以下是一些常用的 resolvectl 命令:
-
resolvectl status
:显示当前的 DNS 配置状态,包括当前使用的 DNS 解析器、域名搜索列表等信息。 -
resolvectl dns
:列出当前配置的 DNS 解析器列表。 -
resolvectl domain
:列出当前配置的域名搜索列表。 -
resolvectl query example.com
:执行 DNS 查询来获取指定域名的 IP 地址。 -
resolvectl dns <interface> <DNS server>
:设置指定网络接口的 DNS 解析服务器。 -
resolvectl domain <interface> <domain>
:设置指定网络接口的域名搜索列表。
请注意,使用 resolvectl 命令可能需要管理员权限(使用 sudo 或 root 用户)。
有关更多详细信息和使用示例,可以查阅您所使用的 Linux 发行版的文档或 resolvectl 命令的 man 手册页(man resolvectl
)。
使用resolvectl
添加DNS服务器
要使用 resolvectl
命令添加 DNS 服务器,请按照以下步骤进行操作:
-
打开终端或命令行界面。
-
使用以下命令列出当前的 DNS 配置,以确定要添加 DNS 服务器的网络接口:
shellresolvectl status
这将显示当前的 DNS 配置信息,包括网络接口和已配置的 DNS 服务器。
-
使用以下命令添加 DNS 服务器:
shellsudo resolvectl dns <interface> <DNS server>
将
<interface>
替换为要添加 DNS 服务器的网络接口标识符,例如 "wlan0" 或 "eth0"。将<DNS server>
替换为要添加的 DNS 服务器的 IP 地址。例如,要将 DNS 服务器设置为 Google Public DNS(8.8.8.8),并将其添加到 "wlan0" 接口上,可以运行以下命令:
shellsudo resolvectl dns wlan0 8.8.8.8
-
输入您的管理员密码以确认命令。
-
您可以使用
resolvectl status
命令验证新的 DNS 服务器是否已成功添加到指定的网络接口。
如果您想删除已添加的 DNS 服务器,可以使用 resolvectl dns
命令结合 --reset
选项来恢复默认配置。例如:
shell
sudo resolvectl dns <interface> --reset
请确保将 <interface>
替换为要重置 DNS 服务器的网络接口标识符。
添加多个 DNS 服务
resolvectl
可以同时添加多个 DNS 服务器到系统配置中。通过添加多个 DNS 服务器,可以提供备用服务器,以便在一个服务器不可用时使用其他服务器进行 DNS 解析。
要同时添加多个 DNS 服务器,应使用 resolvectl
命令多次执行 dns
子命令。每次执行命令时,指定要添加 DNS 服务器的网络接口和相应的 DNS 服务器 IP 地址。
以下是添加多个 DNS 服务器的示例:
shell
sudo resolvectl dns <interface> <DNS server 1>
sudo resolvectl dns <interface> <DNS server 2>
sudo resolvectl dns <interface> <DNS server 3>
将 <interface>
替换为要添加 DNS 服务器的网络接口标识符,例如 "wlan0" 或 "eth0"。将 <DNS server 1>
, <DNS server 2>
, <DNS server 3>
等依次替换为要添加的 DNS 服务器的 IP 地址。
例如,要同时添加 Google Public DNS (8.8.8.8) 和 Cloudflare DNS (1.1.1.1) 到 "wlan0" 接口上,可以运行以下命令:
shell
sudo resolvectl dns wlan0 8.8.8.8
sudo resolvectl dns wlan0 1.1.1.1
这样就在指定的网络接口上添加了两个 DNS 服务器。
注意,DNS 解析将按照添加的顺序进行尝试。如果一个服务器无法响应,系统将尝试使用下一个服务器进行解析。