高墙之外❤️

PassWall sing-box 设置:订阅无节点、核心不启动怎么排查

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

简答:PassWall 使用 sing-box 时,先确认固件架构、包管理器和核心路径,再导入订阅并把节点使用类型设为 sing-box;首次只验证单节点、DNS、TCP 和出口 IP,确认日志正常后再启用 UDP、IPv6、TPROXY、规则集与自动选节点。

定义:PassWall sing-box 设置,是在 OpenWrt 的 PassWall 或 PassWall2 中准备 sing-box 核心,并完成订阅、节点、DNS、透明代理、分流和连通性验证的过程。

先按五步完成最小可用配置

订阅更新后节点为零,最先检查的通常不是 DNS,而是订阅条目的节点使用类型是否明确设为 sing-box。建议按下面顺序操作:①确认 PassWall 或 PassWall2 及固件架构;②安装或更新匹配的 sing-box 核心;③添加订阅并明确选择 sing-box 节点类型;④只选一个节点,保存并应用后查看日志;⑤通过实际连接和出口 IP 验证,再增加 UDP、IPv6、TPROXY、规则集和自动选节点。

PassWall sing-box 设置五阶段速查
阶段操作通过标准
1. 核心检查架构、包管理器、核心路径和运行权限sing-box version 能返回版本,日志没有执行文件或架构错误
2. 订阅添加订阅并手动更新更新日志完成,节点列表出现可编辑节点
3. 单节点将节点使用类型设为 sing-box,选择一个节点为主节点核心生成配置并成功启动
4. 连通性查看日志、监听状态和出口 IP代理策略命中,测试请求得到预期结果
5. 扩展逐项开启 UDP、IPv6、TPROXY、规则集或 URLTest每次只改变一个变量,新增功能不会破坏单节点连接

本站是第三方使用指南,不代表 PassWall、PassWall2 或 sing-box 项目官方页面。PassWall 与 PassWall2 的代码仓库分别维护,菜单和字段不能完全互换,可先查看 PassWall 官方仓库 与 PassWall2 官方仓库。

PassWall 与 PassWall2:菜单路径不要混用

PassWall 和 PassWall2 的设置入口对照
项目进入方式订阅或节点位置默认节点位置
PassWallLuCI → 服务 → PassWall节点订阅或节点管理 → 添加订阅、更新订阅基本设置 → TCP 节点、UDP 节点等字段
PassWall2LuCI → 服务 → PassWall2节点列表或订阅管理 → 添加节点、更新订阅基本设置 → 主节点

如果你的中文翻译或固件构建略有差异,应以页面顶部显示的项目名称和字段标签为准。PassWall2 官方仓库将其描述为 OpenWrt LuCI 代理应用,并在项目说明中列出节点、订阅和核心相关功能;不要因为菜单名称相似,就把 PassWall2 的“主节点”字段套到 PassWall 的页面中。

实际操作时,先确认页面中存在“节点使用类型”“核心程序”“主节点”或“TCP 节点”等字段。找不到对应字段时,不要直接编辑生成配置,先确认安装的是哪一个插件及其版本分支。

安装 sing-box 前:检查架构、包管理器和核心状态

  1. 通过 SSH 登录路由器,先查看固件信息和 CPU 架构:cat /etc/openwrt_release、uname -m、opkg print-architecture 2>/dev/null || true。
  2. 确认系统使用的包管理器:opkg --version 或 apk --version。显示可用的命令才是当前固件对应的包管理器,不要混装 IPK 和 APK。
  3. 如果软件源提供匹配架构的 sing-box 包,可使用对应包管理器安装,例如 OpenWrt 常见命令为 opkg update 和 opkg install sing-box。安装失败时先检查软件源、固件版本、架构和依赖,不要强行覆盖系统库。
  4. 安装后执行 sing-box version 与 which sing-box,确认文件存在且可执行。LuCI 中也应检查组件管理或软件包页面的安装状态。
  5. 如果手动下载资产,校验对象应是下载得到的原始 IPK、APK 或压缩文件;先核对资产名称和架构,再校验 SHA-256,不要只校验解压后的文件。PassWall2 发布页与 sing-box 上游发布页是两个独立来源,PassWall2 发布页附带的核心资产不能直接理解为 sing-box 上游最新版本。

截至 2026-10-24,PassWall2 与 sing-box 的 Releases 页面各自维护版本信息;安装或升级前应以对应项目的 Releases 页面为准:PassWall2 Releases、sing-box Releases。本文不固定写死某个核心版本,避免把插件附带资产误当作上游最低要求。

