SmartDNS 无法启动排查_解决缺少OpenSSL 1.1.x
闲着没事,给路由器装个 SmartDNS。移动的 dns 太烂了。
结果 dns 列表配置好之后点运行。仍然提示:
SmartDNS - 未运行

那好吧。动手排查。
openwrt 没看 log 的地方。ssh 连上看看端口监听。

看来确实没跑起来。
step1
找一下程序装哪了。因为很多程序会在自己的路径下写 log
[root@Kwrt:01:25 AM /var/log] # which smartdns
/usr/sbin/smartdns看来是装好了。
step2
直接运行看看
smartdns -v然后就报错了:
Error loading shared library libssl.so.1.1: No such file or directory (needed by /usr/sbin/smartdns)
Error loading shared library libcrypto.so.1.1: No such file or directory (needed by /usr/sbin/smartdns)
Error relocating /usr/sbin/smartdns: SSL_CTX_set_default_verify_paths: symbol not found
Error relocating /usr/sbin/smartdns: EVP_DigestInit_ex: symbol not found
Error relocating /usr/sbin/smartdns: ERR_reason_error_string: symbol not found
Error relocating /usr/sbin/smartdns: SSL_SESSION_free: symbol not found
(省略一大堆)
Error relocating /usr/sbin/smartdns: SSL_CTX_set_verify: symbol not found
Error relocating /usr/sbin/smartdns: EVP_DecodeBlock: symbol not found说人话就是:缺少 OpenSSL 1.1.x 库
step3
那先看看路由器装的哪一个版本
ls -la /usr/lib*/libssl.so.* 2>/dev/null
ls -la /usr/lib*/libcrypto.so.* 2>/dev/null返回:
=== 现有SSL库 ===
-rw-r--r-- 1 root root 735044 Sep 2 01:22 /usr/lib/libssl.so.3
-rw-r--r-- 1 root root 735044 Sep 2 01:22 /usr/lib64/libssl.so.3
-rw-r--r-- 1 root root 4595856 Sep 2 01:22 /usr/lib/libcrypto.so.3
-rw-r--r-- 1 root root 4595856 Sep 2 01:22 /usr/lib64/libcrypto.so.3step4
问题找到:路由器没 OpenSSL 1.1。
那就装一个解决:
opkg install nginx-ssl-utilstep5
验证一下:
[root@Kwrt:01:19 AM /var/log] # openssl version
OpenSSL 1.1.1w 11 Sep 2023
[root@Kwrt:01:19 AM /var/log] # smartdns -v
smartdns 1.2022.36✅ 问题搞定!
