【ubuntu】 DNS 设置工具 resolvectl

什么是 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 服务器,请按照以下步骤进行操作:

  1. 打开终端或命令行界面。

  2. 使用以下命令列出当前的 DNS 配置,以确定要添加 DNS 服务器的网络接口:

    shell 复制代码
    resolvectl status

    这将显示当前的 DNS 配置信息,包括网络接口和已配置的 DNS 服务器。

  3. 使用以下命令添加 DNS 服务器:

    shell 复制代码
    sudo resolvectl dns <interface> <DNS server>

    <interface> 替换为要添加 DNS 服务器的网络接口标识符,例如 "wlan0" 或 "eth0"。将 <DNS server> 替换为要添加的 DNS 服务器的 IP 地址。

    例如,要将 DNS 服务器设置为 Google Public DNS(8.8.8.8),并将其添加到 "wlan0" 接口上,可以运行以下命令:

    shell 复制代码
    sudo resolvectl dns wlan0 8.8.8.8
  4. 输入您的管理员密码以确认命令。

  5. 您可以使用 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 解析将按照添加的顺序进行尝试。如果一个服务器无法响应,系统将尝试使用下一个服务器进行解析。

相关推荐
sghuter20 小时前
Ubuntu安装Redis
redis·ubuntu·bootstrap
HwJack2021 小时前
HarmonyOS响应式布局与窗口监听:让界面像呼吸般灵动的艺术
ubuntu·华为·harmonyos
gordon~91 天前
Windows 11 wsl 中安装的Ubuntu-24.04 中装docker
windows·ubuntu·docker
XXOOXRT1 天前
Ubuntu搭建Java项目运行环境(JDK17+MySQL8.0)超详细教程
java·linux·mysql·ubuntu
吴声子夜歌1 天前
TypeScript——类型基础(二)
linux·ubuntu·typescript
vvw&1 天前
如何从 Ubuntu 24.04 升级到 Ubuntu 25.04
linux·运维·服务器·ubuntu
tobebetter95271 天前
Debian / Ubuntu openclaw 浏览器自动化
ubuntu·自动化·debian
王小义笔记1 天前
解决使用WSL客户端养龙虾后C盘空间告急的问题
ubuntu·ai·键盘·openclaw
STKingA11 天前
Win11 WSL2+Ubuntu开发环境配置全攻略
linux·运维·ubuntu
吴声子夜歌1 天前
TypeScript——内置工具类型、类型查询、类型断言和类型细化
linux·ubuntu·typescript