高墙之外❤️

PassWall2 日志报错怎么看?按关键词定位启动、节点与 DNS 问题

更新于 2026-11-04 · passwall.lol

简答:先打开 LuCI 的“服务 → PassWall2 → Runtime Logs(运行日志)”,清空日志后只复现一次故障,再优先看第一条明确的 error 或 failed。启动失败重点查内核、依赖、配置和端口;节点失败重点区分 timeout、拒绝连接与 TLS 握手;网页打不开但节点正常时,再查 DNS 和分流。

定义:PassWall2 日志排查,就是把运行日志、OpenWrt 系统日志和具体节点实例日志按时间对应起来,用第一条可解释故障的错误定位配置或网络问题。

先做最小闭环:清空日志、复现一次、看第一条错误

本站为第三方使用指南,不代表 PassWall2 项目官方。排查时不要一上来复制整段日志,也不要只盯着最后一行。PassWall2 启动失败时,后面的“停止服务”“清理规则”或“连接失败”可能只是前面错误造成的连锁提示。

  1. 登录路由器 LuCI,进入服务 → PassWall2 → Runtime Logs;部分版本可能显示为“运行日志”或类似名称。当前源码将该入口注册为 Runtime Logs,并提供主日志与服务端日志的读取、清空功能。查看 PassWall2 日志控制器源码
  2. 先点击清空日志;如果界面没有清空按钮,可在 SSH 执行echo '' > /tmp/log/passwall2.log,服务端日志则执行echo '' > /tmp/log/passwall2_server.log。
  3. 只做一次复现:启动 PassWall2、访问一个明确的测试地址,或只测试一个节点,不要同时修改 DNS、规则和节点。
  4. 回到日志末尾,先找第一条带有error、failed、invalid、timeout、refused或handshake的行,再向上查看同一时间点的 5—20 行。
