本站在允许 JavaScript 运行的环境下浏览效果更佳

锐捷校园网:网络共享与带宽叠加方案(哈理工案例)

前言

本文大致分为以下部分:

实测使用一个 50M 和两个 30M 账号,多线程下载速度稳定在 100M:

ruijie-campus-router-download-speed.avif

常见需求场景:

  • 网络共享:
    • 与舍友合租网络,希望多台设备同时接入。
    • 校园网设备数量限制严格,难以满足多终端需求。(以哈理工为例,仅允许 2 台设备同时在线,无法满足同时使用手机、平板和电脑的需求。)
  • 网速/带宽叠加:
    • 高带宽套餐价格昂贵,短期内经济条件难以负担。
    • 期望获得更高下载速度。(例如,下载大型游戏往往需要 3 小时以上,体验较为痛苦。)
  • 其他:
    • 需要在局域网内实现高速传输。

声明:

  • 按照网络带宽惯例,本文中“M”单位均指 Mbps(兆比特/秒),而非 MB/s(兆字节/秒)。
  • 本人并非哈理工网管会成员,仅是一名计算机爱好者,出于兴趣研究相关方案。

哈理工校园网现状调研

调研时间:2025 年 9 月

资费情况

可选择中国移动、中国电信、中国联通的校园网套餐。首次办理需本人持身份证前往线下登记(西区为一食堂门口,蜜雪冰城隔壁)。当日 16:30 前缴费,可于当晚 22:00 前开通,否则将在次日 22:00 前开通。

可选套餐(按日均资费从低到高,“限时”优惠基本常年有效):

  • 30M、150 天:250¥/1.67¥每天(“限时”优惠 200¥/1.33¥每天)
  • 40M、150 天:300¥/2¥每天(“限时”优惠 240¥/1.6¥每天)
  • 30M、30 天:50¥/1.67¥每天
  • 50M、150 天:345¥/2.3¥每天(“限时”优惠 276¥/1.84¥每天)
  • 40M、30 天:60¥/2¥每天
  • 50M、30 天:69¥/2.3¥每天

价格并不算便宜,如果能和舍友合租,可明显减轻生活费压力。

寝室部署情况

我目前住在西区七公寓,宿舍提供两个网口,由锐捷 RG-MAP752(S)提供,通过产品手册可以得知其提供无线接入点(2.4G 300Mbps 和 5G 867Mbps)及 2 个百兆下联口。

注:该型号于 2020-10-30 已退市,计划 2025-10-30 停止服务,届时可能会进行设备更新。如有更新,将在此处补充说明。

由产品手册得知通过有线接入总带宽最大为 200Mbps,通过无线接入总带宽带宽为 1167Mbps,理论总带宽为 1367Mbps。但上联端口为千兆,故单个寝室理论最大总带宽为 1000Mbps。
但实际学校为了省钱,网线只接了四根线(如下图),故单个寝室实际理论最大总带宽为 100Mbps

ruijie-campus-wall-cable-100M.avif

带宽限制

一个校园网账号允许同时使用两个设备。校园网某个界面已标注一个账号内设备共享限速(即购买 50M 套餐是指两设备总速度上限为 50M)。

采用双设备同时持续测速的方法测试,其标注属实。

经过测试,两个账号(一个 50M 账号和一个 30M 账号,或两个 30M 账号)在同一网口上,最高合计只能达到 50M 的速度。笔者猜测这可能是由于锐捷 RG-MAP752(S)接收到的配置限制,也有可能是因为检测到上联端口为 100M,从而自动将单个接口速率限制为 50M。

特别说明

因此,如果你希望通过带宽叠加突破 50M 的限制,请尽量将账号分配到两个物理端口上运行。文章开头跑出的 100M,就是通过两个端口实现的:一个端口跑 50M 账号,另一个端口同时跑两个 30M 账号,合计达到约 100M。

所用系统解析

