文档
程序无法启动
RustMinerSystem 启动时获取服务端配置失败,并出现 dns error 或 failed to lookup address information 时的 DNS 解析处理方式。
程序无法启动
如果程序启动时已经完成配置文件导入,但随后在获取服务端配置时失败,并且日志中出现 dns error、failed to lookup address information 等内容,通常是服务器 DNS 解析配置没有被程序正确读取导致。
现象
启动日志可能类似:
2026-06-11T04:19:04.752316Z INFO 开始 -- 导入配置文件
2026-06-11T04:19:04.754894Z INFO 结束 -- 导入配置文件
2026-06-11T04:19:14.764676Z ERROR msg="[Service] Get Server Config Failed reqwest::Error { kind: Request, url: \"https://api.rustpool.pro/4.6.7/config/121\", source: hyper_util::client::legacy::Error(Connect, ConnectError(\"dns error\", Custom { kind: Uncategorized, error: \"failed to lookup address information: Try again\" })) }"
Error: "[Service] Get Server Config Failed reqwest::Error { kind: Request, url: \"https://api.rustpool.pro/4.6.7/config/121\", source: hyper_util::client::legacy::Error(Connect, ConnectError(\"dns error\", Custom { kind: Uncategorized, error: \"failed to lookup address information: Try again\" })) }"
原因
这是 DNS 解析问题。RustMinerSystem 使用 Rust 网络库解析 DNS 时,解析流程只会读取到 /etc/resolv.conf 这一步,不会继续向上游查找 DNS。
由于 /etc/resolv.conf 常常是系统 DNS 的临时配置文件,即使已经在系统中正确配置了 DNS,如果 /etc/resolv.conf 没有指向实际生效的解析配置,程序仍可能无法解析 api.rustpool.pro,从而启动失败。
处理方式
在确认服务器 DNS 已经正确配置后,执行以下命令让 /etc/resolv.conf 指向 systemd-resolved 的实际解析配置:
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
执行完成后重新启动 RustMinerSystem,再观察启动日志是否还存在 Get Server Config Failed 和 dns error。
