MetaCubeX / mihomo

A simple Python Pydantic model for Honkai: Star Rail parsed data from the Mihomo API.
https://wiki.metacubex.one
MIT License
15.63k stars 2.56k forks source link

[Bug] 网页打开非常缓慢,提示 error: dns resolve failed: lookup xxx.com: i/o timeout #1522

Open AlmostFamous1992 opened 1 week ago

AlmostFamous1992 commented 1 week ago

Verify steps

Operating System

Windows

System Version

Windows 10 22H2

Mihomo Version

v1.18.7

Configuration File

以下是我用的机场的部分非敏感配置文件:

port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
dns:
  enabled: true
  nameserver:
    - 119.29.29.29
    - 223.5.5.5
  fallback:
    - 8.8.8.8
    - 8.8.4.4
    - tls://1.0.0.1:853
    - tls://dns.google:853

以下是clash verge rev的全局配置

# Profile Enhancement Merge Template for Clash Verge

profile:
  store-selected: true

dns:
  use-system-hosts: true
// Define main function (script entry)

function main(config, profileName) {
  return config;
}
# Generated by Clash Verge

mixed-port: 61801
socks-port: 7898
port: 7899
log-level: info
allow-lan: false
mode: rule
external-controller: 127.0.0.1:9097
secret: ''
tun:
  stack: gvisor
  device: Meta
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
  - any:53
  strict-route: false
  mtu: 9000
ipv6: true

Description

我在使用clash verge rev时有时会出现网页打开非常缓慢的问题,日志中出现大量的error: dns resolve failed: lookup xxx.com: i/o timeout 也有不少人有类似的问题。我切换回clash verge后,选择clash内核就不再出现这个问题,若选择clash meta内核一样会这样。而这个clash meta内核用的就是mihomo 在这个讨论中: https://github.com/clash-verge-rev/clash-verge-rev/issues/1168#issuecomment-2336665370 有人提到“这两天偶然的发现v2rayN的内核选择mihomo也会出现这样的问题,选择xray内核则没有这个问题,初步估计应该是内核mihomo的设置不同。和clash verge没有关系。” 怀疑是mihomo在处理一些没有配置dns的机场时,不会默认调用系统的dns,在这个链接中:https://github.com/clash-verge-rev/clash-verge-rev/issues/1249#issuecomment-2308243565 有人提到”就像你说的,以前的cfw和clash verge好像都没这个问题,可能是默认dns配置不同?但是没配置难道不该调用系统dns吗(测试了一下发现默认情况显然没有使用系统dns)?还是有默认内置策略?不过我也懒得折腾探究了,就这样吧。“

Logs

以下是clash verge rev的日志,因为我用的是这个UI,不知道怎么读取内核的日志

