前言

之前安装的OpenWrt软路由,正常运行了好几个月,闲来无事就去看看AdguardHome界面看看广告拦截效率怎么样,然后发现OpenClash的自定义DNS未经过AdguardHome直接就出去了。

于是就重新把OpenClash的DNS设置了一下,重启后发现无法科学上网了,而且IPv6也不通。看了下OpenClash的日志:

1
【/tmp/openclash_last_version】下载失败:【curl: (6) Could not resolve host: testingcf.jsdelivr.net curl: (6) Could not resolve host: testingcf.jsdelivr.net curl: (35) ssl_handshake returned - mbedTLS: (-0x7280) SSL - The connection indicated an EOF】

分析

初步分析是GitHub的CDN不通,但是在OpenClash界面更改CDN后发现问题依旧;

后来又想了一下,因为关闭OpenClash后,电脑都能正常上网,常规网站都能访问,问题可能还是在OpenClash上面,猜想可能还是DNS污染导致的,过了一个晚上问题仍然存在;

今天又研究了一早上,网上搜索了一圈,又更换了好几个版本,仍然没有解决;

后来又研究了SmartDNS,猜测是不是SmartDNS设置不当没有DNS解析导致的无法上网,问题始终没有解决;

最后实在没办法了,整体都看了一下,才发现OpenWrt自身网络不通,在网络诊断中提示:

1
server can't find openwrt.org: SERVFAIL

在系统-软件包中也无法更新列表,最终判断是OpenWrt自身的问题。

百思不得其解的问题就是:不考虑OpenWrt的情况下,后面设备都能正常上网,唯独OpenWrt后台无网络连接。

解决方法

通过SSH连接OpenWrt,修改 /etc/resolv.conf,添加以后DNS解析。

1
2
vim /etc/resolv.conf    #编辑resolv.conf
nameserver 223.5.5.5 #添加该行,DNS可以任意选一个公共DNS

退出保存即可,稍等一分钟,再去网络诊断中确认网络是否畅通。

再回到OpenClash界面,终于正常启动了。