如图所示,dns 为路由器的时候,nslookup 解析非常迅速,但是 ping 会经常超时,多 ping 几次又可以找到主机 ip 。
尝试过用 wireshark 抓包,ping 的时候解析看起没有什么问题,响应的很迅速(也有正确的结果),但就是会超时。
如果手动设置成 1.1.1.1 (Encrypted) 即 DoH 的话 ping 的响应也很快了。 那么到底是什么原因呢……
1
zlowly 2021-12-23 16:40:01 +08:00
windows 下 nslookup 是直接访问 dns 服务端口进行查询,而 ping 好像则是通过 DNS Client 、DNS cache 这些服务来查询域名,期间还有 NOSTS ,NetBIOS/WINS, LMHOST 之类的参与,所以超时有可能是是这些中间服务、winsock 之类的问题吧。试试关掉反病毒软件,防火墙之类的,然后用重置 winsock 、tcp/ip 栈之类的方式弄一下。
|
2
tsanie OP @zlowly 谢谢回答,我也搜了一圈该试的都试了,全新安装的 win11 ,只有自带的 defender ,防火墙也是没动,哎,脑壳痛。手机、mac 之类的其他设备都没有碰到这个问题,所以感觉很奇怪。
而且最奇怪的是只要开了 DoH 就好了,否则即使设置成 ISP 默认的 dns 也是 timeout |
3
om2mo 2021-12-23 17:05:28 +08:00 via iPhone
你的路由出口有双网关?
|
4
Tumblr 2021-12-23 17:08:30 +08:00
都快 2022 年了,建议用 Resolve-DnsName 和 Test-Connection 。。。
主要是 PowerShell 的 cmdlet 有更的可用参数。 |
6
tsanie OP @Tumblr Resolve-DnsName 和 Test-Connection 都很慢,现象就是描述里的那样 timeout ,多试几次可以成功
![resolve.png]( https://s2.loli.net/2021/12/23/ANVsjDrgpqdbe3i.png) |
7
wd 2021-12-23 17:15:32 +08:00 via iPhone
你先确定下 ping 那个是 dns 解析失败的错误。nslookup 只做 dns 解析,但是 ping 不是啊
|
8
Tumblr 2021-12-23 17:21:34 +08:00
@tsanie #6 看样子是你的 dns 服务器有问题?看上去你是用了一个外部的域名绑定了你的路由器( DNS 服务器)。在其它设备上是否也有类似的问题呢?还是只有这台 Windows 呢?确实有点奇怪,可以尝试 resolve-dnsname 的时候指定 server ,以及适当用其它参数(比如 tcponly 、quicktimtout 之类的)。
|
9
tsanie OP @wd 提示的是 “could not find host”,而且紧接着重试一次就好了,不是某一个主机如此,qq.com www.baidu.com 都这样,ping 服务器应该是不会有问题的。
其实主要起因时是这么设置时 chrome 打开网页会提示 ERR_NAME_NOT_RESOLVED ,然后多刷几次就好了,所以我怀疑是解析问题,chrome 的安全 dns 是关闭的。 https://sm.ms/image/MTigcGZKFvn7rAC 其他浏览器和各种客户端比如 steam 也是这种表现,但是系统 dns 只要设置成 encrypted 一切问题就没有了…… |
10
gesse 2021-12-23 17:27:15 +08:00
windows 的 dns 系统一直非常奇葩,现在还是 VPN 拨号上网以后,DNS 不走 VPN 接口虚拟网卡的 DNS 设置, 非走本地网卡的 DNS 设置,还有就是楼主说的 nslookup 和 ping 结果不同的问题,恶心至极。
|
11
gesse 2021-12-23 17:28:31 +08:00
好多好多年了。
|
12
tsanie OP @Tumblr 是绑定了的,路由器和这台 win11 的 hosts 里都有 10.0.10.100 router.tsanie.org ,不过其他设备都没有这种问题,这台主机是双系统,macOS 下同样的硬件是没问题的,我记得之前 win10 下也从来没有碰到过这种问题,就很奇怪。
起因就是刚装完 win11 ,edge 浏览器打开网页各种卡顿,然后 ERR_NAME_NOT_RESOLVED ,多刷几次又好,看起是某个响应卡起,等 dns 缓存起来了就又可以了…… |
13
qq296015668 2021-12-23 17:29:39 +08:00
|
14
tsanie OP @qq296015668 我后来把网络设备的 IPv6 关闭了也如此……
|
15
gesse 2021-12-23 17:38:14 +08:00
windows 的 DNS 系统就让人很头大。
|
16
joshu 2021-12-23 17:40:07 +08:00
你是否有没有在用或在用的网卡(比如无线网卡,虚拟网卡等),填写了一个你当前不可达的 DNS 地址
|
17
kokutou 2021-12-23 17:45:20 +08:00 via Android
开了代理软件?
|
18
tsanie OP |
19
aflow 2021-12-23 18:17:35 +08:00
看起来你的 windows 默认优先使用 ipv6 ,你试试 ping -4 qq.com 应该是可以通的,你可以看一下为什么会优先 ipv6
我随便搜了下 试试 ``` ipconfig /flushdns nbtstat -R ``` 或者 https://theitbros.com/ping-returns-ipv6-address-ping-ipv4/这里的方案 随便找的,我也不知道有没有用🤷♂️ |
20
qq296015668 2021-12-23 18:26:27 +08:00
@tsanie
win10 也存在。间接性的 |
22
jim9606 2021-12-23 23:48:08 +08:00
因为系统的名称解析还会用别的解析方法,例如 NetBIOS 、LLMNR 、mDNS ( iTune 安装的 Bonjour )、DoH (新版 Win10 ),但 nslookup 固定只会用 DNS ,而且不会使用缓存。
|
23
tsanie OP 每次更改了设置准备测试之前都是 ipconfig /flushdns 重置 dns 缓存过的
@aflow 应该不是,我试了有时候反而-4 了 timeout @qq296015668 这就悲剧了 @kokutou 似乎不是,我把蒲公英服务完全退了,网络设备禁用了也这样 @jim9606 把能关的关了,这系统没装 bonjour ,我就怀疑是 DoH 的问题,因为主动设置了支持 DoH 的 dns 服务器并选择 Encrypted 后一切都是通畅的,否则就算是设置例如 114.114.114.114 的 dns 服务器也是这样。但是该怎么解决呢? https://sm.ms/image/HAZaR4cSI9PhMyn |
24
sprite82 2021-12-24 09:18:16 +08:00
我开了 clash tun 模式就会无法解析
|
25
tsanie OP 😂 朋友们,最后迂回解决了这个问题,另外开了一个本地的 doh-server 服务,转发给路由器,然后把 win11 主机的 dns 设到上面,一切就通畅了。
https://sm.ms/image/3dDUNJyiIKOwrqa 管理员身份执行 `netsh dns add encryption server=10.0.10.5 dohtemplate=https://doh.tsanie.org/dns-query` 然后 dns 设置就允许选择 Encrypted 了 https://sm.ms/image/OhsHSon7XMqDwkC 不过其实本质上并没有解决这个问题,还是没搞清楚为什么不走 doh 会出问题 🤦 |
26
ungrown 2021-12-24 13:34:59 +08:00 1
@Tumblr #8
不要想当然,不要把不知道的事情在认知上作简化假设,不要把自己有限的经验进行无限制的外推。 其实#1 就已经把原因说透了,也不知你是没看到还是不相信。 Windows 下面 nslookup 是按照“正常”逻辑直连上游解析源的(包括 DNS 服务器和本地 hosts 文件之类),而 ping 以及其他各种实际干活的网络工具可就不是这么连的了,中间夹着一堆系统服务、缓存、网卡适配器、中转协议栈。举例而已,在开着 dnscache 这项服务的情况下,如果笔记本在睡眠状态下从单位网络环境瞬变到家里 WiFi ,大概率接下来好一会儿整个系统都搞不清该不该刷新之前留下的解析结果缓存,当然可以用 ipconfig /flushdns 来强制刷新不过这种技巧不知道的人就只能原地抓狂。或者哪怕 dnscache 处于禁用状态,但本机装了不少虚拟网络适配器,VPN 、zerotier 、虚拟机内网诸如此类的东西,也会被一些随机偶发无规律的事情触发冲突矛盾,让整个系统的 dns 解析混乱。 这个现象反正我是早就见怪不怪了,遇到了就敲命令调用脚本复位重启一些东西,或者单纯地等一小会儿,就恢复正常了。 |
27
ungrown 2021-12-24 13:48:12 +08:00
@tsanie #25
因为根本就不是 DoH 的事情,所以自然想不通。想不通是对的,Windows 下有些问题就应该想不通。 我的台式机上偶尔会把我笔记本的 NETBIOS 给解析到本机安装的 vbox 虚拟机的 host-only 内网网卡的网关地址 192.168.56.1 上去,正当我费力半天铆足了劲要查个水落石出的时候它又悄咪咪恢复正常了,这种事上哪说理去? 说不定是 doh 在后台依赖额外的程序流程才能正常运行,而这个额外的流程迫使 dns 更频繁地清理缓存、梳理结果,所以意外地“解决”了问题。 说不定过段日子又卷土重来呢。 |
28
muziling 2022-10-03 11:52:42 +08:00
wmware 虚拟机的虚拟网卡,禁用试试
|