09-20 21:10:42WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50811(chrome.exe) --> i2.hdslb.com:443 error: dns resolve failed: lookup i2.hdslb.com: i/o timeout 09-20 21:10:42WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/bilibili.com) 127.0.0.1:50814(chrome.exe) --> api.bilibili.com:443 error: dns resolve failed: lookup api.bilibili.com on 172.22.22.1:53: read udp 172.22.22.127:52938->172.22.22.1:53: i/o timeout 09-20 21:10:42WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/bilibili.com) 127.0.0.1:50813(chrome.exe) --> api.bilibili.com:443 error: dns resolve failed: lookup api.bilibili.com on 172.22.22.1:53: read udp 172.22.22.127:52938->172.22.22.1:53: i/o timeout 09-20 21:10:42WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/bilibili.com) 127.0.0.1:50812(chrome.exe) --> api.bilibili.com:443 error: dns resolve failed: lookup api.bilibili.com on 172.22.22.1:53: read udp 172.22.22.127:52938->172.22.22.1:53: i/o timeout 09-20 21:10:42WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/bilibili.com) 127.0.0.1:50812(chrome.exe) --> api.bilibili.com:443 error: dns resolve failed: lookup api.bilibili.com: i/o timeout 09-20 21:10:43WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/bilibili.com) 127.0.0.1:50813(chrome.exe) --> api.bilibili.com:443 error: dns resolve failed: lookup api.bilibili.com: i/o timeout 09-20 21:10:43WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/bilibili.com) 127.0.0.1:50814(chrome.exe) --> api.bilibili.com:443 error: dns resolve failed: lookup api.bilibili.com: i/o timeout 09-20 21:10:43WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50817(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com: i/o timeout 09-20 21:10:44WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50818(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com: i/o timeout 09-20 21:10:44WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/bilibili.com) 127.0.0.1:50820(chrome.exe) --> www.bilibili.com:443 error: dns resolve failed: lookup www.bilibili.com: i/o timeout 09-20 21:10:44WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50821(chrome.exe) --> static.hdslb.com:443 error: dns resolve failed: lookup static.hdslb.com: i/o timeout 09-20 21:10:45WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50822(chrome.exe) --> i1.hdslb.com:443 error: dns resolve failed: lookup i1.hdslb.com: i/o timeout 09-20 21:10:48WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50829(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com on 172.22.22.1:53: read udp 172.22.22.127:58907->172.22.22.1:53: i/o timeout 09-20 21:10:48WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50830(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com on 172.22.22.1:53: read udp 172.22.22.127:58907->172.22.22.1:53: i/o timeout 09-20 21:10:49WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50829(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com: i/o timeout 09-20 21:10:49WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50830(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com: i/o timeout 09-20 21:10:50WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50833(chrome.exe) --> i1.hdslb.com:443 error: dns resolve failed: lookup i1.hdslb.com: i/o timeout 09-20 21:10:54WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50847(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com: i/o timeout 09-20 21:10:54WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50848(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com: i/o timeout 09-20 21:10:55WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50849(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com: i/o timeout 09-20 21:10:58WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50856(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com on 172.22.22.1:53: read udp 172.22.22.127:60897->172.22.22.1:53: i/o timeout 09-20 21:10:58WARNING [TCP] dial 📺 哔哩哔哩 (match DomainSuffix/hdslb.com) 127.0.0.1:50857(chrome.exe) --> i0.hdslb.com:443 error: dns resolve failed: lookup i0.hdslb.com on 172.22.22.1:53: read udp 172.22.22.127:60897->172.22.22.1:53: i/o timeout

Skyxim commented 1 week ago

error: dns resolve failed: lookup xxx.com: i/o timeout 首先这个说明 DNS 连接超时,你应该提供 DNS 部分配置,而不是讲一堆故事

其次也没有完整的日志

最后,由于大量重构,已经可以称之为 mihomo,对于 clash 已经没有参考性,应独立看待问题

AlmostFamous1992 commented 1 week ago

@Skyxim 我已经补充相关信息。这个软件最新版用的是mihomo的内核 @xishang0128 我之前没有提供一些信息,是因为我使用的是clash verge rev,不知道怎么提取mihomo的一些信息。但根据我给出的链接,我怀疑问题出在内核和一些机场配置文件的冲突。有不少人都遇到了这个bug,请恢复bug标签

xishang0128 commented 1 week ago

@AlmostFamous1992 使用内核测试,而不是某gui客户端

以及确保最简可复现配置可以复现

Skyxim commented 1 week ago
[TCP] dial 📺 哔哩哔哩 (match DomainSuffix/bilibili.com) 127.0.0.1:50814(chrome.exe) --> api.bilibili.com:443 error: dns resolve failed: lookup api.bilibili.com on 172.22.22.1:53: read udp 172.22.22.127:52938->172.22.22.1:53: i/o timeout
09-20 21:10:42WARNING

确定配置正确性。 172.22.22.1 确定这个 DNS 不是你自己添加的,如果不是。向 GUI 报告问题

sanzhang007 commented 5 days ago

Sep 05 14:24:05 LAPTOP-CQ797NDT mihomo[5000]: time="2024-09-05T14:24:05.20018979+08:00" level=warning msg="[TCP] dial 🎯 全球直连 (match DomainSuffix/jsdelivr.net) 198.18.0.1:57865 --> cdn.jsdelivr.net:443 error: dns resolve failed: context deadline exceeded" Sep 05 14:24:09 LAPTOP-CQ797NDT mihomo[5000]: time="2024-09-05T14:24:09.133530577+08:00" level=warning msg="[TCP] dial 🚀 节点选择 (match DomainKeyword/google) 198.18.0.1:57866 --> content-autofill.googleapis.com:443 error: dns resolve failed: context deadline exceeded" Sep 05 14:24:14 LAPTOP-CQ797NDT mihomo[5000]: time="2024-09-05T14:24:14.13633834+08:00" level=warning msg="[TCP] dial 🚀 节点选择 (match DomainKeyword/google) 198.18.0.1:57867 --> content-autofill.googleapis.com:443 error: dns resolve failed: context deadline exceeded" Sep 05 14:24:14 LAPTOP-CQ797NDT mihomo[5000]: time="2024-09-05T14:24:14.520518822+08:00" level=warning msg="[TCP] dial 🎯 全球直连 (match DomainSuffix/baidu.com) 198.18.0.1:57870 --> baidu.com:80 error: dns resolve failed: context deadline exceeded" Sep 05 14:24:27 LAPTOP-CQ797NDT mihomo[5000]: time="2024-09-05T14:24:27.686755514+08:00" level=warning msg="[TCP] dial 🚀 节点选择 (match DomainKeyword/google) 198.18.0.1:57871 --> www.googleapis.com:443 error: dns resolve failed: context deadline exceeded" Sep 05 14:24:29 LAPTOP-CQ797NDT mihomo[5000]: time="2024-09-05T14:24:29.394380503+08:00" level=warning msg="[TCP] dial 🚀 节点选择 (match DomainKeyword/google) 198.18.0.1:57872 --> www.google.com:443 error: dns resolve failed: context deadline exceeded" Sep 05 14:24:31 LAPTOP-CQ797NDT mihomo[5000]: time="2024-09-05T14:24:31.914301648+08:00" level=warning msg="[TCP] dial 🚀 节点选择 (match DomainKeyword/google) 198.18.0.1:57873 --> content-autofill.googleapis.com:443 error: dns resolve failed: context deadline exceeded"

sanzhang007 commented 5 days ago

我也经常这样

sanzhang007 commented 5 days ago

Sep 23 03:16:36 LAPTOP-CQ797NDT mihomo[411454]: time="2024-09-23T03:16:36.112098179+08:00" level=warning msg="[TCP] dial 🐟 漏网之鱼 (match Match/) 198.18.0.1:36344 --> 172.64.194.76:2086 error: naiu-hk.05vr9nyqg5.download:13007 connect error: dns resolve failed: couldn't find ip" Sep 23 03:16:58 LAPTOP-CQ797NDT mihomo[411454]: time="2024-09-23T03:16:58.567826963+08:00" level=warning msg="[TCP] dial 🎯 全球直连 (match DomainSuffix/clientservices.googleapis.com) 192.168.0.100:56434 --> clientservices.googleapis.com:443 error: dns resolve failed: couldn't find ip" Sep 23 03:16:58 LAPTOP-CQ797NDT mihomo[411454]: time="2024-09-23T03:16:58.568389263+08:00" level=warning msg="[TCP] dial 🎯 全球直连 (match DomainSuffix/clientservices.googleapis.com) 192.168.0.100:56436 --> clientservices.googleapis.com:443 error: dns resolve failed: couldn't find ip" Sep 23 03:16:59 LAPTOP-CQ797NDT mihomo[411454]: time="2024-09-23T03:16:59.007860063+08:00" level=warning msg="[TCP] dial 🚀 节点选择 (match DomainKeyword/google) 192.168.0.100:56437 --> translate.google.com:443 error: naiu-hk.05vr9nyqg5.download:13007 connect error: dns resolve failed: couldn't find ip" Sep 23 03:16:59 LAPTOP-CQ797NDT mihomo[411454]: time="2024-09-23T03:16:59.008487463+08:00" level=warning msg="[TCP] dial 🚀 节点选择 (match DomainKeyword/github) 192.168.0.100:56433 --> alive.github.com:443 error: naiu-hk.05vr9nyqg5.download:13007 connect error: dns resolve failed: couldn't find ip" Sep 23 03:16:59 LAPTOP-CQ797NDT mihomo[411454]: time="2024-09-23T03:16:59.008540463+08:00" level=warning msg="[TCP] dial 🚀 节点选择 (match DomainKeyword/github) 192.168.0.100:56432 --> alive.github.com:443 error: naiu-hk.05vr9nyqg5.download:13007 connect error: dns resolve failed: couldn't find ip" Sep 23 03:16:59 LAPTOP-CQ797NDT mihomo[411454]: time="2024-09-23T03:16:59.008544463+08:00" level=warning msg="[TCP] dial 🐟 漏网之鱼 (match Match/) 192.168.0.100:56442 --> gfwsl.geforce.com:443 error: naiu-hk.05vr9nyqg5.download:13007 connect error: dns resolve failed: couldn't find ip" Sep 23 03:16:59 LAPTOP-CQ797NDT mihomo[411454]: time="2024-09-23T03:16:59.008546763+08:00" level=warning msg="[TCP] dial 🚀 节点选择 (match DomainKeyword/google) 192.168.0.100:56438 --> translate.google.com:443 error: naiu-hk.05vr9nyqg5.download:13007 connect error: dns resolve failed: couldn't find ip"

sanzhang007 commented 5 days ago

今天的

sanzhang007 commented 5 days ago

之前还经常dns解析到ipv6 关了ipv6才好

kzw200015 commented 5 days ago

同样问题,B站很明显,有部分页面卡好几秒才能加载出来,关掉mihomo正常。我没有使用内置的dns服务器

wwqgtxx commented 5 days ago

非直接运行内核可以复现的问题均不会得到解决

请给出直接运行最新版Alpha内核可以复现的配置文件及日志

kzw200015 commented 5 days ago

同样问题,B站很明显,有部分页面卡好几秒才能加载出来,关掉mihomo正常。我没有使用内置的dns服务器

我自己的问题,dns的qps限制问题,与此issue无关