记一次解决 clash all DNS requests failed, context deadline exceeded 问题 您所在的位置:网站首页 dns请求失败怎么回事 记一次解决 clash all DNS requests failed, context deadline exceeded 问题

记一次解决 clash all DNS requests failed, context deadline exceeded 问题

2023-04-28 15:14| 来源: 网络整理| 查看: 265

在我切换了 clash 透明代理和普通代理之后遇到了如题所述的问题。

下面是详细日志

[TCP] dial 🕹 规则之外 (match Match/) to dns.alidns.com:443 error: advanced-cm-3.nodesub.com:3600 connect error: all DNS requests failed, first error: Post "https://dns.alidns.com/dns-query": context deadline exceeded 21-12-19 09:58:51

ps: 如何切换普通代理和透明代理? 透明代理需要 iptables 规则,切换成普通代理就需要把 iptables 相关规则删除掉,然后主路由的 dhcp gateway 和 dns 分发改成主路由本身(或者删掉 dhcp gateway 和 dns 的 option 声明)

遇到如题所述的问题后 google 查到相关 issue

https://github.com/Dreamacro/clash/issues/899 https://github.com/Dreamacro/clash/issues/793

解决问题的可能途径

观察 config.yaml 中是否有绑定 interface name,如果有检查是否填写错误 clash 内置 dns 关闭再开启,再次查看 log 内置 dns 开启的情况下观察是否有 fallback 的配置

我的问题就是在修改了3之后解决的。

dns: enable: true # 启用自定义DNS ipv6: false # default is false listen: 0.0.0.0:1053 enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 # if you don't know what it is, don't change it default-nameserver: - 180.76.76.76 - 223.5.5.5 - 119.29.29.29 nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query fallback: - tls://1.1.1.1:853 - tls://1.0.0.1:853 - 101.6.6.6:5353

添加 fallback 配置

fallback: - tls://1.1.1.1:853 - tls://1.0.0.1:853 - 101.6.6.6:5353

clash fallback 配置项的解释

(1) 当访问一个域名时, nameserver 与 fallback 列表内的所有服务器并发请求,得到域名对应的 IP 地址。 (2) clash 将选取 nameserver 列表内,解析最快的结果。 (3) 若解析结果中,IP 地址属于 国外,那么 clash 将选择 fallback 列表内,解析最快的结果。

引用一段别人的见解:

# 1. clash DNS 请求逻辑: # (1) 当访问一个域名时, nameserver 与 fallback 列表内的所有服务器并发请求,得到域名对应的 IP 地址。 # (2) clash 将选取 nameserver 列表内,解析最快的结果。 # (3) 若解析结果中,IP 地址属于 国外,那么 clash 将选择 fallback 列表内,解析最快的结果。 # # 因此,我在 nameserver 和 fallback 内都放置了无污染、解析速度较快的国内 DNS 服务器,以达到最快的解析速度。 # 但是 fallback 列表内服务器会用在解析境外网站,为了结果绝对无污染,我仅保留了支持 DoT/DoH 的两个服务器。 # # 2. clash DNS 配置注意事项: # (1) 如果您为了确保 DNS 解析结果无污染,请仅保留列表内以 tls:// 或 https:// 开头的 DNS 服务器,但是通常对于国内域名没有必要。 # (2) 如果您不在乎可能解析到污染的结果,更加追求速度。请将 nameserver 列表的服务器插入至 fallback 列表内,并移除重复项。 # # 3. 关于 DNS over HTTPS (DoH) 和 DNS over TLS (DoT) 的选择: # 对于两项技术双方各执一词,而且会无休止的争论,各有利弊。各位请根据具体需求自行选择,但是配置文件内默认启用 DoT,因为目前国内没有封锁或管制。 # DoH: 以 https:// 开头的 DNS 服务器。拥有更好的伪装性,且几乎不可能被运营商或网络管理封锁,但查询效率和安全性可能略低。 # DoT: 以 tls:// 开头的 DNS 服务器。拥有更高的安全性和查询效率,但端口有可能被管制或封锁。 # 若要了解更多关于 DoH/DoT 相关技术,请自行查阅规范文档。

from http://blog.joylau.cn/2020/05/01/Clash-Config/

修改好 config.yaml 之后重启 clash 服务,国内国外的服务就都正常了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有