进入哈尔滨理工大学 | 网络信息中心拉到最底部,可以看见“锐捷 Windows 通用版”的下载链接,安装包标注版本为 V528。(有趣的是,这里有一个无法访问的 PPPoE 自助服务页面)

这说明很有可能学校使用了 v5.28 版本的锐捷校园网服务,并且不支持 PPPoE 拨号。

实测在寝室连接有线网络后,无法通过 PPPoE 拨号的方式上网,仅能通过锐捷提供的客户端登录校园网。

多设备检测

通过“校趣多”微信公众号的“自助服务” - “在线设备管理”功能,用户不仅可以查看登录设备的详细信息(如设备 MAC 地址、终端类型、上网账号、套餐名称、区域名称及上线时间),还可对已上线的设备进行下线管理。
推测校园网在识别多设备连接时,主要依据接入设备的 MAC 地址进行检测。

通过实测发现:

  • 一台已登录校园网的终端若开启移动热点,可同时为多个其他设备提供网络。
  • 同一设备若配备多张网卡或使用虚拟网卡,并设置不同的 MAC 地址,即可分别获取独立的 IP 地址并完成登录。
  • 无深度包(DPI)检测(如有深度包检测需使用 SunBK201/UA3F 类软件绕过)。

IP 地址分配情况

无 IPv6 地址,仅内网 IPv4 地址。

本章小结

总结与后续所需信息:

  1. 同一账号下的多台设备会共享带宽限速,无法通过单设备多次拨号/登录来实现单设备网速翻倍。
  2. 系统不支持 PPPoE 拨号,因此无法像家用宽带一样进行多拨。
  3. 支持客户端直接登录,无需依赖网页登录。
  4. 部署深度包检测(DPI)。

由此推断在合法使用范围内,我们无法实现:

  • 获得超出所购套餐带宽上限的网速。

我们可以实现:

  • 绕过校园网的设备数量限制。
  • 通过聚合多位同学账号的带宽,实现速率叠加。(多线程场景下)

简单网络共享

最简单的方法——有手机/电脑即可。

根据上一章的已知信息,我们可以:

  1. 手机/电脑连接校园网 Wi-Fi(哈理工学子连接 HRBUST-StudentHRBUST-Student-Auto 均可)。
  2. 手机/电脑开启热点。

其他设备连接此热点即可。

注:我舍友用了这方法一年。

进阶网络共享

较复杂但上限高的方法。

目前我们已经有了网页登录方式,以及适用于 macOS、Windows 和 Linux 的图形化登录客户端。虽然可以通过编写脚本来自动化操作图形化客户端拨号,但我们更希望能够在路由器上,通过命令行的方式将其作为服务自启动。

锐捷系统在很多高校中都有使用,果然在查找资料时发现,已经有前辈为我们铺好了道路——Mentohust 软件(hyrathb/mentohustshanzhaozhen/mentohust_for_zqu)。在此感谢前辈们的付出。

事前准备

  1. 准备一台软路由,或者一台可以刷软路由系统的硬路由(俗称“可刷机路由器”):
    • 首选:购买一台支持刷机的路由器,并刷入 OpenWrt 系统。
      之所以推荐 OpenWrt,是因为它的资料和固件资源丰富,社区活跃,功能可扩展性强。同时,这类路由器通常自带无线 AP,有线接口数量也够用,对于寝室这种场景完全能够满足需求。
    • 购买建议:在闲鱼等二手平台上,30 元左右挑一个性价比最高的即可。设备性能无需太强——毕竟寝室带宽最高也就 100M。可选型号包括:小米 mini、Newifi R6800、红米 AC2100、小米 AC210 等。(笔者实验设备为闲鱼 45 包邮购入的红米 AC2100)
  2. 准备网线(估算长度后购买,超五类线足以)。
  3. 下载 mentohust 二进制文件,放到一个好找的位置:
    • 固件资源:已有大佬编译基于 MediaTek MT7620 / MediaTek MT7621 / x86_64 架构,适用于 OpenWrt 的 mentohust 二进制文件,可直接下载使用:来自企鹅大大(如此页面无法访问,请前往此站关于页联系笔者邮箱获取软件)
    • 软件编译教程请见:知乎@Bang企鹅大大林如愿
  4. 确保设备成功刷入 OpenWrt,成功启动。
    • 如果你准备后续的带宽叠加,固件一定要包含 luci-app-mwan3 及相关组件。
    • 实测后续的带宽叠加与 luci-app-turboacc 不冲突,此组件能极大增强转发效率,推荐安装。
    • luci-app-syncdial 在本教程中非必须,实际测试似乎不太可靠,不如手动配置,不推荐安装。
    • 自助定制固件可使用此站点。笔者目前未能找到其他好用的自助站点,如果你找到好用的相关站点,欢迎在评论区留言。

