高墙之外❤️

PassWall2 连接失败怎么办?按错误提示逐步排查

更新于 2026-10-27 · passwall.lol

简答:PassWall2 连接失败时,先停用复杂分流,只保留一个节点并确认 Core 是否真的启动,再按“订阅—节点—内核—DNS—防火墙—终端网关”的顺序排查。若开启后全网断网,先关闭 PassWall2、恢复路由器直连,再查看日志和防火墙规则,不要反复更换订阅或一键脚本。

定义:PassWall2 连接失败,是指节点测试、代理核心启动、DNS 解析或终端实际访问中的任一环节没有完成,而不一定代表节点本身不可用。

先试这一步:用最小配置判断是哪一层出错

本页是第三方使用指南,不代表任何软件或服务的官方页面。PassWall2 上游代码显示,插件会读取并写入 /tmp/log/passwall2.log,同时根据已安装的代理核心生成配置;上游仓库还列出了 Xray、sing-box 等可选核心。PassWall2 上游仓库 PassWall2 日志与状态代码

五层最小排查表
检查层操作正常结果异常时下一步
订阅手动更新并查看节点数量更新成功,节点列表非空检查地址、证书、返回格式和 User-Agent
节点只选择一个节点测试单节点测试有明确成功结果区分单节点故障与全部节点故障
Core查看 PassWall2 状态和日志对应的 Xray 或 sing-box 进程存在检查核心文件、协议匹配和启动报错
DNS在路由器上解析域名能返回地址且没有明显超时检查远程 DNS、FakeDNS、IPv6 和终端自定义 DNS
转发用一台终端访问普通网页终端网关和 DNS 指向正确检查旁路由、DHCP、防火墙和规则命中

先在 PassWall2 中暂时关闭复杂分流、负载均衡和多节点切换,只保留一个已知配置正确的节点。保存后重新启动服务,再观察日志。这样做的目的不是证明该节点一定可用,而是减少规则、核心和节点选择同时变化造成的干扰。

按报错现象定位:订阅、节点还是 Core

常见错误与处理顺序
现象或关键词优先怀疑处理方法
节点列表为空订阅更新失败或格式不兼容重新检查订阅地址是否完整、返回内容是否为预期格式;确认更新后页面确实出现节点,不要只看“请求成功”。
所有节点 timeout路由器出口、DNS、核心或防火墙先在路由器上确认基础网络正常,再查看 Core 日志和防火墙;不要先认定所有节点同时失效。
只有一个节点 timeout该节点参数或线路用另一个节点做对照,核对协议、端口、传输方式、SNI、认证参数和时间设置。
connection refused本地端口未监听或核心没有成功启动查看进程和日志,检查端口是否被其他插件占用;不要只根据页面上的“启用”状态判断核心已运行。
TLS handshake failed协议、SNI、证书校验或系统时间核对节点原始参数、SNI、传输方式和路由器时间;不要为了绕过错误直接关闭证书校验。
DNS resolution failedDNS 上游、FakeDNS 或 IPv6先在路由器上测试解析,再分别检查远程 DNS、终端 DNS 和 IPv6 路径。
Core 未运行核心文件缺失、权限、依赖或配置生成失败确认对应核心命令存在,查看 PassWall2 日志中的第一条错误,再针对协议和依赖修复。

PassWall2 的上游脚本会根据可用核心生成配置并启动进程,因此“页面已保存”不等于“核心已经运行”。如果选择了 sing-box 类型,却没有对应可执行文件,或节点字段与核心支持范围不匹配,就应先从核心文件和生成配置方向排查。PassWall2 上游启动脚本

SSH 检查清单:Core、日志、DNS 与防火墙

以下命令在 OpenWrt 路由器 SSH 环境执行,通常需要 root 权限。每组命令都先记录结果,再修改配置,便于撤销。

  1. 确认核心文件是否存在:which xray; which sing-box

    预期至少有一个路径返回。若全部没有结果,先安装与当前固件版本、架构匹配的核心包;不要混用不同架构或不同包管理体系的文件。

  2. 查看核心进程:ps w | grep -E 'xray|sing-box' | grep -v grep

    预期能看到正在运行的核心及其配置参数。没有结果时,回到 PassWall2 页面重新载入配置,并立即查看日志。

  3. 查看 PassWall2 日志:tail -n 200 /tmp/log/passwall2.log

    重点搜索 error、failed、permission、not found、timeout、certificate、listen。优先处理最早出现的错误,而不是最后一行的连锁报错。

  4. 查看系统日志:logread | tail -n 200

    用于发现服务重启、权限、网络接口和防火墙相关错误。

  5. 测试路由器 DNS:nslookup example.com 127.0.0.1

    如果本机 DNS 服务没有响应,再检查 PassWall2 的 DNS 设置、dnsmasq 监听地址和上游 DNS;如果路由器能解析而终端不能解析,继续检查 DHCP 和终端自定义 DNS。

  6. 检查防火墙规则:fw4 print

    OpenWrt 22.03 及之后的防火墙使用 fw4 和 nftables,fw4 print可用于查看生成的规则;也可用 nft list ruleset查看运行中的规则集。OpenWrt 防火墙与 nftables 检查说明

  7. 检查 IPv6 路径:ip -6 address show; ip -6 route show table all

    如果终端优先使用 IPv6,而 PassWall2 只处理 IPv4,可能出现部分网站打不开或浏览器长时间等待。可先在一台测试设备上临时关闭 IPv6验证,确认现象后再决定长期配置。

