PassWall 介绍和使用指南(OpenWrt 软路由代理插件)
软件介绍

OpenWrt 软路由代理插件,LuCI 界面管理 SS/SSR/V2Ray/Xray/Trojan/Hysteria 多种协议。
PassWall 是 OpenWrt 上最老牌的多协议代理插件之一,把代理服务直接做到路由器网关层:局域网设备连上 WiFi 就自动走 透明代理路由器把局域网设备的流量自动转发到代理链路,设备上零设置,这是软路由插件的核心能力。 ,不用挨个设备配代理。它和 OpenClash 走的是两条路——OpenClash 基于 Clash/mihomo 内核、靠策略组分流,PassWall 基于 xray/Sing-box 内核、靠路由规则分流,没有策略组那套概念,配置逻辑更直白:配好节点、设好分流规则、打开主开关就能跑,这是很多人从 OpenClash 换过来的原因。
项目托管在 Openwrt-Passwall/openwrt-passwall,作者 xiaorouji,用 Lua 编写、协议 GPL-3.0,官方一句话介绍是"OpenWrt LuCI 多协议路由代理(SS/SSR/V2Ray/Xray/Trojan/Hysteria)";截止到本文更新时间,仓库 Stars 约 1 万,开发节奏接近周更。我写这篇时用的环境是 OpenWrt 24.10.7 虚拟机 + PassWall 26.8.12(2026-08-12 发布),下面所有界面描述都来自这版真实中文界面,截图不含任何真实订阅和节点信息。