部署准备

将电脑连接路由器 Wi-Fi/用网线接入路由器 LAN 口后,开展后续操作。

打开命令行工具

Windows 方法

  1. 同时按下 Win 键和 R 键(Win 键在键盘左下的位置,一般键帽上印刷着四个方块)(简称按 Win + R,后文出现的快捷键操作均使用此描述法)。

  2. 输入 powershell,按回车。

  3. 进入 Powershell 界面(蓝底白字/黑底白字的窗口)。

  4. 输入以下指令后回车:

    ipconfig
    
  5. 找到 默认网关 一行,比如:

    默认网关  . . . . . . . . . : 192.168.1.1
    

    这里 192.168.1.1 就是你的路由器 IP 地址。

macOS 方法

  1. 打开“启动台” → 搜索“终端” (Terminal)。
  2. 打开终端。
  3. 输入以下指令后回车:
ip route | awk '/default/ {print $3}'

输出的就是你的网关地址,也就是路由器 IP 地址,比如:

192.168.1.1

Linux 方法

  1. 打开终端 (Terminal)。
  2. 输入以下指令后回车:
ip route | awk '/default/ {print $3}'

输出的就是你的网关地址,也就是路由器 IP 地址,比如:

192.168.1.1

SSH 登录 OpenWrt

输入以下命令(假设路由器 IP 是 192.168.1.1,默认账号 root):

ssh root@192.168.1.1

此时会提示你输入密码(如未修改,默认账号一般为 root,密码为 password),具体账号密码请看你刷入的固件说明:

root@192.168.1.1's password:

注意:输入密码时屏幕上不会显示任何内容,这是正常的。直接输入密码后按回车即可。

查看网卡名称

在 OpenWrt 的 SSH 界面里输入:

ip link show

可能会看到类似结果:

1: lo: <LOOPBACK,UP,LOWER_UP> ...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
3: wan: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
4: lan1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>
5: lan2@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP>
6: lan3@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>
7: ...

... 代表省略的信息。我使用的设备是红米 AC2100,此时 WAN、LAN1、LAN3 接口均有插入网线,LAN2 口悬空。你获取的信息可能和此处略有不同,这是正常的。

网卡解释

  • lo → 系统内部回环接口,不用管
  • eth0 → 底层物理网卡,不直接用
  • wan → WAN 口(通常是接外网/校园网的口)
  • lan1@eth0、lan2@eth0、lan3@eth0 → 路由器的 LAN 物理口(经过配置后也可以用于接校园网)
    • 这里的 @eth0 只是提示“这个口挂在 eth0 上”,在命令里只需要写 lan1 / lan2 / lan3

之后用 mentohust 拨号时,你只要填 wanlan1lan2lan3 就行,而不是 lan1@eth0

如果你的路由器有四个网口,仅有一个插入了线缆,那没标记 NO-CARRIE 的就是你现在插入的接口。你也可以记录下路由器全部物理网口的逻辑名(这个例子中就是 wanlan1lan2lan3),过会登录校园网的时候一个个测试。

上传 Mentohust 文件

