背景与前置条件
坐标海南大学,校园网是通过跳转到认证页然后输入学号和密码来进行验证的。本宿舍经过个人测试,(实际上是木棉公寓新宿舍独享限制)学校为每人限制了200Mbps的总带宽上限(实测~190 Mbps),且单流的带宽为100Mbps(实测~95 Mbps)。那么理论上每多一个聚合账户,带宽至少增加100Mbps
需要一台刷了OpenWrt的路由器,然后安装mwan3和luci-app-mwan3(一个是服务一个是面板)
要聚合的校园网账户应该小于等于路由器的wan口+lan口数,并且小于学校路由器的lan口数,再准备多根网线。我这边是聚合两个账户,我插了两条线,一条在路由器的wan口,一条在lan4口,那么只需要在路由器后台把物理上的lan4口也转换成wan口的功能就行了。
正片开始
lan口转wan口阶段
LuCI 里没有”把 LAN 口变成 WAN 口”这个按钮。这件事实际是两步拼起来的:
1.把这个网口从 LAN 桥里摘出来——它才不再是 LAN
2.给这个裸网口建一个新接口并划进 WAN 防火墙区——它才成为 WAN

- 找到 br-lan 那行,设备类型显示”桥接设备”(Bridge device)
- 点右侧配置
- 在桥接端口(Bridge ports)里,去掉 lan4 的勾
- 保存


- 左下角“添加新接口”
- 名称:wan2 —— 后面配 mwan3 要用这个名字,必须和这里一字不差
- 协议:DHCP 客户端
- 设备:下拉选 lan4
- 点创建接口
弹出的编辑框里,三个地方都要动:
- 高级设置 – 使用网关跃点数(Use gateway metric)- 20
- 高级设置 – 使用对端通告的 DNS 服务器(Use DNS servers advertised by peer) – 去掉勾
- 防火墙设置 – 创建/分配防火墙区域(Create / Assign firewall-zone) – wan
这三个字段各有各的理由
- 跃点数:多条默认路由靠这个数字排序,小的优先。主线路填 10,这条填 20 就是次优先。不填的话两条路由并列,走哪条是随机的,你会遇到”时快时慢”的怪现象。
- 取消对端 DNS:勾着的话这条线拿到的上游 DNS 会被塞进 /etc/resolv.conf。如果你自己搭了 AdGuard Home 之类的 DNS 链路,会被污染。
- 防火墙区域选 wan:这一步才给这条线带来 NAT(源地址伪装)和入向防护。漏掉的后果是内网设备根本出不去,而且这个口会被当成内网,安全上是敞开的。这是最容易漏、后果最直接的一步。
第三步,保存并应用。 然后回接口列表,wan2 那栏应该显示拿到了 IP
第四步,拔掉两个网线中的一个,然后打开校园网认证登录页面,完成登录认证。然后再插回去,拔掉另外一个再打开校园网认证登录页面,完成登录认证。这样两个账户都登录上去了。
附:命令行版
# 1. 摘出桥
uci del_list network.@device[0].ports='lan4'
# 2. 建接口
uci set network.wan2=interface
uci set network.wan2.device='lan4'
uci set network.wan2.proto='dhcp'
uci set network.wan2.metric='20'
uci set network.wan2.peerdns='0'
# 3. 划进 wan 防火墙区(按名字找,别靠下标猜)
uci add_list firewall.@zone[1].network='wan2'
uci commit network; uci commit firewall
/etc/init.d/network reload
mwan3配置阶段


接下来几个页面操作都是很有逻辑的
| 层 | 作用 |
| 接口 | 声明”这条线存在”,怎么探测它还活着 |
| 成员 | 给某条接口贴上”优先级 + 权重” |
| 策略 | 把若干成员组成一套方案 |
| 规则 | 什么流量用哪套方案 |
设置部分:






我遇到的一些问题
1.升级了新版 Xray ,但是旧 PassWall 仍生成已被 Xray 移除的 proxySettings 字段,因此校验失败。升级 PassWall 修复了这一点。
2.升级 PassWall 时,软件包管理器会把 Sing-box 当作不再需要的依赖自动卸载;如果你的机场节点需要它,补装后网络才恢复。
passwall和mwan3有回环,不过最新的passwall已经通过PR更新了,一定要更新到最新的(26.9.9)具体的PR内容可以看这次Pull requests · Openwrt-Passwall/openwrt-passwall
然后升级后你可能紧接着遇到下一个问题,我怎么断网了!因为旧 PassWall 26.9.1 生成的配置,不兼容新版 Xray 26.9.9。我都晕了。
重启路由器后发现mwan3没有如约正常启动,原因是mwan3_start() 目前用 nft insert 往 mangle/mwan3_hook 里插豁免规则。这条链是 mwan3 通过 iptables-nft 创建并持有的,链里一旦混入 nft 原生规则,iptables-nft 就无法把整条链翻译回去,任何 iptables 读取都会失败。这个我提交了PR,看看作者能不能给合并了。(蹭一下10k star的项目贡献,已蹭哈哈)

写在最后
一个校园网最多连接两个设备,海大校园网有个无感认证,可以手动把路由器网口的mac地址录进去,这样即使断电在电力恢复后也能重新连接回去,而不需要二次认证。
应该没啥了,下班!