图注:PassWall 主界面,顶部是九个功能标签页,运行状态卡片显示 TCP/UDP/DNS/HAProxy 四项状态,下面依次是主开关、TCP/UDP 节点选择、Socks 配置区。
身世:2018 年出生,和 PassWall 2 的"兄弟之争"
PassWall 的仓库 2018 年 10 月就建立了,是 OpenWrt 上最早的多协议代理插件之一。OpenWrt 的代理生态最早是 Shadowsocks、SSR 各写各的插件,PassWall 靠"一个插件通吃 SS/SSR/V2Ray/Xray/Trojan/Hysteria“打出口碑,中文界面加中文文档,在国内软路由圈子里积累了大量老用户。
作者 xiaorouji 后来另起炉灶,维护了独立的 PassWall 2(openwrt-passwall2)仓库,版本号同样按日期走,更新频率和 v1 一样快。OpenWrt 官方文档明确写了 luci-app-passwall 和 luci-app-passwall2 是两个独立插件,可以同时安装,也可以按需二选一(文档见 OpenWrt PassWall 章节)。社区里的共识是:v1 教程多、资料全,v2 界面和配置逻辑更接近新版需求,我这篇按 v1 写,v2 的界面差异会在文末对比里点一下。
顺带把 OpenWrt 插件生态的定位捋清楚:PassWall 主打配置直接,OpenClash 主打策略组精细分流(详见本站 OpenClash 介绍和使用指南),Hello World 是 SSR Plus+ 的延续(fw876/helloworld 重建,详见本站 Hello World 介绍和使用指南),老用户从 SSR Plus+ 迁过来成本最低。三个插件功能重叠但思路不同,选型表放在文章最后。
先过一遍术语:
- 节点:机场提供的一台代理服务器,包含协议、地址、端口、密码。
- 订阅:机场发给你的链接,里面打包了全部节点信息,插件更新后自动拉取。
- 内核:真正干代理活的程序,PassWall 是管理界面,xray、sing-box 才是转发流量的引擎。
- 分流规则:按域名、IP 把不同流量导向代理或直连的规则。
- 策略组:一组节点的集合,Clash 系内核按规则或延迟从中选一个,PassWall 不搞这套。
- Fake-IP:路由器先给域名分配假 IP,按域名转发、节点侧解析真实 IP,用来防 DNS 污染。
优点和缺点
优点:
- 配置直接:没有策略组概念,配节点、选节点、开开关三步走
- 多核心支持:xray、v2ray、Sing-box、SS/SSR 可切换,新协议跟进快
- 活跃维护:版本号按日期走,截止到本文更新时间基本每周一版
- 国人开发:中文界面和文档,报错也能在中文社区搜到答案
- 轻量:不依赖 Clash 那套配置体系,内存占用比 OpenClash 小
缺点:
- 没有策略组:想要 Clash 那种"一组节点自动选优"的精细分流不适合
- LuCI 界面传统:界面是 OpenWrt 标准风格,不算好看但功能完整
- 依赖组件多:核心、DNS 组件要单独装,官方源里还没有,装起来比 OpenClash 多几步
下载安装
动手前确认几件事,能省掉一大半报错:
- CPU 架构:
x86_64、aarch64、ramips等架构的包不能互换,命令行执行uname -m可以看,LuCI 状态页也能看到。 - OpenWrt 分支:PassWall 的包按 22.03、23.05-24.10、25.12+ 三个分支发布,23.05 和 24.10 的包不能混用,装错版本会报依赖错误。
- 先关掉其他代理插件:装之前确保软路由能正常上网,其他代理插件先停用,否则代理端口互相冲突。
- 存储空间:插件本体加核心几十 MB,先
df -h看剩余空间。 - 装前备份:在 LuCI 的系统 → 备份/恢复导出一份当前配置存到电脑。
▸方案一:软件源里有 PassWall(最省事)
部分定制固件(iStoreOS 这类)自带 passwall 软件源:进 LuCI 的系统 → 软件包,先点更新列表,再搜 luci-app-passwall,能搜到直接点安装,依赖一起装好。装完后服务菜单里出现 PassWall,点进去就能看到界面。
适合:固件自带源或源里有包的用户,全程在网页上点几下就完事。
▸方案二:GitHub Releases 下 ipk 手动装(通用)
官方 OpenWrt 软件源里没有 luci-app-passwall——它的依赖 chinadns-ng、dns2socks、tcping 在官方源里没有,immortalwrt 的源里也没有(截止到本文更新时间如此),所以别在软件包页傻等,直接去 PassWall Releases 页面 下载:
- 按 OpenWrt 分支选包:22.03 用
22.03-_luci-app-passwall_版本_all.ipk,23.05/24.10 用23.05-24.10_luci-app-passwall_版本-r1_all.ipk,25.12+ 用.apk格式的包(新版 OpenWrt 的 apk 包管理器)。 - 顺手下载同版本的中文语言包
luci-i18n-passwall-zh-cn_版本_all.ipk。 - 核心和依赖去 openwrt-passwall-packages Releases 下载对应架构的 xray-core、sing-box、v2ray、chinadns-ng、tcping 等 ipk。
上传到路由器后执行(包名按实际下载版本写):
opkg update
opkg install luci-app-passwall_26.8.12_all.ipk luci-i18n-passwall-zh-cn_26.8.12_all.ipk
opkg install xray-core_*.ipk sing-box_*.ipk chinadns-ng_*.ipk tcping_*.ipk
不想进命令行的,用 LuCI 的系统 → 软件包 → 上传安装包,网页传完直接装。注意三点:架构目录对得上、分支版本对得上、依赖一起下载,混搭不同来源的包容易撞依赖。
▸方案三:编译进固件(进阶)
需要最新代码或定制固件的用户,可以在 feeds.conf.default 顶部添加两行,把 PassWall 编译进固件:
src-git passwall_packages https://github.com/Openwrt-Passwall/openwrt-passwall-packages.git;main
src-git passwall_luci https://github.com/Openwrt-Passwall/openwrt-passwall.git;main
编译进固件的好处是核心、依赖、插件一次到位,开机即用;代价是编译环境、feeds 配置都要自己处理,出错面比前两种大得多。第一次接触 OpenWrt 的别碰这条。
安装常见报错:
- 依赖装不上:
opkg install报错会列出缺的包,逐个补装;部分依赖官方源没有,去 packages Releases 找同架构包。 - 文件冲突:固件已内置旧版 PassWall 时直接装新版可能报冲突,先卸载旧版再装。
- 装完菜单不出现:刷新 LuCI 或重启 LuCI 服务;还不行,检查包是不是装到了正确的分区。
- 版本号看不懂:PassWall 的版本号就是日期,26.8.12 = 2026 年 8 月 12 日发布,看到比这新的版本说明又更新了。
使用教程
界面一览
PassWall 顶部有九个标签页:基本设置、节点列表、节点订阅、高级设置、组件更新、规则管理、规则列表、访问控制、服务器端、运行日志;基本设置内部还有六个子标签:主要、DNS、模式、日志、FAQ、维护。日常使用主要碰前三个标签页,进阶配置在后半篇。
打开基本设置,顶部是运行状态卡片:TCP、UDP、DNS、HAProxy 四项状态(HAProxy 没装时显示未安装,这是可选的负载均衡组件,平时不用管);下面一排是阿里连接、谷歌连接、GitHub 连接、YouTube 连接四个连通性检测,每个后面有”点我检测“按钮,代理开没开、通不通,点一下就知道了。
第一步:添加节点订阅
订阅是机场给的链接,PassWall 靠它批量拉取节点:
- 切到顶部节点订阅标签页,点添加。
- 弹出表单里填订阅备注(写机场名,方便认)和订阅网址(机场后台复制)。
- 点保存并应用,回到订阅列表。
- 列表里新行出现后,点这行的手动订阅按钮,等待拉取完成。
界面里有一句提示原文:“新增订阅请先保存并应用后再手动订阅;如仅修改订阅地址,可直接手动订阅,系统将自动保存”——第一次添加务必先保存再手动订阅,直接点手动订阅会拉不到东西。

