如何在 WinUtil 中为 Windows 选择并配置 Cloudflare、Quad9 或 AdGuard 等 DNS 服务? 如何在 WinUtil 中为 Windows 选择并配置 Cloudflare、Quad9 或 AdGuard 等 DNS 服务【免费下载链接】winutilChris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates项目地址: https://gitcode.com/GitHub_Trending/wi/winutil在 Windows 11 上手动逐个修改网络适配器的 DNS 既繁琐又容易漏掉 IPv6 地址。WinUtil 的 Tweaks 选项卡提供了一个 DNS 下拉框选择供应商后一次为所有处于活动状态的网卡写入 IPv4 和 IPv6 DNS 服务器可选供应商包括 Cloudflare、Quad9、AdGuard、Mullvad、Google 和 Open_DNS 等。本文介绍如何启动 WinUtil、在 Tweaks 标签页中选择 DNS 供应商、执行变更以及如何判断变更是否成功。适用前提来自 Getting Started 指南操作系统Windows 11Windows 10 不受支持PowerShell 5.1 或更高版本Windows 11 自带需要管理员权限需要网络连接启动 WinUtil以管理员身份打开 PowerShell 或 Terminal例如右键点击 Windows 开始按钮选择 Terminal (Admin)然后运行稳定版启动命令irm https://christitus.com/win | iexirm下载脚本、iex执行它。首次启动会下载最新版本并初始化界面需要等待几秒到几十秒。文档同时提供开发分支命令irm https://christitus.com/windev | iex但官方说明该分支面向测试、包含实验性改动本文主路径使用稳定版。在 Tweaks 标签页选择 DNS 供应商WinUtil 打开后是标签页界面切换到Tweaks选项卡找到DNS - Set to:下拉框配置项为WPFchangedns位于 Advanced Tweaks - CAUTION 分类下定义见 config/tweaks.json。下拉框中可选的值包括Default不做任何 DNS 修改保持现状DHCP把 DNS 交还给 DHCP 服务器自动分配用于撤销手动设置的 DNSGoogle通用公共 DNSCloudflare基础解析Cloudflare_Malware在 Cloudflare 基础上屏蔽恶意网站Cloudflare_Malware_Adult同时屏蔽恶意网站与成人内容Open_DNSOpenDNS 解析服务Quad9侧重安全屏蔽已知恶意域名AdGuard_Ads_Trackers屏蔽广告与跟踪请求AdGuard_Ads_Trackers_Malware_Adult屏蔽广告、跟踪、恶意网站和成人内容并尽可能启用 Safe SearchMullvad及多个过滤级别变体如 Mullvad_Ads_Trackers、Mullvad_Ads_Trackers_Malware 等。各选项的定位描述见 Tweaks 指南的 DNS 小节按你的优先级取舍要速度选 Cloudflare要屏蔽恶意域名选 Quad9 或 Cloudflare_Malware要去广告选 AdGuard 系列要 DoH 加密选 Mullvad 系列。具体写入的 IP 地址在 config/dns.json 中定义例如Cloudflare: { Primary: 1.1.1.1, Secondary: 1.0.0.1, Primary6: 2606:4700:4700::1111, Secondary6: 2606:4700:4700::1001, DohTemplate: https://cloudflare-dns.com/dns-query }, Quad9: { Primary: 9.9.9.9, Secondary: 149.112.112.112, Primary6: 2620:fe::fe, Secondary6: 2620:fe::9, DohTemplate: https://dns.quad9.net/dns-query }也就是说 WinUtil 不会让你手填 IP每个供应商的 IPv4/IPv6 主备地址和 DoH 模板都是配置里预设好的。执行 DNS 变更在下拉框中选择目标供应商后点击页面底部的Run Tweaks按钮。执行行为由 Invoke-WPFtweaksbutton.ps1 决定几个关键点下拉框当前值如果不是Default工作流会先调用 Set-WinUtilDNS 应用 DNS 变更再依次执行你勾选的其他 tweak如果只改了 DNS 下拉框而没有勾选任何 tweakRun Tweaks 仍然只会执行 DNS 变更反之如果下拉框是Default且没勾选任何 tweak会弹出提示 Please check the tweaks you wish to perform. 并中止如果 DNS 变更失败进度指示器显示DNS change failed任务栏图标变为警告状态后续的 tweak 不会执行。因此把 DNS 变更当作独立任务时只需改下拉框、不勾选其他项、点 Run Tweaks 即可。Set-WinUtilDNS的实际写入逻辑用Get-NetAdapter筛选所有Status为Up的网卡逐台处理从dns.json读取所选供应商的地址用Set-DnsClientServerAddress分别写入 IPv4 和 IPv6 服务器地址若系统支持Add-DnsClientDohServerAddress即支持 DNS over HTTPS按DohTemplate注册 DoH 模板并在成功后执行Clear-DnsClientCache清除 DNS 缓存控制台会打印 Ensuring DNS is set to 供应商名 on the following interfaces: 并列出受影响的网卡。验证变更结果判断方式按界面反馈和日志两层执行中/成功完成后终端会打印-- Tweaks are Finished ---分隔块任务栏图标恢复并显示勾选状态进度指示器为 Tweaks finished。失败进度指示器显示DNS change failed任务栏图标为警告状态。日志WinUtil 会把每次 DNS 操作写入日志成功时记录DNS provider change completed: 供应商名失败时以 ERROR 级别记录DNS provider 供应商名 was not completed: 错误信息。变更是否真正生效也可以在 Windows 网络适配器属性里查看该网卡的 IPv4/IPv6 DNS 是否已变为 config/dns.json 中对应供应商的地址如 Cloudflare 的1.1.1.1/1.0.0.1。已知限制与撤销方式以下是代码和文档中明确的行为边界Default不等于撤销。选Default时Set-WinUtilDNS直接返回只记录 no DNS changes applied不改动现有 DNS。要撤销手动设置的 DNS请选DHCP它会执行Set-DnsClientServerAddress -ResetServerAddresses和netsh interface ip set dnsservers ... sourcedhcpIPv4/IPv6 各一次并清理已注册的 DoH 条目。Mullvad 系列是 DoH-onlydns.json中DohOnly: true。如果当前系统不支持Add-DnsClientDohServerAddress变更会失败并告警 DNS provider Mullvad requires DNS over HTTPS, which is not supported on this system.且不会写入任何普通 DNS。非 DoH-only 供应商的 DoH 注册失败时会自动降级继续以普通 DNS 完成变更并给出警告 DNS over HTTPS setup for provider 供应商 failed; continuing with plain DNS.日志记为 WARN 级别。供应商名必须精确匹配dns.json中的键区分大小写的字符串匹配。匹配不到时会报 DNS provider 名称 was not found in configuration. 并返回失败。Mullvad 的主解析器不可用时WinUtil 会改用最近的 Mullvad 备用解析器以保持连通性该回退可能使用不同的过滤级别、限制更少见 Tweaks 指南。DNS 下拉框属于Advanced Tweaks - CAUTION分类。文档建议在应用此类改动前先创建还原点Tweaks 标签页 Essential Tweaks 中的 Create Restore Point。相关文档Tweaks 指南DNS 各供应商的定位说明与预设使用方式Getting Started系统要求、启动方式与界面说明WPFchangedns 配置参考下拉框全部可选项pester/dns.Tests.ps1Set-WinUtilDNS的行为测试覆盖 IPv4/IPv6 分别写入、DoH 模板应用、DHCP 回退和 DoH-only 失败路径【免费下载链接】winutilChris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates项目地址: https://gitcode.com/GitHub_Trending/wi/winutil创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考