蓝易云 :【ubuntu】DNS设置工具resolvectl安装教程
Ubuntu DNS 设置工具 resolvectl 使用教程 一、resolvectl 是什么resolvectl是 span stylecolor:redsystemd-resolved/span 服务自带的命令行管理工具用于查看和控制系统的 DNS 解析配置。它并不是一个需要单独安装的第三方软件而是随systemd一起分发的组件。在 Ubuntu 18.04 及以后的版本中systemd-resolved默认已经启用resolvectl开箱即用。 早期版本中该工具名为systemd-resolve从 systemd 239 版本起正式更名为resolvectl两者功能一致。二、确认与安装resolvectl 是否可用 │ ├── 可用 ──▶ 直接使用 │ └── 不可用 │ ├── systemd-resolved 未安装 ──▶ 安装 systemd-resolved │ └── systemd-resolved 已安装但未启动 ──▶ 启动服务第一步检查是否已存在resolvectl --version解释直接查看resolvectl的版本号。如果输出类似systemd 245 (245.4-4ubuntu3)的信息说明工具已就绪无需任何安装操作。如果提示command not found则需要进行下一步。第二步安装 systemd-resolvedsudo apt update sudo apt install systemd-resolved -y解释apt update刷新软件源索引确保获取最新的包信息。apt install systemd-resolved安装 resolved 服务及其附带的resolvectl工具。-y参数自动确认安装跳过手动交互。在 span stylecolor:redUbuntu 22.04 / 24.04/span 中该包已从systemd主包中拆分为独立包systemd-resolved因此需要显式安装。第三步启动并设为开机自启sudo systemctl enable --now systemd-resolved解释enable将服务设置为开机自动启动--now参数表示span stylecolor:red立即启动/span服务而不需要额外执行start命令。两步合一简洁高效。第四步验证服务状态systemctl status systemd-resolved解释查看服务运行状态。输出中显示Active: active (running)即代表服务正常运行 ✅三、resolvectl 常用操作命令功能说明resolvectl status查看所有接口的DNS配置概览resolvectl dns查看当前生效的DNS服务器resolvectl dns eth0 8.8.8.8 1.1.1.1为指定接口设置DNS服务器resolvectl domain eth0 example.com为接口设置搜索域resolvectl query www.example.com手动解析域名resolvectl flush-caches清空本地DNS缓存resolvectl statistics查看缓存命中率等统计数据查看当前 DNS 全局状态resolvectl status解释输出系统中每个网络接口当前使用的 DNS 服务器地址、搜索域、DNSSEC 状态以及 DNS-over-TLS 状态等关键信息。这是日常排查 DNS 问题的span stylecolor:red第一条命令/span。为指定网卡设置 DNS 服务器 sudo resolvectl dns ens33 223.5.5.5 8.8.8.8解释将网卡ens33的 DNS 服务器设置为阿里公共 DNS223.5.5.5和 Google DNS8.8.8.8。注意这种方式设置的 DNS 是span stylecolor:red临时生效/span的系统重启或网络服务重启后会被还原。手动解析测试resolvectl query www.example.com解释类似dig或nslookup的功能但走的是systemd-resolved内部解析通道。输出会显示解析结果、来源接口以及使用的协议适合验证 resolved 的配置是否生效。清空 DNS 缓存 sudo resolvectl flush-caches解释systemd-resolved内置了本地 DNS 缓存机制。当修改了 DNS 服务器或者域名解析记录变更后需要清空缓存才能获取最新结果。该命令等价于 Windows 上的ipconfig /flushdns。四、永久生效的配置方法临时命令在重启后失效如需span stylecolor:red持久化配置/span应编辑 resolved 的主配置文件sudo nano /etc/systemd/resolved.conf修改内容示例[Resolve] DNS223.5.5.5 8.8.8.8 FallbackDNS114.114.114.114 DNSSECno DNSOverTLSno逐行解释DNS223.5.5.5 8.8.8.8—— 主 DNS 服务器列表空格分隔多个地址FallbackDNS114.114.114.114—— 当主 DNS 全部不可用时的span stylecolor:red备用 DNS/spanDNSSECno—— 关闭 DNSSEC 验证某些内网环境下开启会导致解析失败DNSOverTLSno—— 关闭 DNS-over-TLS 加密传输按需开启保存后重启服务sudo systemctl restart systemd-resolved解释重启systemd-resolved服务使配置文件中的修改立即生效。重启后可再次用resolvectl status确认新配置已被应用。五、常见问题处理 ⚠️问题/etc/resolv.conf中显示nameserver 127.0.0.53实际 DNS 是什么这是正常现象。127.0.0.53是systemd-resolved的本地监听地址所有 DNS 请求先到达本地 resolved 服务再由它转发到真实的上游 DNS。通过resolvectl dns可以看到真正使用的上游服务器地址。问题想彻底绕过 systemd-resolved 怎么办sudo systemctl disable --now systemd-resolved sudo rm /etc/resolv.conf sudo echo nameserver 223.5.5.5 /etc/resolv.conf解释停用 resolved 后删除原本指向 resolved 的/etc/resolv.conf软链接手动创建新文件并写入 DNS 地址。这种方式适合对 resolved 有兼容性问题的特殊环境但会失去缓存和多接口管理等功能
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2420122.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!