图注:节点订阅管理页,左边是丢弃列表(默认带剩余流量、套餐到期等关键词),右边是订阅行,一行一个机场。
订阅页有两个细节值得说:丢弃列表默认带剩余流量、套餐到期、过期时间、QQ群、官网这类关键词,节点名命中关键词的直接丢弃,机场节点里混的"官网"“QQ 群"广告节点会被自动过滤;下方Shadowsocks、Trojan、VMess、VLESS、Hysteria2 五个协议的节点使用类型默认都是自动,保持默认即可,界面说明是"配置的类型同样适用于手动导入节点时所指定的核心程序”。
▸订阅表单里的几个可选项(小白保持默认)
点添加后弹出的订阅表单,除了备注和网址还有几个选项,界面都给了原文说明:
- 域名 DNS 解析:默认自动。界面说明是"如果节点地址是域名,则将使用此 DNS 进行解析,仅支持 Xray 或 Sing-box 类型节点",并提示"仅用于节点专用 DNS,通常请保持自动,以免增加开销"。
- 域名解析策略:默认自动,界面说明"如果是域名,域名将在请求发出之前解析为 IP"。
- 允许不安全连接:默认不勾。界面说明"是否允许不安全连接,当勾选时,将跳过证书验证;当节点链接未包含该参数时,将使用此设置"。
- Hysteria2 最大上行/下行(Mbps):默认各 100,机场有特殊要求才改。
第二步:节点列表测速与选择
订阅拉回来后,切到节点列表标签页:
- 勾选显示服务器地址和端口,列表里能看到节点地址(默认不勾,避免页面直接暴露节点域名)。
- 每行有 Ping、TCPing、URL 测试三个按钮,单测一个节点用;想全部测一遍,点上面的自动检测延迟。
- URL 测试地址默认是 Google,用来测节点能不能开谷歌系网站,可以改成自己的测试目标。
- 按测速结果记下好用的节点,改完点保存并应用。

