You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows系统如何禁用DNS搜索域或设置搜索域为`.`以支持无点域名解析?

Windows系统如何禁用DNS搜索域或设置搜索域为.以支持无点域名解析?

我明白你遇到的问题了——你用的解析器支持直接解析无点域名(比如theshake这类bare TLD),Linux上能通过移除搜索域配置实现,但Windows上直接加.到搜索域不管用,只有用Resolve-DnsName -DnsOnly才能正常解析。下面给你几个可行的解决办法:

方法1:修改DNS后缀搜索设置,禁用自动补全

  1. 打开网络和共享中心,点击当前使用的网络适配器,选择属性,找到Internet 协议版本4 (TCP/IPv4) 后点击属性,再进入高级设置。
  2. DNS标签页:
    • 先删除所有已有的「DNS后缀搜索列表」条目,不要保留任何内容;
    • 取消勾选「附加主DNS后缀和连接特定的DNS后缀」,如果需要DNS注册功能,可保留「注册此连接的地址在DNS中」;
    • 注意:Windows不支持将.添加到搜索列表,这种写法不会生效。
  3. 点击确定保存设置后,测试Resolve-DnsName theshake是否正常解析。

如果DHCP会自动添加搜索域,可通过命令行强制清空后缀(替换以太网为你的适配器名称,可用Get-NetAdapter查看):

netsh interface ipv4 set dns "以太网" suffixes ""

方法2:修改注册表,强制单标签域名按FQDN解析

Windows默认会给单标签域名自动补全搜索后缀,我们可以通过注册表修改这个行为:

  1. 按下Win+R,输入regedit打开注册表编辑器;
  2. 导航到路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
  3. 右键空白处,选择新建 -> DWORD(32位)值,命名为AppendToMultiLabelName
  4. 双击该值,将数值数据设为0,基数选择十进制
  5. 重启DNS缓存服务(或直接重启电脑)生效,命令行重启命令:
Restart-Service Dnscache

这个设置会让Windows对单标签域名直接发送DNS查询(相当于自动在末尾添加.),不再尝试补全搜索后缀。

方法3:禁用NetBIOS解析

你用-DnsOnly能成功解析,说明Windows默认会优先尝试NetBIOS解析而非纯DNS查询,这也是报错的原因之一。可以禁用NetBIOS来解决:

  1. 回到IPv4的高级设置,切换到WINS标签页;
  2. 选择禁用TCP/IP上的NetBIOS,点击确定保存;
  3. 再次测试Resolve-DnsName theshake,应该就能正常返回结果了。

最后别忘了将DNS服务器设置为你提供的HNSDNS地址:139.144.68.241139.144.68.242,确保解析请求发送到正确的服务器。

备注:内容来源于stack exchange,提问作者Rithvik Vibhu

火山引擎 最新活动