查看运行状态时,优先使用 LuCI 的系统日志、PassWall 日志和进程检查。路由器本机可以执行 ps | grep '[s]ing-box'、pgrep -a sing-box;如果固件提供 net-tools,再执行 netstat -lntup | grep sing-box。部分精简固件没有 ss,不必为了套用其他平台命令而额外安装工具。

订阅更新后节点为零:先改节点使用类型

  1. 进入 PassWall 或 PassWall2 的订阅管理,粘贴订阅地址并保存。
  2. 手动点击更新订阅,查看更新结果和错误日志,不要只看节点列表数量。
  3. 在订阅条目中找到“节点使用类型”或相近字段,明确选择 sing-box;不要只保留“使用全局配置”。
  4. 回到节点列表,确认节点已经出现,再打开一个节点检查服务器地址、端口、协议、密码、UUID、TLS SNI 和传输方式。
  5. 先将一个节点设为主节点,保存并应用,确认核心启动后再建立 URLTest 或自动选择节点。

PassWall 官方讨论中记录过一种可复现的配置思路:全局核心选择 sing-box 后,如果订阅条目仍使用“使用全局配置”,部分 VLESS、VMess、Hysteria2 和 Shadowsocks 节点可能未按预期解析;将订阅条目的节点使用类型明确指定为 sing-box,再重新更新,是优先级更高的排查动作。可参考 PassWall 官方讨论 #4289。

如果节点数量仍为零,再按顺序检查订阅地址可访问性、订阅格式、更新日志、核心是否已安装、节点协议是否被当前插件解析,以及系统时间和存储空间。不要在节点尚未生成时先修改复杂分流规则。

协议怎么选:先看字段和核心适配,不只看协议名称

PassWall 中 sing-box 与其他核心的选择思路
节点类型起步选择出现问题时检查
Shadowsocks、Trojan、VMess、VLESS可先尝试 sing-box协议字段、TLS、UUID、服务器地址和传输方式是否完整
Hysteria2按 PassWall 版本和已安装组件选择UDP 是否可用、TLS 配置、端口、SNI 和核心日志
TUIC先确认当前构建是否提供对应核心支持UDP、防火墙、TLS 和节点字段是否完整
AnyTLS先核对 sing-box 版本和 PassWall 解析能力较新的 sing-box 支持情况、配置字段和启动日志
VLESS + XHTTP按 PassWall 讨论和实际日志决定,必要时切换 Xray当前 sing-box 构建是否支持该传输组合,是否出现不支持或字段错误
复杂自定义传输以实际生成配置和核心日志为准不要把其他内核的字段直接复制到 sing-box

sing-box 官方 outbound 文档列出了多种出站类型,但某个协议名称存在,并不代表每个订阅组合都能被 PassWall 自动转换。判断标准应是:节点字段能够完整映射、核心能够生成配置、进程能够启动、日志没有不支持字段,并且实际连接成功。协议类型可参考 sing-box 官方 outbound 文档。

Hysteria2 需要特别区分“代理流量类型”和“底层传输”:它依赖 UDP 上的 QUIC;配置中的 network 字段只决定代理 TCP、UDP 或其他哪类流量,不会把 Hysteria2 的底层传输改成 TCP。测试 Hysteria2 超时时,应检查 UDP 放行、服务器端口、TLS、SNI 和系统时间,不能只修改 network 字段。相关字段以 sing-box 官方 Hysteria2 文档为准。

DNS、IPv6、TPROXY 和规则集:主路由与旁路由分开处理

主路由:首次配置先使用单一 DNS 策略和单节点,优先验证 TCP、域名解析和实际出口 IP。确认基础链路正常后,再增加 DNS 分流、UDP、TPROXY 和规则集。

旁路由:先确认终端设备的网关和 DNS 确实指向旁路由。如果终端仍由主路由下发网关或 DNS,PassWall 页面显示运行,也不代表终端流量会经过旁路由。

IPv6:首次排障可以暂时关闭 IPv6 透明代理,或先用 IPv4 验证。IPv4 正常后再单独启用 IPv6;如果终端通过 IPv6 直连而 IPv4 经过代理,常见表现就是部分连接正常、部分连接超时。

TPROXY 和防火墙:先保持固件默认防火墙模式,只验证 TCP;需要 UDP、QUIC 或全屋透明代理时,再确认 TPROXY、Nftables、UDP 端口和节点协议相互匹配。