图注:节点列表页,顶部有自动检测延迟、显示服务器地址、URL 测试地址等选项,按钮区是添加、通过链接添加、清空、删除、调整分组、保存并应用。
列表上方还有一组管理按钮:添加(手动填节点)、通过链接添加节点(机场给单节点分享链接时用,粘贴即导入)、删除选择的节点、清空所有节点、调整分组(节点多时按用途分组归类)。日常用订阅导入就够了,手动添加和链接添加是补充手段。
第三步:主开关与 TCP/UDP 节点
节点有了,回到基本设置 → 主要:
- 把主开关打开。
- TCP 节点选一个:下拉列表里选刚才测速表现好的节点。
- UDP 节点单独选:默认是关闭,需要代理 UDP 流量(打游戏、语音通话)再选一个。
- 点保存并应用。
我实测时 TCP/UDP 节点默认都是关闭,不选节点直接开主开关是跑不起来的,这一步别漏。启用后回看顶部运行状态卡片,TCP、UDP 从未运行变成运行中,再点GitHub 连接后面的"点我检测”,能打开就说明链路通了。
页面下方还有 Socks 配置区:Socks 主开关、状态、Socks 节点、当前节点、Socks 监听端口、HTTP 监听端口。想给局域网某台设备手动填代理时,开 Socks 主开关、选节点、记下监听端口,设备端填路由器 IP 加这个端口就能走代理。
第四步:规则分流
PassWall 的分流靠模式 + 规则两层:
- 基本设置 → 模式:选整体策略。默认是绕过中国大陆 IP + 中国大陆域名,国内直连、国外走代理,日常推荐保持这个;想所有流量都走代理就切全局模式;只想被墙域名走代理用 GFW 列表模式。
- 规则管理标签页:细粒度加规则,支持域名黑/白名单、IP 黑/白名单,指定哪些域名或 IP 段强制走代理或直连。
- 规则列表标签页:查看当前实际生效的规则,新增规则没生效时先来这里核对。
改完记得点保存并应用,规则和模式都改过的话一次保存即可。
第五步:访问控制
访问控制按设备 IP 或来源接口单独指定代理模式(直连或代理)的功能,常见于路由器代理插件 标签页用来单独指定某台设备的代理模式,页面原文写着"访问控制列表是用于指定特殊 IP 代理模式的工具"。表格列是主开关、启用、备注、源接口、源地址、模式,默认是空的。

图注:访问控制页,按源接口/源地址指定特殊 IP 的代理模式,表格默认为空。
用法:添加一行 → 源地址填设备 IP(比如 192.168.1.50)→ 模式选直连或代理 → 打开这行的启用和主开关 → 保存并应用。典型场景:
- 电视盒子、NAS 想直连不走代理:加一条直连规则。
- 某台设备必须走代理(比如公司电脑):加一条强制代理。
- 来访设备不想让它乱跑:单独指定模式。
注意它和规则管理的区别:访问控制按"设备 IP"指定模式,规则管理按"域名/IP"分流,两条线配合用。
第六步:日志排错
排错第一步永远是看日志:基本设置 → 日志子标签,或者顶部运行日志标签页,页面有清空日志按钮,先清空再复现问题,日志里能看到启动过程、订阅更新、规则加载的完整记录。

