You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2 Ubuntu中仅单个主机无法通过无DNS后缀的裸主机名访问的问题排查求助

WSL2 Ubuntu中仅单个主机无法通过无DNS后缀的裸主机名访问的问题排查求助

各位大佬好,我碰到了一个特别奇怪的WSL2网络问题,折腾了好久没搞明白,想请大家帮忙分析下:

环境背景

  • 系统:Windows 11 Pro,搭配默认安装的WSL2 Ubuntu发行版
  • 网络配置:DHCP分配了默认搜索域mydomain.dev
  • DNS服务:内网用Pi-hole做DNS服务器,所有内网主机都手动添加了带完整后缀的DNS记录(比如host1.mydomain.dev对应192.168.1.254)

奇怪的现象对比

Windows主机及其他客户端(正常)

所有三台内网主机都能通过裸主机名直接访问,系统会自动补全mydomain.dev后缀,比如:

C:\Users\Isaac>ping host1
Pinging host1.mydomain.dev [192.168.1.254] with 32 bytes of data:
Reply from 192.168.1.254: bytes=32 time=1ms TTL=64

WSL2 Ubuntu(异常)

只有2台主机能通过裸主机名正常访问,第三台host1必须手动加上后缀才能解析成功:

  • 直接ping裸主机名报错:
isaac@ubuntu:~$ ping host1
ping: host1: Name or service not known
  • 加后缀后正常:
isaac@ubuntu:~$ ping host1.mydomain.dev
PING host1.mydomain.dev (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254 (192.168.1.254): icmp_seq=1 ttl=63 time=1.08 ms

而另外两台(比如host2)用裸主机名却完全正常:

isaac@ubuntu:~$ ping host2
PING host2 (192.168.1.251) 56(84) bytes of data.
64 bytes from 192.168.1.251 (192.168.1.251): icmp_seq=1 ttl=63 time=2.27 ms

当前WSL网络配置

我没有修改过WSL内的任何网络配置,/etc/resolv.conf是WSL自动生成的,指向Hyper-V接口的DNS地址(应该是转发到Windows主机的解析器):

isaac@ubuntu:~$ cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false

nameserver 172.22.96.1

我尝试过的操作

我在Pi-hole里给host1额外加了一条不带后缀的DNS记录(即host1直接指向192.168.1.254),之后WSL里就能用裸主机名访问host1了;但删掉这条额外记录后,又回到了解析失败的状态。而另外两台正常的主机,Pi-hole里只有带完整后缀的单条记录。

我的困惑

这个问题不是普遍的DNS后缀补全失效(毕竟另外两台主机完全正常),而且Windows端所有主机都能正常解析,为什么唯独WSL里host1的裸主机名无法自动补全后缀?之前看到有类似问题被标记为重复,但那个问题是所有主机都无法解析,和我的情况完全不一样,实在搞不懂哪里出问题了,求各位大佬指点!

备注:内容来源于stack exchange,提问作者Isaac Dontje Lindell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 07:33:01