Skip to content
Jackway's Blog
Go back

ShellClash开启后Cloudflared断连的问题

最近发现我的cloudflare tunnel经常连接不上,经常报错TLS handshake with edge error这种错误,只看错误信息大概就看出来是网络问题了,和cloudflare边缘节点握手失败。

结合前段时间给家里的BE3600 Pro解锁了SSH,安装了ShellClash来看,大概率问题就出在这里。

然后我就开始怀疑是不是路由到代理节点,被拦截了所以才失败了,就想着去配置下rules,让请求走Direct。但问题是我没有看到日志里有打印请求的是哪个域名或者哪个IP。然后去查了一下,哦,原来是argotunnel.com。argotunnel.com 是 Cloudflare Tunnel 服务使用的官方域名,用于建立从我们服务器到 Cloudflare 全球网络的安全、私有连接。

简单来说,它是 Cloudflare Tunnel 客户端(cloudflared)用来连接 Cloudflare 边缘节点的“专用通道”。

搞清楚后,我就去配置规则,让argotunnel走Direct链路,结果发现怎么还是不行。后面我才注意到,报错信息还有后面read tcp 192.168.31.34:58944->28.0.1.236:7844: read: connection reset by peer​为什么会连接到这个IP 28.0.1.236,这个ip我查了一下是保留地址啊。

那接下来怎么查,请求argotunnel.com解析到28.0.1.236肯定是不对的,那就往DNS解析的问题上排查了,检查一下ShellClash里DNS的配置。

image

原来是,fake-ip配置的这个网段,那就想办法不让argotunnel.com走fake-ip就行了,然后就在fake-ip-filter里添加+.argotunnel.com就行,可以通过配置文件添加,也可以通过ShellClash的命令添加。添加后重启下ShellClash就可以了。

image

我估计使用其他的代理软件也可能会出现这个问题,解决思路大致都一样,可以参考一下。


Share this post:

Next Post
电动车丢了