规则更新:GeoIP、GeoSite 或远程规则集下载失败时,依次检查规则 URL、DNS、下载是否需要经过代理、系统时间、存储空间和文件权限。下载完成后查看规则更新时间和日志,不要只看“规则开关”是否打开。规则更新失败时,可先使用少量本地规则验证直连、代理和拒绝三类动作,再恢复远程规则集。

现象、日志关键词与先改哪里

PassWall sing-box 故障排查清单
现象重点日志或检查项先改哪里
订阅更新后节点为零订阅更新结果、节点使用类型、订阅格式把订阅条目的节点使用类型明确设为 sing-box,再重新更新
核心不启动核心路径、架构、执行权限、生成配置确认安装包与架构匹配,再查看 LuCI 日志和进程状态
节点测试超时服务器地址、端口、TLS、SNI、系统时间先手工选择单节点;UDP 节点额外检查防火墙和 UDP 连通性
批量节点或 URLTest 不生效节点组是否真的包含节点、测试 URL、保存应用结果先关闭自动选择,验证单节点后再重新建立节点组
规则更新失败下载 URL、DNS、代理路径、存储空间、文件权限先测试规则 URL 和磁盘空间,再检查下载是否需要走代理
IPv4 正常、IPv6 异常终端 IPv6 地址、透明代理设置、IPv6 路由临时关闭 IPv6 透明代理,确认 IPv4 链路后再单独启用
核心版本过旧或字段不识别sing-box version、插件发布说明、启动日志通过 LuCI 软件包或匹配软件源升级,升级后重新生成配置
端口监听正常但网页打不开连接日志命中的策略、DNS 结果、终端网关和 DNS先确认请求是否命中代理,再分别排查 DNS 和访问控制

验证出口 IP 时,需要把示例中的“端口”替换为 PassWall 基本设置或 Socks 配置页显示的实际端口,不要套用其他客户端的固定端口。若该端口提供 SOCKS5,可在路由器上尝试 curl -x socks5h://127.0.0.1:端口 https://api.ipify.org;命令返回的 IP 应与未经过代理的结果进行对比。若 curl 不可用,可在终端执行 nslookup 域名 路由器地址,观察 DNS 请求是否指向预期的路由器。最终仍要结合连接日志中命中的直连、代理或拒绝策略判断。

每次只修改一个变量,并在 LuCI 中点击保存并应用后重新看日志。若进程没有启动,优先查核心;若进程启动但域名失败,优先查 DNS;若域名解析正常但特定协议失败,优先查协议字段、TLS、UDP 和核心适配。

常见问题

PassWall 订阅更新后显示节点数量为零,先改什么?

先查看订阅更新日志,再检查订阅条目的节点使用类型。将其明确设为 sing-box 后重新更新;仍然为空时,再检查订阅地址、格式、核心包、协议解析和存储空间。

PassWall 和 PassWall2 的 sing-box 设置可以照搬吗?

不能完全照搬。PassWall 常见入口是基本设置中的 TCP 节点、UDP 节点等字段,PassWall2 常见入口是基本设置中的主节点;应按当前页面项目名称和字段操作。

Hysteria2 的 network 设置是不是把底层传输改成 TCP?

不是。Hysteria2 的底层传输依赖 UDP 上的 QUIC,network 字段只限制代理哪类流量。测试超时时应检查 UDP、防火墙、端口、TLS 和 SNI。

核心版本过旧或协议字段不识别怎么办?

先执行 sing-box version,再查看 PassWall、PassWall2 和 sing-box 的对应发布说明。通过 LuCI 软件包或匹配软件源升级,重新生成配置后查看启动日志,不要把其他核心的字段直接复制过来。

首次配置要不要同时开启 IPv6、TPROXY、QUIC 和规则集?

不建议。先验证单节点、TCP、DNS、日志和出口 IP,再逐项增加 UDP、QUIC、TPROXY、IPv6 和远程规则集,每次只改一个变量。

相关阅读

参考资料

  1. PassWall 官方仓库
  2. PassWall2 官方仓库与项目说明
  3. PassWall 官方讨论:sing-box 相关功能的设置未正常生效
  4. PassWall2 官方 Releases 页面
  5. sing-box 官方 Releases 页面
  6. sing-box 官方 outbound 配置文档
  7. sing-box 官方 Hysteria2 outbound 文档