图形化的上传方法是下载一个叫 WinSCP 的软件,参见:企鹅大大的博客

退出 OpenWrt SSH(输入 exit 回车)。

在本地终端中,进入保存 mentohust 的目录。

例如(Windows 下):

cd C:\Users\Public\Downloads\

Windows 下也可以通过以下方法快速打开:

  • 使用文件资源管理器进入保存 mentohust 的目录,在地址栏输入 powershell 后回车。
  • 使用文件资源管理器进入保存 mentohust 的目录,按住 shift 键后点击鼠标右键。点击弹出的上下文菜单中的“在此处打开 Powershell 窗口”。

或(macOS/Linux 下):

cd ~/Downloads/

然后用 scp 上传到 OpenWrt(将 root192.168.1.1 改为实际用户名/路由器 IP 地址):

scp ./mentohust root@192.168.1.1:/usr/sbin/mentohust

系统会提示输入 OpenWrt 密码(同样看不见,直接输入后回车)。

给文件加执行权限

再次使用 SSH 登录 OpenWrt(将 root192.168.1.1 改为实际用户名/路由器 IP 地址):

ssh root@192.168.1.1

在路由器里运行:

chmod +x /usr/sbin/mentohust

测试运行

不要退出 SSH,执行:

mentohust -h

如果输出帮助信息,说明安装成功。

🎉恭喜你,已经成功一大半了。

测试拨号上网

你可以通过 mentohust -h 获取详细的指令用法。

使用下面这个指令,将在前台拨号上网,并且保存当前参数到配置文件:

mentohust -u账号 -p密码 -n网卡 -a1 -d1 -v版本号 -w

根据上文,我们得知哈理工使用的客户端版本为 v5.28,有以下例子:

mentohust -u2301010101 -p142857 -nwan -a1 -d1 -v5.28 -w

上面的指令中使用的参数是 -nwan,表示使用 WAN 口。
如果你不确定自己插入的是哪个物理网口,可以依次尝试物理网口对应的逻辑名(例如 wanlan1lan2 等),直到拨号成功。

注意事项:

  1. 出现“认证成功”。🎉恭喜你,就差最后一步了。
  2. 测试认证前,请确定当前设备额度未被占光。(哈理工学子可使用“校趣多”微信公众号下线登录设备,给路由器腾出位置。)

开机自动拨号

不要退出 SSH,执行:

nano /etc/rc.local

将以下指令粘贴到 rc.local 文件中。

mentohust -b3

rc.local 文件中找到 exit 0 这一行。确保粘贴的命令在 exit 0 之前。如果没有看到 exit 0,就添加到文件的最后一行。

之后按 Ctrl + S 保存修改,再按 Ctrl + X 退出编辑器。

🎉恭喜你,已经完成配置了!任何连接你路由器的设备都可以成功上网。

简单网速叠加

根据已知信息,一个设备上插了两张网卡,或者模拟出两张 MAC 地址不同的网卡,即可登录两个校园网账号。

可以有多种组合达成此目的:

  1. 电脑内置无线网卡和电脑内置有线网卡
  2. 电脑内置无线网卡和 USB 有线网卡
  3. 电脑内置有线网卡搭配虚拟化技术虚拟出多个 MAC 地址不同的网卡

至于多张网卡在电脑上如何实现带宽叠加,我给出几个关键词,读者可自行搜索解决方案:“Win10/11 链路聚合”、“修改网卡物理地址”。

进阶网速叠加

首先,请先完成进阶网络共享中的全部步骤,并确保成功执行最后一步。

在开始前,请仔细阅读“特别说明”,做好网络接口规划,提前预估所需的接口数量及分配方式。

假设你手头有三个 30M 的账号,每个账号通过一根网线连接到一个 WAN 口。由于物理 WAN 口自带一次拨号功能,你只需额外创建两个虚拟 WAN 接口,即可同时让三个账号拨号上网。

