高墙之外❤️

PassWall 排查问题怎么做?从断网、DNS到分流异常逐层定位

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

简答:PassWall 排查问题应按“基础网络→节点与核心→DNS→分流规则→IPv6/UDP→防火墙”顺序进行。先在 OpenWrt 的“网络→诊断”中测试网关、IP 和域名,再查看 PassWall 日志与 DNS 状态;只有确认本地网络、解析和规则都正常后,才判断是否需要更换节点。

定义:PassWall 排查问题,是把路由器联网故障拆成基础链路、代理核心、DNS、分流、协议和防火墙多个层级,逐层验证并保留可回滚改动的诊断方法。

先看这张排查表:不要把所有问题都当成节点故障

本站是第三方使用指南站,不是任何客户端或插件的官方站点。PassWall 出现断网时,建议先保持当前配置不变,记录故障时间、受影响设备、访问失败的域名以及 PassWall 日志,再按下表从上到下检查。

现象先检查什么通常如何判断优先处理
路由器本身无法访问网络WAN 地址、默认网关、网关与公网 IP连基础网络都不通,尚未进入 PassWall 排查范围先修复 OpenWrt 网络接口或上游线路
IP 能通但域名打不开nslookup、DNS 服务状态、53 端口占用IP 测试成功而域名解析失败,优先看 DNS检查 dnsmasq、PassWall DNS 与第三方 DNS 组件
只有部分网站或应用失败代理模式、规则列表、TCP/UDP 要求直连和代理路径结果不同,通常是分流或协议差异先做单域名规则验证,不要立即改全局配置
所有节点测试失败订阅内容、节点域名解析、核心日志多个节点同时失败,优先怀疑订阅、DNS或核心启动查看日志后再更新订阅或切换核心
运行数小时后断流DNS 是否仍显示运行中、自动切换日志、服务重启记录若重启主开关后恢复,需重点检查自动切换与 DNS 链路先关闭自动切换复测,保留日志

OpenWrt 官方建议先使用“网络→诊断”进行连通性测试,也可以通过 SSH 执行 ping;官方文档同时建议使用 logread 查看系统日志。可参考 OpenWrt Internet connectivity and troubleshooting 与 OpenWrt 日志查看说明。

第一层:先确认不是 OpenWrt 或上游网络断了

现象

开启或关闭 PassWall 后,路由器和局域网设备都无法联网,或者管理页面能打开但 WAN 没有有效地址。

检查

  1. 进入 LuCI 的“网络→接口”,打开 WAN,记录 IPv4 地址、默认网关和 DNS。
  2. 进入“网络→诊断”,分别测试默认网关、一个公网 IP 和一个域名。
  3. 通过 SSH 执行 ip route、ping -c 4 网关地址、ping -c 4 1.1.1.1、ping -c 4 openwrt.org。
  4. 执行 logread -e netifd,查看接口是否反复 up、down 或重新获取地址。

判断

网关都无法到达,优先检查网线、上游路由、WAN 配置或地址冲突;公网 IP 能通而域名不通,转到 DNS 层;只有经过代理的目标失败,才进入节点和分流层。

处理

先暂时关闭 PassWall 主开关,确认普通直连是否恢复。若关闭后仍不能访问,修复 WAN 或上游网络;若关闭后恢复,记录 PassWall 状态和日志,再继续下一层检查。

回滚

只恢复最近一次改动,不要同时重置 DNS、规则和防火墙。若无法确定改动内容,可导出当前配置后再恢复上一个已知可用的配置备份。

第二层:DNS 解析失败、DNS 未运行与第三方组件冲突

现象

网页提示找不到域名,节点域名无法解析,或者 PassWall 页面中的 DNS 状态显示“未运行”。也可能出现 IP 地址可访问,但域名访问失败。

检查

  1. 在路由器 SSH 中执行 nslookup openwrt.org 127.0.0.1,再执行 nslookup openwrt.org,比较本机 DNS 与系统默认 DNS 的结果。
  2. 检查“网络→DHCP/DNS”中的 dnsmasq 是否正在运行,并确认没有其他服务占用本地 DNS 监听端口。
  3. 查看 PassWall“基本设置”中的 DNS 分流模式、直连 DNS、远程 DNS 和默认 DNS;修改前先截图或导出配置。
  4. 执行 logread -e dnsmasq 与 logread -e passwall,重点看上游超时、解析失败、端口占用和服务反复重启。

判断

