我正在尝试在我的个人 Windows 11(内部版本 22621.1105)机器(Lenovo ThinkPad)上通过 HTTPS 启用 DNS。我是这台机器上唯一的用户帐户(MS 帐户、管理员)。
在 DNS 的设置中(例如链接),我可以指定首选/备用 DNS(我使用的是 Cloudflare 的 1.1.1.1/1.0.0.1)——但是 DNS over HTTPS 组合框被禁用(并显示“关闭”)。在这些设置的顶部,它会显示类似“*其中一些设置已被禁用或由您的组织管理”的文本(翻译自德语):
因此,我检查了组策略,确实在“计算机配置/管理模板/网络/DNS 客户端”下,“通过 HTTPS (DoH) 名称解析配置 DNS ”策略已启用并配置为“禁止 DoH ”。当我更改此配置或禁用该策略时,重新打开组策略后它再次显示“禁止 DoH”。相反,我可以(永久地)更改其他策略,因此无论出于何种原因我都无法更改此特定策略。
所以我的问题是:如何更改此政策和/或我无法更改它的原因是什么?
感谢您的帮助!
更新:
我还尝试了harrymc的答案中提出的解决方案(在注册表项下添加一个EnableAutoDoh
具有值的 DWORD )。因此 DNS 客户端无法执行名称解析,因此该注册表项似乎强制执行 DoH,但组策略不允许这样做,因此 DNS 客户端将无法解析名称。因此我很确定问题是我无法更改上述组策略。2
HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
更新 2:
我发现该策略HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
作为值为 1 的 DWORD存储在注册表中DoHPolicy
。当我删除该值时,我可以通过设置中的下拉菜单启用 DoH,它也有效。但是当我重新启动机器或尝试更改此策略时,gpedit.msc
它会再次创建该值并将其设置为 1。所以某些进程似乎设置了这个值......我会在有更多时间和发布时进一步调查当我找到原因时(如果没有人比我快;))。
“DNS over HTTPS”下拉菜单通常不应被禁用。
通过组策略启用 DoH
gpedit.msc
)在 Windows 10 注册表中启用 DoH
regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
EnableAutoDoh
2的新 DWORD您可以在文章
What DNS over HTTPS (DoH) Is & How to Enable in Windows 10中找到更多信息。
如果这些方法都不起作用,那么问题就更加深刻了。
我找到了解决我的问题的方法,所以在这里对于那些偶然发现相同或类似问题的人来说:
正如我的问题(更新)中已经发布的那样,我无法更改“通过 HTTPS (DoH) 名称解析配置 DNS ”组策略(设置为“禁止 DoH ”)。经过一些调查后,似乎某些进程在启动时将此策略设置为“禁止 DoH”,并且每次通过组策略编辑器(
gpedit.msc
) 更改它后。此策略的设置存储为名称
DoHPolicy
在 下的注册表值HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient
。因此,我使用Process Monitor来跟踪哪些进程访问或更具体地设置此值,并发现在通过组策略编辑器设置或删除该值后,名为vpnagent.exe
(创建和)的进程将值设置为“1”(对应到“禁止 DoH ”)。该服务
vpnagent.exe
是 VPN 客户端Cisco AnyConnect 安全移动代理的一部分。我不知道为什么它坚持设置组策略,但我发现我的问题的唯一解决方案(除了卸载软件)是在更改策略之前停止服务或通过删除注册表值regedit.exe
(但这有每次重新启动后完成)。