需要注意的是,根据“特别说明”,单个端口的最高带宽限制为 50M。也就是说,即使在同一接口上使用三个 30M 的账号进行拨号,实际速度上限仍为 50M,这与理论值 90M 存在明显差距(当然,不排除在某些特殊情况下能够接近 90M,欢迎测试后在评论区反馈)。

为了获得更高的带宽,建议采用“双实一虚”的配置:

  • 使用两根独立网线分别接入两个物理端口(一个 WAN 口、一个 LAN 口配置为 WAN 口)
  • 再配合一个虚拟 WAN 接口

这种方案可以实现 30M + 50M ≈ 80M 的速度,有效提升带宽利用率。

清理痕迹

使用 SSH 登录上 OpenWrt。
之后执行:

nano /etc/rc.local

删除刚才在“开机自动拨号”这一章添加的 mentohust -b3,之后按 Ctrl + S 保存修改,再按 Ctrl + X 退出编辑器。

LAN 口改设为 WAN 口(可选)

为突破 50M 的限制,你可能需要将路由器的一个 LAN 口改为额外的 WAN 接口。下面以 lan1 改为第二个 WAN 为例。

nano 打开 OpenWrt 网络配置文件:

nano /etc/config/network

在文件中:

  1. 找到 config device 块,将 lan1br-lan(LAN 口桥接)中移除。
  2. 参考已有的 config interface 'wan',新增一个 config interface 'wan2' 的配置段。

示例:

config interface 'wan2'
        option device 'lan1'                  # 指定物理接口
        option proto 'dhcp'
        option macaddr '1B:1B:1B:1B:1B:1B'    # 请替换为你自己的 MAC
        option metric '101'                   # 与其他 WAN 不同的跃点数

注意:

  • 必须改为你自己的网络设备的 MAC 地址,或使用在线 MAC 生成器随机生成。不要与网络中已有设备冲突,否则可能导致掉线或无法联网。
  • 我们将使用 mwan3 进行负载均衡,mwan3 要求不同的 WAN 接口有不同的 option metric 值。新接口的 option metric 要与已有接口不同,并且大于默认 WAN 口的数值,以便系统优先使用默认 WAN 出口。
  • 添加新 WAN 接口后,需要将它加入到防火墙规则中的 wan 区域(详见后续步骤)。

完整示例差异如下:

config device
        option name 'br-lan'
        option type 'bridge'
        option promisc '1'
-       list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'
        option metric '100'

+ config interface 'wan2'
+        option device 'lan1'
+        option proto 'dhcp'
+        option macaddr '1B:1B:1B:1B:1B:1B'
+        option metric '101'

之后按 Ctrl + S 保存修改,再按 Ctrl + X 退出编辑器。

添加虚拟网卡

首先在“查看网卡名称”这一步确认你要在哪个物理接口上创建虚拟网口。

准备用 nano 编辑 /etc/rc.local

nano /etc/rc.local

我们使用以下指令创建虚拟网卡,将下面两行指令粘贴到 rc.local 文件中:

ip link add link 物理接口名 name 虚拟网卡名 type macvlan
ifconfig 虚拟网卡名 up

想要多创建几个就多粘贴几遍,记得虚拟网卡名要不同。

例 1,在 WAN 口上创建名为 macvlan1 的虚拟网卡:

ip link add link wan name macvlan1 type macvlan
ifconfig macvlan1 up

例 2,在 LAN1 口上创建名为 macvlan2 的虚拟网卡:

ip link add link lan1 name macvlan2 type macvlan
ifconfig macvlan2 up

注:确保粘贴的命令在 exit 0 之前。如果没有看到 exit 0,就添加到 rc.local 文件的最后一行。

之后按 Ctrl + S 保存修改,再按 Ctrl + X 退出编辑器。

手动运行你刚才粘贴到 /etc/rc.local 中的指令,以创建虚拟网卡。(如果你懒得粘贴,运行 reboot 指令进行一次重启也是可以的)

添加接口信息

nano 打开配置文件:

nano /etc/config/network

在文件底部增加以下内容,你有几个接口要添加就复制几份:

config interface '接口名'
        option _orig_ifname '虚拟网卡名'
        option _orig_bridge 'false'
        option proto 'dhcp'
        option macaddr 'FB:FB:FB:FB:FB:FB'
        option metric '跃点数'
        option device '虚拟网卡名'

注意:

  • 修改 MAC 地址为你自己的,或使用网络上的在线随机 MAC 生成器,否则可能冲突。

  • 我们将使用 mwan3 进行负载均衡,mwan3 要求各接口的跃点数(metric)必须不同。请确保你创建的接口的 option metric/etc/config/network 中已有的接口不同,并且比默认的 WAN 口的跃点数大,这样可以确保流量优先走默认的 WAN 口。如下述的 WAN 口定义:

    config interface 'wan'
            option device 'wan'
            option proto 'dhcp'
            option metric '100'
    

    表明默认 WAN 口的跃点数为 100,你自己创建的接口的跃点数可以为 101 或更大的值。

以下是一个示例,接口名为 vwan1,虚拟网卡名为 macvlan1,MAC 地址为 C7:7B:D5:EE:4C:46,跃点数为 102。

config interface 'vwan1'
        option _orig_ifname 'macvlan1'
        option _orig_bridge 'false'
        option proto 'dhcp'
        option macaddr 'C7:7B:D5:EE:4C:46'
        option metric '102'
        option device 'macvlan1'

之后按 Ctrl + S 保存修改,再按 Ctrl + X 退出编辑器。

在 OpenWrt Web 界面设置接口防火墙

  1. 打开浏览器,访问路由器 IP。
  2. 使用账号密码登录 OpenWrt Web 管理后台。
  3. 进入“网络” - “接口”。(如果提示配置需要迁移之类的消息,确认迁移即可)
  4. 找到刚才新建的网口(如 macvlan1wan2),点击这一行右边的“编辑”按钮。
  5. 确认协议为“DHCP 客户端”。
    • 如果不是,修改为“DHCP 客户端”。
  6. 在“防火墙设置”里,把它分配到和 wan 相同的防火墙区域。
  7. 滚动到页面底部,点击“保存并应用”。

注:如果没有设置防火墙到 wan 区域,拨号是不会成功的。

配置均衡负载

  1. 打开浏览器,访问路由器 IP。
  2. 使用账号密码登录 OpenWrt Web 管理后台。

均衡负载 - 接口

  1. 进入“网络” - “MultiWAN 管理器” - “接口”。
  2. 删除全部的接口后点击“保存并应用”。
  3. 还记得刚才我们在 /etc/config/network 中看到的 config interface '接口名' 吗。页面左下角的输入框输入接口名(如刚才例子中的 vwan1,或默认的 wan),然后点击“添加”。
  4. 点“添加”后弹出的窗口是这个接口的编辑页(点击这个接口右边的“编辑”按钮就可以打开)。
    • 第一行的“已启用”需要勾选上。
    • 第二行的“初始状态”选择“在线”即可。
    • 第三行的“互联网协议”选择“IPv4”即可。
    • 第四行的“跟踪的主机或 IP 地址”,添加若两个常用 DNS 地址即可。如223.5.5.5223.6.6.6114.114.114.114114.114.115.115
    • 随后拉到最底部点击“保存”即可。
  5. 点击页面右下角的“保存并应用”按钮。