TCP Ping 有响应,只能说明某个地址和端口具备一定可达性,不能替代核心实际启动、认证、TLS 握手、DNS 解析和代理访问验证。因此“TCP Ping 正常但网页打不开”时,应继续看 Core 日志和实际业务访问结果。

DNS、IPv6、旁路由与插件冲突怎么区分

  • 仅路由器自身失败:优先检查 PassWall2 核心、路由器 DNS、系统时间和出口网络。
  • 路由器正常,所有终端失败:检查终端网关是否指向该路由器,DHCP 下发的 DNS 是否正确,以及终端是否手动指定了其他 DNS。
  • 只有部分终端失败:检查浏览器安全 DNS、系统代理、IPv6 和设备上的其他网络工具。
  • 主路由正常,旁路由失败:确认旁路由的默认网关、LAN 地址、DHCP 角色和 DNS 角色没有互相冲突。旁路由不应同时让多个设备争抢 DHCP。
  • 启用后全网断网:立即关闭 PassWall2或恢复直连,确认基础网络恢复后再检查透明代理端口、TUN/TProxy依赖、规则生成和其他代理插件。

OpenWrt 的防火墙后端从 fw3 逐步转向 fw4,基于 iptables 的自定义规则在新版本上可能需要改为 nftables 方式;排查时应先确认固件版本和实际防火墙后端,不要直接复制旧教程命令。OpenWrt Firewall overview

如果同时运行多个代理插件,可能发生端口监听、DNS 接管或防火墙规则重复注入。安全做法是一次只保留一个插件负责透明代理,保存前记录原配置;修改后按“保存—重新载入—查看日志—终端访问”验证,失败就撤销最近一次改动。

修复后的验证闭环:不要只看“运行中”

  1. 在 PassWall2 中只启用一个节点和一种核心,保存配置。
  2. 重新载入或重启 PassWall2,等待数秒后查看页面状态。
  3. 用 ps确认对应核心进程存在,用 tail确认日志没有新的启动、证书、端口或解析错误。
  4. 在路由器上测试 DNS,再在一台终端上确认网关、DNS 和代理规则命中。
  5. 先访问一个普通网页,再测试需要代理的业务;若只有特定网站失败,回到分流、IPv6 或 DNS 规则排查。
  6. 确认稳定后,再逐项恢复 FakeDNS、复杂分流、负载均衡或其他插件,每次只改一个变量。

若重新启动后仍然失败,保留以下信息再寻求帮助:OpenWrt 版本、设备架构、PassWall2 版本、所选核心、错误关键词、是否主路由或旁路由,以及脱敏后的日志片段。不要公开订阅地址、用户名、密码、密钥或完整节点链接。

常见问题

PassWall2 显示 Core 未运行,但节点测试成功,怎么办?

先确认页面选择的核心文件是否存在,再执行 ps 查看进程,并立即查看 /tmp/log/passwall2.log。节点测试成功不等于透明代理核心已按当前配置启动;应优先处理日志中最早出现的 not found、permission、listen 或配置生成错误。

PassWall2 所有节点都超时,是不是订阅失效?

不能直接下结论。先确认路由器基础网络和 DNS 正常,再检查核心是否运行、防火墙规则是否加载、系统时间是否正确。只有在同一时间、同一配置下全部节点都无法完成实际代理连接,才适合继续核对订阅来源和节点参数。

为什么 TCP Ping 正常,但 PassWall2 仍然打不开网页?

TCP Ping 只适合做基础可达性对照,不能证明认证、TLS、协议参数、DNS 和代理转发全部成功。请用单节点实际访问测试,并同时查看 Core 日志、DNS 解析结果和终端规则命中情况。

PassWall2 开启后全网断网,如何安全恢复?

先关闭 PassWall2 或停用透明代理,确认路由器直连恢复;然后检查最近修改的核心、DNS、TUN/TProxy、端口和防火墙规则。一次只恢复一个配置项,验证日志和终端访问后再继续。

旁路由上 PassWall2 连接失败,主路由却正常,重点看什么?

重点检查旁路由默认网关、LAN 地址、DHCP 和 DNS 角色。终端必须把旁路由作为实际网关,且不能同时接受多个设备下发的冲突 DHCP;还要排除终端自定义 DNS、IPv6 和浏览器安全 DNS。

相关阅读

参考资料

  1. GitHub:Openwrt-Passwall/openwrt-passwall2 上游仓库
  2. GitHub:PassWall2 LuCI 控制器与日志路径代码
  3. GitHub:PassWall2 启动脚本与核心检测代码
  4. OpenWrt Wiki:Netfilter Management(openwrt.org)
  5. OpenWrt Wiki:Firewall overview(openwrt.org)