OpenWrt 默认使用 dnsmasq 提供下游 DNS/DHCP 服务,DNS 通常涉及 UDP 和 TCP 53 端口,具体说明见 OpenWrt DHCP 与 DNS 配置文档。如果本地 DNS 查询失败,先解决服务或端口问题;如果本地查询成功但代理目标仍打不开,再检查远程 DNS 和分流规则。

PassWall 的公开讨论中给出了最小化 DNS 配置思路,也提醒第三方 DNS 组件的上游连接可能影响整个路由器。该讨论属于社区经验,不等于所有版本的固定默认值,菜单名称和可选项应以当前版本界面为准,可参考 PassWall 常见问题问与答合集。

处理

  1. 先暂时停用额外的 DNS 转发组件,只保留 OpenWrt 自带 dnsmasq 与 PassWall 内置分流进行复测。
  2. 在 PassWall DNS 页面使用当前版本提供的基础分流选项,填写可解析的直连 DNS 与远程 DNS。
  3. 点击“保存&应用”后,再执行两次 nslookup,确认结果不再超时。
  4. 若只有某个域名错误,将其加入对应的直连或代理列表进行单域名验证,不要一次性改整套规则。

回滚

若改动后所有设备都无法解析,立即恢复原 DNS 组件配置,关闭刚添加的转发服务,并重启对应服务。不要在没有备份的情况下直接删除 /etc/config/dhcp 或防火墙配置。

第三层:节点、核心与分流规则要分开判断

现象

节点列表存在但全部测试失败,或者只有某些网站、游戏、语音应用无法连接;也可能出现测速结果正常,但实际网页打不开。

检查

  1. 先确认订阅更新时间、节点域名、端口、协议参数和 TLS/SNI 等字段是否仍完整;不要把“节点显示在列表中”当成“节点一定可用”。
  2. 查看 PassWall 日志,区分核心未启动、节点连接失败、DNS 解析失败、TLS 握手失败和规则未命中。
  3. 将模式临时改为当前版本支持的简单模式,选择单个节点,关闭自动切换,保存后只测试一个目标地址。
  4. 对游戏、语音或其他实时应用,单独确认出口是否支持 UDP;网页能打开不代表 UDP 一定可用。

判断

多个节点同时无法解析,优先检查 DNS 或订阅;单个节点连接失败,检查节点参数和出口;网页正常而实时应用失败,重点检查 UDP、核心实现和分流规则。PassWall 社区讨论将 UDP 异常归因于出口不支持、网络不稳定或所选核心行为差异,这些只能作为排查线索,最终仍应以日志和替换测试为准。

处理

  1. 关闭自动切换,固定一个节点并保存,避免自动切换同时改变节点、DNS 和防火墙状态。
  2. 将一个明确需要代理的域名加入代理列表,将一个明确需要直连的域名加入直连列表,分别测试。
  3. 如果只有特定应用失败,记录其使用的协议和端口,再判断是 TCP、UDP 还是 DNS 问题。
  4. 若日志显示核心启动失败,先核对核心文件、架构和权限;版本或核心兼容性无法从现有资料确认时,标记为“需核实”,不要凭经验更换版本。

回滚

测试完成后恢复原来的代理模式、节点选择和规则列表。若固定节点有效、自动切换无效,先保留固定节点运行并保存自动切换日志,随后再单独验证自动切换。

第四层:间歇性断流、IPv6 和防火墙规则

间歇性断流:现象→检查→判断→处理→回滚

现象:运行一段时间后网页大量打不开,PassWall DNS 显示未运行,重新切换主开关后暂时恢复。

检查:立即保存 logread 输出,搜索 passwall、dnsmasq、nft 和 restart;同时查看是否存在自动切换、自动更新规则或定时重启记录。

判断:公开 Issue #3409 记录了自动选择节点时出现不定期断连、DNS 显示未运行和反复切换节点的现象,但该 Issue 只代表具体报告,不能直接推断所有设备都有同一原因,可参考 PassWall Issue #3409:不定期断连。

处理:先关闭自动切换和自动更新规则,固定单节点复测;若问题消失,再一次只开启一个自动功能,观察日志变化。

回滚:恢复原有定时任务和节点策略,保留故障前后的日志,必要时联系维护者或服务提供方。

IPv6:现象→检查→判断→处理→回滚

现象:IPv4 访问正常,但启用 IPv6 的设备打不开目标,或部分应用优先使用 IPv6 后表现异常。

