vernesong / OpenClash

A Clash Client For OpenWrt
MIT License
17.48k stars 3.18k forks source link

运行一段时间就无法访问国外网站了,大量connect error: context deadline exceeded #2366

Closed rltyty closed 2 years ago

rltyty commented 2 years ago

CPU Architecture | arm_cortex-a9_vfpv3-d16 Current Client | v0.45.16-beta [Dev] Current Core | v1.10.0-3-gdd9bdf4 | [Dev] Latest Core v1.10.6

开始一切正常,运行半天时间,外网全访问不了,国内网没问题。然后过了一段时间半个小时~1小时,又可以使用。

访问失败期间大量类似日志

2022-05-10 13:44:34 level=warning msg="[TCP] dial Proxy (match DomainKeyword/gmail) to imap.gmail.com:585 error: :443 connect error: context deadline exceeded" 2022-05-10 13:44:34 level=warning msg="[TCP] dial Proxy (match DomainKeyword/gmail) to imap.gmail.com:585 error: :443 connect error: context deadline exceeded" 2022-05-10 13:44:34 level=warning msg="[TCP] dial Proxy (match DomainKeyword/gmail) to imap.gmail.com:585 error: :443 connect error: context deadline exceeded" 2022-05-10 13:44:31 level=warning msg="[TCP] dial Proxy (match DomainKeyword/github) to github.com:443 error: :443 connect error: context deadline exceeded" 2022-05-10 13:44:30 level=warning msg="[TCP] dial Proxy (match DomainKeyword/gmail) to imap.gmail.com:143 error: :443 connect error: context deadline exceeded" 2022-05-10 13:44:30 level=warning msg="[TCP] dial Proxy (match DomainKeyword/gmail) to imap.gmail.com:143 error: :443 connect error: context deadline exceeded" 2022-05-10 13:44:30 level=warning msg="[TCP] dial Proxy (match DomainKeyword/gmail) to imap.gmail.com:585 error: :443 connect error: context deadline exceeded"

此时我的代理节点仍然可以ping通,443端口也可以建立连接,我切换到另一个不用openclash的普通路由器(连着另一个ISP的宽带),在电脑本机用ClashX可以访问外网。说明我的代理节点应该没有问题。

我想问443 connect error: context deadline exceeded,这是openclash频繁连接代理导致服务端做了某种保护限制吗?如果是, 是代理提供商检测到做了保护限制,还是ISP做了限制。因为我之前从没遇到外网间歇性访问不了的情况。

不管怎样,下一步我该怎么调查这个问题。谢谢!

vernesong commented 2 years ago

设置一下default nameserver

rltyty commented 2 years ago

设置一下default nameserver

我之前选用的Redir-Host模式,现在切换到了fake-ip模式。 你说的default nameserver是设置openclash的上游dns吗?我要启用自定义DNS设置对吗? 谢谢。

这是我现在实际运行的配置

dns: enable: true ipv6: false nameserver:

rltyty commented 2 years ago

设置一下default nameserver

看了clash wiki,知道了是配置default-nameserver。

OXERIS commented 2 years ago

设置一下default nameserver

我之前选用的Redir-Host模式,现在切换到了fake-ip模式。 你说的default nameserver是设置openclash的上游dns吗?我要启用自定义DNS设置对吗? 谢谢。

这是我现在实际运行的配置

dns: enable: true ipv6: false nameserver:

luci是不是没有填default nameserver的地方?只能去配置文件写吗?

LevineWoo commented 1 year ago

一直有default nameserver的,还是这样。