均衡负载 - 成员

  1. 进入“网络” - “MultiWAN 管理器” - “成员”。
  2. 删除全部的成员后点击“保存并应用”。
  3. 页面左下角的输入框输入成员名,然后点击“添加”。名称可以包含 A-Z,a-z,0-9,_,不能有空格。成员名称不能与配置的接口、策略或规则相同(w_m1_w1 是一个可以使用的名字)。
    • 每个“接口”都要创建一条对应的成员。(有几个接口就创建几个成员)
  4. 点“添加”后弹出的窗口是这个成员的编辑页(点击这个成员右边的“编辑”按钮就可以打开)。
    • 第一行的“接口”选择目标接口。
    • 第二行的“度量值”可以空着,也可以填 "1".
    • 第三行的“Weight”是权重,如果你这个接口上要拨号 50M 带宽的账号就输入 50,如果是 30M 带宽的账号就输入 30。
    • 点击右下角的“保存”即可。
  5. 点击页面右下角的“保存并应用”按钮。

均衡负载 - 策略

  1. 进入“网络” - “MultiWAN 管理器” - “策略”。
  2. 删除全部的策略后点击“保存并应用”。
  3. 页面左下角的输入框输入策略名,然后点击“添加”。名称可以包含 A-Z,a-z,0-9,_,不能有空格。名称最多 15 个字符。策略名称不能与配置的接口、成员或规则相同。banlanced 是一个可以使用的名字。
  4. 点“添加”后弹出的窗口是这个策略的编辑页(点击这个策略右边的“编辑”按钮就可以打开)。
    • 第一行的“使用的成员”选择将所有创建的成员都选上。
    • 点击右下角的“保存”即可。
  5. 点击页面右下角的“保存并应用”按钮。

均衡负载 - 规则

  1. 进入“网络” - “MultiWAN 管理器” - “规则”。
  2. 删去除 httpsdefault_rule_v4default_rule_v6 以外的规则后点击“保存并应用”。
  3. 如果缺少 httpsdefault_rule_v4default_rule_v6 其中的某规则。就在页面左下角的输入框输入规则名,然后点击“添加”。
  4. 点“添加”后弹出的窗口是这个策略的编辑页(点击这个策略右边的“编辑”按钮就可以打开)。
  5. 对于 https 规则:
    • 第一行“互联网协议”选择“IPv4 或 IPv6”/“仅 IPv4”(看校园网情况。像哈理工没 IPv6 选“仅 IPv4”就行)。
    • 第二行“协议”保持“TCP”。
    • 第六行“目标端口”保持“443”。
    • 第七行“粘滞模式”选择“是”。
    • 最后一行“分配的策略”选择刚才创建的策略(如 banlanced )。
    • 点击右下角的“保存”即可。
  6. 对于 default_rule_v4 规则:
    • 第一行“互联网协议”选择“仅 IPv4”。
    • 第二行“协议”保持“all”。
    • 第四行“目标地址”输入“0.0.0.0/0”。
    • 第七行“粘滞模式”选择“否”。
    • 最后一行“分配的策略”选择刚才创建的策略(如 banlanced )。
    • 点击右下角的“保存”即可。
  7. 对于 default_rule_v6 规则:
    • 第一行“互联网协议”选择“IPv4 和 IPv6”。
    • 第二行“协议”保持“all”。
    • 第四行“目标地址”输入“::/0”。
    • 第七行“粘滞模式”选择“否”。
    • 最后一行“分配的策略”选择刚才创建的策略(如 banlanced )(看校园网情况。像哈理工没 IPv6 选“不可达(拒绝)”这个策略)。
    • 点击右下角的“保存”即可。
  8. 点击页面右下角的“保存并应用”按钮。

粘滞模式(sticky mode)作用:固定同一客户端走同一出口,避免因 IP 变化引起身份验证频繁或连接中断。

开机自动多播

使用 SSH 登录上 OpenWrt,执行:

nano /etc/rc.local

在文件最开头前加上自定义函数:

wait_iface_up() {
    local iface="$1"
    while ! ip link show "$iface" | grep -q "state UP"; do
        sleep 1
    done
}

ifconfig macvlan1 up 后加上对应等待接口就绪的代码:

wait_iface_up macvlan1

如果有多个 ifconfig macvlanX up 就对应添加多行 wait_iface_up macvlanX 语句。

你的 rc.local 文件大致应如下所示:

wait_iface_up() {
    local iface="$1"
    while ! ip link show "$iface" | grep -q "state UP"; do
        sleep 1
    done
}

ip link add link wan name macvlan1 type macvlan
ifconfig macvlan1 up
wait_iface_up macvlan1  # 对应上一行 ifconfig macvlan1 up

ip link add link wan name macvlan2 type macvlan
ifconfig macvlan2 up
wait_iface_up macvlan2  # 对应上一行 ifconfig macvlan2 up

# 此处添加拨号代码
# ...

exit 0

现在我们在 exit 0 前添加拨号代码(如果有多个账号,就粘贴多遍)(删 .pid 方法出自企鹅大大,微调以适应实际情况):

mentohust -u账号 -p密码 -n网卡 -a1 -d1 -v版本号 -b3
sleep 8
rm -rf /var/run/mentohust.pid
sleep 3

注:sleep 8 是硬等待,如果认证比较快,可以缩短这个时间。如果认证时间较长,可以加长这个时间。尽量不要让一个时间内同时进行两个认证。我们使用指令 rm -rf /var/run/mentohust.pid 删除 mentohust.pid 即可进行下一个账号的认证。sleep 3 也是一个硬等待。如果胆大心细,可以将这两个等待时间分别改为“5”和“2”。

根据上文,我们得知哈理工使用的客户端版本为 v5.28,有以下例子:

mentohust -u2301010101 -p142857 -nwan -a1 -d1 -v5.28 -b3
sleep 8
rm -rf /var/run/mentohust.pid
sleep 3

在上述指令中,-nwan 参数表示使用 WAN 口,而 -b3 表示在后台运行。
如果你不确定自己插入的是哪个物理网口,可以依次尝试物理网口对应的逻辑名(例如 wanlan1lan2 等),直到拨号成功。
对于自行创建的 macvlan,在执行 ip link add link 物理接口名 name 虚拟网卡名 type macvlan 命令时,其中的“虚拟网卡名”,就是拨号命令中 -n 参数需要填写的名称,即写作 -n虚拟网卡名

你的 rc.local 文件大致应如下所示:

wait_iface_up() {
    local iface="$1"
    while ! ip link show "$iface" | grep -q "state UP"; do
        sleep 1
    done
}

ip link add link wan name macvlan1 type macvlan
ifconfig macvlan1 up
wait_iface_up macvlan1  # 对应上一行 ifconfig macvlan1 up

ip link add link wan name macvlan2 type macvlan
ifconfig macvlan2 up
wait_iface_up macvlan2  # 对应上一行 ifconfig macvlan2 up

mentohust -u2301010101 -p00142857 -nwan -a1 -d1 -v5.28 -b3
sleep 8
rm -rf /var/run/mentohust.pid
sleep 3

mentohust -u2301010102 -paa142857 -nmacvlan1 -a1 -d1 -v5.28 -b3
sleep 8
rm -rf /var/run/mentohust.pid
sleep 3

mentohust -u2301010103 -pXX142857 -nmacvlan2-a1 -d1 -v5.28 -b3
sleep 8
rm -rf /var/run/mentohust.pid
sleep 3

exit 0

之后按 Ctrl + S 保存修改,再按 Ctrl + X 退出编辑器。

现在可以尝试重启系统,测试自动配置是否生效:

reboot

🎉恭喜你,已经完成配置了!任何连接你路由器的设备都可以享受带宽叠加了。

速率测试方法

  1. Steam 测试下载 60GB 以上的游戏。
  2. HTTP 多线程测速站。
  3. 其他多线程下载场景。

由于启用了 HTTPS 粘滞模式,许多 HTTPS 测速站只能显示权重最大的网速。例如,我使用了一个 50M 和两个 30M 账号,在单线程测速时,结果仅显示 50M 的速度。

结语

欢迎在评论区留言交流。


0
上一篇 中文博客圈列表
下一篇 ESLint 到 Oxlint 渐进式迁移快速上手指南