检查:在客户端执行 ping -6 或查看 IPv6 地址;在 LuCI“网络→接口”确认 WAN 和 LAN 是否获得有效 IPv6;再检查 PassWall 高级设置中的 IPv6 透明代理、TCP 代理方式和防火墙组件。

判断:本地没有有效 IPv6 或出口不支持 IPv6 时,仅勾选代理选项不能解决问题。公开讨论也提到 IPv6 透明代理与固件防火墙模块、其他网络软件之间可能存在兼容性条件,具体版本需核实。

处理:先关闭客户端的 IPv6 或在 PassWall 中暂时不代理 IPv6,确认 IPv4 路径正常;确认本地和出口均支持后,再按当前版本界面逐项启用。

回滚:撤销 IPv6 透明代理改动,恢复原有 WAN、LAN 和防火墙设置。

防火墙:不要用旧版命令直接套用

OpenWrt 22.03 及以后默认使用 firewall4,并以 nftables 作为后端;官方文档说明了 firewall4 与旧版 firewall3 的区别,见 OpenWrt Firewall overview 与 OpenWrt Firewall configuration。因此排查时先执行 fw4 print 或 nft list ruleset 查看实际规则,再判断是否存在 PassWall 相关链或规则。规则缺失时,先在 PassWall 中重新“保存&应用”并查看日志,不要直接套用只适用于旧版 firewall3 的命令。

回滚:修改防火墙前备份 /etc/config/firewall;如果保存后 LAN 全部断网,通过本地 SSH 或安全的管理入口恢复备份,再重载防火墙。

一套可复制的收尾判断:什么时候换节点,什么时候继续查本机

  • 换节点前:确认 WAN、网关、公网 IP、DNS 和核心均已正常。
  • 优先查本机:多个节点同时失败、所有域名都无法解析、PassWall DNS 未运行、服务反复重启或防火墙规则未加载。
  • 优先查节点:只有一个节点失败,其他节点和同一客户端配置均能正常连接。
  • 优先查分流:直连网站正常,只有特定域名、应用或协议失败。
  • 联系服务提供方前:准备故障时间、节点名称、错误日志、是否仅 UDP 失败、是否关闭 PassWall 后恢复,以及固定节点与自动切换的对比结果。

如果问题在关闭 PassWall 后仍然存在,它就不应继续被归类为 PassWall 故障;如果只有 PassWall 开启后出现问题,则应保留最小复现配置,避免同时修改 DNS、规则、核心和防火墙。

常见问题

PassWall 开启后完全断网,第一步应该做什么?

先关闭 PassWall 主开关,进入“网络→接口”确认 WAN 地址和网关,再在“网络→诊断”测试网关、公网 IP 与域名。若关闭后仍无法访问,优先排查 OpenWrt 或上游网络;若关闭后恢复,再检查 DNS、核心和防火墙。

PassWall 节点测速正常,为什么网页还是打不开?

测速通常只能说明某个测试目标在某条路径上有响应,不代表 DNS、分流规则、TLS、IPv6 和网页实际访问都正常。应固定单节点,先执行域名解析测试,再分别验证直连列表、代理列表和客户端实际访问路径。

DNS 显示未运行,是否一定是节点失效?

不一定。DNS 未运行可能与 dnsmasq、上游 DNS 超时、端口占用、第三方 DNS 组件或服务重启有关。先查看 <code>logread -e dnsmasq</code> 和 PassWall 日志,并测试 <code>nslookup</code>,确认解析层后再判断节点。

PassWall 只有游戏或语音应用无法使用,网页正常,怎么判断?

先确认应用是否依赖 UDP,再确认所选出口是否支持 UDP;同时检查分流规则是否只覆盖 TCP。网页正常不能证明 UDP 路径正常,建议固定节点、关闭自动切换并进行单应用复测。

OpenWrt 防火墙排查应使用 iptables 还是 nftables?

先根据 OpenWrt 版本确认防火墙后端。OpenWrt 22.03 及以后默认使用 firewall4 和 nftables,建议查看 <code>fw4 print</code> 或 <code>nft list ruleset</code>;旧版环境才可能以 firewall3/iptables 为主,具体以设备实际安装情况为准。

相关阅读

参考资料

  1. OpenWrt Internet connectivity and troubleshooting(openwrt.org)
  2. OpenWrt Logging messages(openwrt.org)
  3. OpenWrt DHCP and DNS configuration(openwrt.org)
  4. OpenWrt Firewall overview(openwrt.org)
  5. OpenWrt Firewall configuration(openwrt.org)
  6. PassWall 常见问题问与答合集 #3480