图注:运行日志页,顶部有清空日志按钮,报错会按时间逐行列出,排错先看这里。
我实测时日志里出现过一条很典型的警告:
警告: nftables 透明代理缺失基础依赖 kmod-nft-socket
警告: nftables 透明代理缺失基础依赖 kmod-nft-tproxy
运行完成
意思是内核模块没装全,PassWall 降级继续跑(最后有"运行完成"),但 nftables 透明代理会受影响。处理办法:去系统 → 软件包搜索安装 kmod-nft-socket、kmod-nft-tproxy(要和当前内核版本匹配),装完重启 PassWall,再清空日志重看。这类警告在精简固件上很常见,装完模块基本就消了。
从 OpenClash 或 SSR Plus+ 迁移
从别的插件换过来,顺序对了就顺,顺序反了容易"开了 PassWall 反而上不了网":
- 先在旧插件里停用并保存:OpenClash、Hello World 都会接管透明代理和 DNS,不停用就装 PassWall,两个插件会抢端口、规则打架。
- 备份配置:旧插件里导出一份配置存到电脑,再到 LuCI 的系统 → 备份/恢复做一次全量备份,迁移出问题随时能回滚。
- 按下载安装一节装好 PassWall,组件更新页装上 xray-core 或 sing-box 核心。
- 节点订阅里添加机场订阅并手动订阅,节点拉回来。
- 主要页选好 TCP/UDP 节点、打开主开关,模式保持默认的绕过中国大陆 IP + 中国大陆域名。
- 验证:回主界面点GitHub 连接的"点我检测",再开一个国内网站,两边都正常就迁移完成。
- 检查旧插件没有开机自启(OpenClash 的设置里有自启开关,确认关掉),否则重启路由后又双开打架。
跑几天稳定后,旧插件的配置导出存档即可,卸不卸载都行(卸载不会删配置目录,想彻底清空再手动删)。
深入配置(进阶篇)
DNS 分流
基本设置 → DNS 子标签负责域名解析分流:国内域名走本地 DNS 直连解析,国外域名走代理 DNS,国内访问不绕路、国外访问不被 DNS 污染运营商或中间设备对 DNS 查询返回错误结果,让域名解析到错误 IP,导致网站访问失败或跳转广告。 。这个活主要由依赖组件 chinadns-ng 干,所以安装部分特意提到要装它。
两个容易混的点:订阅表单里的域名 DNS 解析只影响"节点地址是域名"时的解析(界面原文:仅用于节点专用 DNS),和全局 DNS 分流是两回事,保持自动就行;改了 DNS 设置后记得保存并应用,并到日志里确认没有报错。
代理模式
基本设置 → 模式子标签里的三个模式再展开说:
- 绕过中国大陆 IP + 中国大陆域名:默认模式,国内直连、国外走代理,日常推荐,速度和稳定性最均衡。
- 全局模式:所有流量都走代理,适合测节点、临时需要全代理的场景,国内网站会变慢。
- GFW 列表模式:只有被墙域名走代理,其他全直连,隐私要求高、不想让代理商看到全部流量的用户会选这个。
模式切换即时生效?不是——改完必须点保存并应用,我实测直接切标签页不保存,运行状态不变。
组件更新(内核)
组件更新标签页管理核心和依赖组件:xray-core、sing-box、v2ray 这些内核,以及 chinadns-ng、tcping 等依赖,界面里能看到已装版本,有新版可以直接更新。新协议支持、内核 bug 修复都靠这里跟进,组件更新频率比插件本体还高。
PassWall 支持的四个核心,看协议选:
| 核心 | 协议支持 | 推荐场景 |
|---|---|---|
| xray | VMess、VLESS、Trojan、Shadowsocks、Hysteria 2、Tuic | 通用推荐,资料最多 |
| Sing-box | 上述 + ShadowTLS、WireGuard 等 | 需要新协议或 xray 兼容出问题时 |
| v2ray | VMess、VLESS、Trojan、Shadowsocks | 老版本兼容 |
| SS/SSR | Shadowsocks、ShadowsocksR | 只跑 SS/SSR 时 |
核心切换在高级设置里,不同核心要装对应的依赖包(组件更新页都有)。换核心后节点列表里的节点要能匹配核心协议,不匹配的节点连不上。
常见误区
- 插件开了 ≠ 核心装了:组件更新页里没有核心,启动必失败,日志会报内核相关错误;先装核心再开主开关。
- 订阅更新了 ≠ 节点自动启用:订阅拉回节点后,还要回主要页把 TCP/UDP 节点选上,PassWall 不会自动挑一个跑。
- 访问控制 ≠ 规则管理:访问控制按设备 IP 指定模式,规则管理按域名/IP 分流,两个页面管的事不一样,别混着找。
- 测速快 ≠ 一定好用:Ping 只反映握手延迟,TCPing 和 URL 测试更接近真实使用;高峰期和低谷期差距很大,多测几个时间段再定主力节点。
更新与维护
代理插件最怕配完不管,维护就三件事:
- 订阅定期更新:机场节点变动频繁,PassWall 支持定时自动更新订阅,设成每天一次比较省心。
- 组件更新:每月看一眼组件更新页,内核有新版本就更新,新协议、新修复都在这。
- 插件本体升级:GitHub Releases 有新版时,下载对应分支的 ipk 覆盖安装即可;升级前到系统 → 备份/恢复导出一份配置,配置存在路由器文件系统里,正常升级不会丢,但留个备份总是心安。
常见问题
常见问题(FAQ)
和 OpenClash 怎么选? 想要策略组级精细分流、愿意折腾规则,选 OpenClash;只想节点加规则直接跑、学习成本越低越好,选 PassWall。详细对比看文章最后的表。
和 Hello World(SSR Plus+)怎么选? 从 SSR Plus+ 一路用过来的老用户,Hello World 迁移成本最低,界面和习惯都接近;新用户想配置简单直接,PassWall 更顺。
PassWall 和 PassWall 2 装哪个? 两个都活跃维护、可以共存。v1 的教程和资料多,遇到问题搜得到答案;v2 界面和配置逻辑更新,想尝鲜可以装 v2。第一次用建议 v1,按这篇配置即可。
节点连不上,日志提示证书/握手相关错误? Xray 核心 2026 年 6 月起弃用了 allowInsecure(跳过证书验证)参数,改用 pinnedPeerCertSha256(pcs 参数)。机场用自签证书且不提供 pcs 时节点会连不上:去高级设置把核心换成 Sing-box,或者找机场要 pcs 参数填进节点。
订阅更新失败? 先检查订阅链接是否过期、机场是否换了订阅接口;第一次添加时确认先保存并应用再手动订阅(界面原文提示);节点变动频繁的机场开定时自动更新。
订阅更新完节点数量还是 0? 我实测界面上订阅行会显示"节点数量: 0":链接填错、还没手动订阅、机场订阅失效都会这样。先保存并应用,再点手动订阅,看日志里有没有拉取报错。
日志提示缺 kmod-nft-socket / kmod-nft-tproxy? 系统 → 软件包里安装这两个内核模块(和内核版本匹配),装完重启 PassWall;精简固件上常见,装完警告就消了。
国内网站打不开? 先看模式是不是被切到了全局;再查规则管理里有没有把国内域名误加进黑名单;最后看日志里 DNS 相关报错。
游戏或 UDP 应用连不上? UDP 节点没选是最常见原因,回主要页给 UDP 节点选一个;还不行,确认机场节点本身支持 UDP 转发。
某台设备不想走代理? 用访问控制,按源地址加一条直连模式,保存并应用;想整台设备强制代理同理,模式选代理。
支持 Hysteria 2 吗? 用 xray 或 Sing-box 核心就支持,节点配置里选 Hysteria 2 协议,填服务器参数;订阅里 Hysteria2 节点的使用类型默认自动,会按核心自动处理。
为什么开了主开关,连通性检测还是失败? 按三件套查:核心装了没(组件更新页)、订阅更新过没(节点列表有没有节点)、TCP/UDP 节点选了没(主要页下拉)。都正常就清空日志重新点检测,看日志里报什么。
国内网站能开,国外全打不开? 大概率是 DNS 环节出问题:先确认依赖组件 chinadns-ng 装上了,再看 DNS 子标签的设置有没有被改过、日志里有没有 DNS 相关报错,最后把 DNS 设置恢复默认试一次。
节点测速全部超时? 先确认订阅更新过、核心装好了;测速走的是节点连接,节点本身故障也会全超时,换个时间段再测,或者换一个节点的 Ping/TCPing 单独看。
升级插件后配置还在吗? 配置存在路由器文件系统里,正常升级不会丢;升级前到系统 → 备份/恢复导出一份更稳,重装后旧配置一般还在。
GitHub 下载 ipk 太慢/失败? 用 GitHub 反代加速地址(ghproxy 这类)下载,或者让固件自带源的版本先用着;下载后核对架构和分支再装。
和 OpenClash、Hello World 的对比
OpenWrt 上三大代理插件,选型常被问到,三者的核心和分流思路完全不同:
| 对比项 | PassWall | OpenClash | Hello World |
|---|---|---|---|
| 代理核心 | xray / Sing-box / v2ray | Clash premium / mihomo | Xray 为主 |
| 分流方式 | 路由规则 | 策略组 + 规则 | 路由规则 + GFW 列表 |
| 配置难度 | 低,直接配节点 | 中高,要懂策略组 | 中 |
| 界面 | LuCI 传统风格,中文 | 全中文,面板功能全 | LuCI 传统风格,中文 |
| 多订阅 | 支持,含丢弃列表过滤 | 支持,含在线转换 | 支持 |
| 新协议 | 看核心选择,跟进快 | mihomo 内核全支持 | 看核心选择 |
| 适合人群 | 求简单直接、老牌稳定 | 想精细分流、愿意折腾 | SSR Plus+ 老用户 |
个人取舍:追求策略组级别的精细分流选 OpenClash,一个域名想走哪条线路都能精确指定;只想配完节点直接跑选 PassWall,我用了几年最省心的就是这套流程,订阅导入、选节点、开开关,五分钟完事,日常不用管;之前一直用 SSR Plus+ 且没遇到问题,换到 Hello World 就行,没必要为了换而换。迁移成本也要算进去:配置、规则、习惯都绑在现有插件上,没有明确痛点就不折腾。
评论
本地 Worker 预览版,后续可切换到 Cloudflare D1。
正在加载评论...