日志位置适合看什么常用查看命令
/tmp/log/passwall2.logPassWall2 主流程、配置生成、代理启动、DNS 和规则处理tail -n 200 /tmp/log/passwall2.log
/tmp/log/passwall2_server.logPassWall2 服务端相关流程;是否存在内容取决于当前功能和配置tail -n 200 /tmp/log/passwall2_server.log
/tmp/etc/passwall2/*.log启用日志的 SOCKS、ACL 或具体实例日志,文件名以当前配置为准ls -l /tmp/etc/passwall2/*.log 2>/dev/null
OpenWrt 系统日志服务启动、进程退出、网络接口和防火墙关联提示logread | grep -i passwall2

官方仓库给出了logread | grep passwall2的基础查看方式,并说明主日志和服务端日志的位置;具体节点实例日志则由当前实例名称和配置决定。查看 PassWall2 官方仓库说明

按关键词判断:启动失败、节点失败还是 DNS/分流问题

下面的对应关系是排错用的判断框架,不代表每个关键词只有一种原因。确认前要结合时间、节点协议、当前模式和后续命令复测。

日志关键词或现象通常先怀疑先做什么
failed to start、core not found、not found内核文件缺失、路径不对、权限问题或依赖未安装确认实际选择的是 Xray 还是 sing-box;检查对应二进制是否存在、是否可执行,再重新保存配置并启动。
config error、invalid config、parse failed生成的配置格式错误,或节点字段与所选内核不匹配先禁用最近新增的节点或高级选项,重新保存;重点核对协议、端口、UUID、传输方式、TLS、SNI、Reality 公钥及 short ID。
address already in use、bind failed监听端口被其他进程占用,或多个实例使用同一端口执行netstat -lnpt 2>/dev/null或ss -lnpt 2>/dev/null查看占用者,再修改 PassWall2 入站或本地监听端口。
connection refused目标端口明确拒绝连接,常见于地址、端口错误或对端未监听核对节点服务器地址和端口;不要先改 DNS,因为拒绝连接不等于域名解析失败。
timeout、i/o timeout目标不可达、链路丢包、端口被过滤或节点响应过慢先测试同一节点的连通性和延迟,再换一个节点对比;若只有一个节点超时,优先核对节点本身。
handshake、tls、certificate、server nameTLS、SNI、证书校验、传输层或 Reality 参数不一致把客户端节点信息与服务端提供的参数逐项对照,尤其是 SNI、端口、传输方式、指纹、公钥和 short ID;不要直接关闭校验作为长期解决方案。
DNS、resolve、no such host路由器无法解析目标域名,或 DNS 分流链路没有按预期工作执行nslookup example.com或nslookup 目标域名,并检查 PassWall2 的 DNS 设置、上游 DNS 和防火墙转发。
节点显示正常,但只有部分网站打不开规则顺序、直连/代理分流、DNS 结果或 IPv4/IPv6 路径不一致分别测试 IP、域名和不同设备;查看日志中是否出现目标域名,再临时用单节点、单设备、较简单的分流模式复测。

当前 PassWall2 源码会读取主日志、服务端日志,并可按实例名称读取临时目录下的节点日志;因此,同一故障可能需要把 LuCI 页面、logread和具体实例日志按时间拼起来看,而不是只复制一个窗口。查看日志读取路径与实例日志接口

SSH 实操:限制输出,避免被无关日志淹没

如果 LuCI 页面只显示一部分内容,可以用 SSH 查看。以下命令只读取本机日志,不会修改配置:

  • 查看最近 100 行系统日志:logread | tail -n 100
  • 筛选 PassWall2 相关行:logread | grep -i passwall2 | tail -n 100
  • 筛选多个关键词:logread | grep -Ei 'passwall2|xray|sing-box|error|failed|timeout|handshake|dns' | tail -n 150
  • 查看主日志最后 200 行:tail -n 200 /tmp/log/passwall2.log
  • 只看明确错误附近的内容:grep -in -E 'error|failed|invalid|timeout|refused|handshake' /tmp/log/passwall2.log | tail -n 30
  • 持续观察新日志:tail -f /tmp/log/passwall2.log;复现完成后按Ctrl+C退出。

如果命令提示文件不存在,不要立即判断 PassWall2 损坏。可能是服务还没有启动、当前版本尚未生成该日志,或对应功能没有启用。先执行ls -l /tmp/log/和ls -l /tmp/etc/passwall2/确认实际文件,再回到 LuCI 查看运行日志。

官方控制器源码显示,主日志清空操作对应/tmp/log/passwall2.log,服务端日志清空操作对应/tmp/log/passwall2_server.log;节点日志读取则使用临时目录和实例名组合出的路径。查看节点实例日志路径示例

不同故障的处理顺序:先恢复最小配置,再逐项加回

  1. 服务完全不启动:记录固件版本、架构、PassWall2 版本和已选内核;检查内核文件、依赖包、配置生成结果和端口冲突。不要先更换多个节点,因为节点参数尚未进入测试阶段。
  2. 服务启动但节点连不上:只保留一个节点,确认地址、端口、协议和认证字段;再根据日志区分拒绝连接、超时或 TLS 握手失败。
  3. 节点测试成功但设备打不开网页:先确认设备网关是否指向该路由器,再检查 DNS、透明代理模式、访问控制和分流规则。用一台设备进行测试,避免全网设备同时产生大量变量。
  4. 订阅导入失败:先看是 HTTP 状态、超时、解析失败还是格式不兼容。404通常表示请求地址对应资源不存在或路径不正确;超时应先验证路由器能否访问订阅地址;解析失败则需要确认返回内容是否真的是当前 PassWall2 可识别的订阅格式。
  5. 升级后突然异常:先记录当前实际版本,不要只按文章发布日期判断。官方 Releases 页面显示,PassWall2 在 2026 年 11 月 3 日发布了26.11.3-1,并同时列出 Xray、sing-box 等组件版本;你的设备是否已安装该版本仍需在 LuCI 或包管理器中核实。查看 PassWall2 官方 Releases

回滚前应备份当前配置,并保留升级前后的日志。若只是一个节点参数错误,优先删除或停用该节点;若是整个服务无法启动,再考虑恢复配置或安装包。不要在没有备份的情况下连续覆盖配置文件。

提交求助时,怎样提供有用又安全的日志

求助信息最好包含:固件名称与版本、路由器架构、PassWall2 实际版本、使用的代理内核、节点协议、故障开始时间、复现步骤、第一条明确错误及其前后各 10—20 行日志。

分享前必须打码:订阅 URL、访问令牌、UUID、密码、私钥、完整服务器地址、内网公网 IP、Cookie 和二维码。可以保留错误类型、端口是否存在、协议名称、SNI 是否为空以及时间戳,这些信息通常比整份配置更有助于判断。

推荐使用下面的简短模板:

固件/版本:待填写
架构:待填写
PassWall2:待填写
内核:Xray 或 sing-box
节点协议:待填写
现象:服务未启动 / 节点超时 / 部分域名打不开
复现步骤:清空日志 → 启动 → 访问测试地址
第一条错误:请粘贴已打码的原文
相关日志:前后各 10—20 行
已尝试:只写实际执行过的操作

如果日志中出现完整订阅链接或认证信息,应先撤销或更换相关凭据,再继续公开求助。

常见问题

PassWall2 在哪里看运行日志?

通常进入 LuCI 的“服务 → PassWall2 → Runtime Logs(运行日志)”。不同版本的中文翻译可能不同;如果菜单中没有该项,可先确认插件是否安装完整,再用 SSH 查看 /tmp/log/passwall2.log 和 logread。

为什么要看第一条 error,而不是最后一条报错?

启动失败后,服务停止、规则清理和节点连接失败可能会连续出现。第一条明确 error 更可能是根因,最后一条往往只是前一个错误造成的结果。实际判断仍要结合时间顺序和复现结果。

只看到 timeout,怎么判断是节点问题还是 DNS 问题?

先用 nslookup 检查目标域名是否能解析,再只测试一个节点。如果多个域名都解析失败,优先查 DNS;如果只有一个节点超时而其他节点正常,优先核对该节点地址、端口和协议。

PassWall2 日志里的 handshake 是什么问题?

它通常表示连接已进入握手阶段但双方参数没有成功匹配,常见检查项包括 TLS、SNI、传输方式、证书、Reality 公钥或 short ID。不要仅凭一个关键词断言原因,应对照节点参数并做单节点复测。

日志中有订阅 404,应该先改 DNS 吗?

不一定。404 首先说明请求路径对应的资源未找到或地址内容发生变化;应先核对订阅 URL 是否完整、是否过期或被改写,再测试路由器能否访问该地址。DNS 只有在域名无法解析时才是优先方向。

公开 PassWall2 日志前要删掉什么?

至少删除订阅链接、Token、UUID、密码、私钥、完整服务器地址、Cookie、二维码和可能暴露身份的公网 IP。保留时间戳、错误关键词、协议类型和已打码的上下文,通常已经足够进行初步判断。

相关阅读

参考资料

  1. Openwrt-Passwall/openwrt-passwall2 官方仓库
  2. PassWall2 日志控制器源码
  3. PassWall2 节点实例日志路径源码
  4. PassWall2 官方 Releases 页面