"海大学生"的校园网多拨指南

前言:为何需要多拨

当下,高校普遍的学生校园网管理方式是限制登陆设备总数 + 限制单设备带宽。这无疑是面对(相对)庞大终端数量和较为复杂的网络环境下最简单且高效的管理方式,可对学生而言却造成了两个问题:一方面,单个设备面对下载需求时带宽严重受限,另一方面,过量的设备总数并未对整体网络体验带来优化(那些常年六设备在线的同学大抵是例外的)。多拨则是此环境下面对多线程下载 / 上传需求提升带宽的合理方法。本指南参考了 Myth 大佬的博客, 增加了多账号多拨的支持并针对 iZJU 的各学院各自网络环境进行了优化。

注意:多拨通常不能直接提升单链接传输带宽,也与对优化游戏延迟,网页访问速度无明显帮助。

开始之前

你需要准备:

  • 一台已经装有OpenWRT / ImmortalWRT系统的路由器(部分支持 SSH 连接的原厂路由器系统理论上可行 )

  • 一台电脑

单线多拨 or 多线多拨?

单线多拨是利用一条物理线路通过虚拟网卡的方式模拟多个拨号连接获取多个 IP,而多线多拨是通过多条物理线路同时拨号实现带宽叠加(同时会使你的路由器和 AP 变得像八爪鱼一样,十分炫酷)。具体的选择要基于你所在的书院

- 对于WX和GT书院:

对于这里两个书院,墙上的 AP 只有一个 RJ45 网口。但幸运的是,经测试这两个书院似乎并不会限制单线上的连接设备数量,因此单线多拨是最好且最优雅的方案

- 对于LT和[TO BE ANNOUNCED]书院:

好消息是你们拥有了四个网口;坏消息是:单个网口对于单个账号至多只能连接一个个设备(可以选择多账号多线多拨)。对于这两个书院,让路由器和 AP 化身克苏鲁风怪物是最好的选择(

STEP0: 如果你的路由器还没有连上校园网

在电脑上访问项目 BitSrunLoginGo 的 release 页面下载适用于 Arm64 架构认证脚本,通过 SCP 传输到你的路由/usr/bin目录下(放在其他地方也可以)。

接着/root/.config目录下创建 bitsrunconfig.yaml 文件。然后向你的学长询问 / 通过浏览器抓包获取脚本的参数。

对于海大而言,一份合适的 bisrunconfig.yaml 应该是如下样子的:

accounts: 
  - username: "YourAccount" 
    password: "YourPassword" 
    user_type: cmcc 
    net_iface: "wan" 

meta: 
  "n": "200"
  type: "1"
  acid: "12"
  enc: srun_bx1 
  os: Windows 10
  name: windows
  info_prefix: SRBX1 
  double_stack: false
settings:
  basic: 
    https: false 
    skip_cert_verify: false 
    timeout: 5 
    domain: "10.105.1.35"
  guardian: 
    enable: false
    duration: 300 
  backoff: 
    enable: false 
    max_retries: 0 
    initial_duration: 2 
    max_duration: 300 
    
    exponent_factor: 1 
    inter_const_factor: 0 
    outer_const_factor: 0 
  log:
    debug_level: true
    write_file: false 
    log_path: ./ 
    log_name: "" 
  ddns: 
    enable: false
    domain: www.example.com
    ttl: 600
    provider: "cloudflare"
    config: 
      zone: "xxxx"
      token: "xxxx"
  reality:
    enable: false
    addr: http://www.baidu.com 
  custom_header: 
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
  webhook: 
    enable: false
    url: ""
    timeout: 30

接着在 shell 中执行命令bitsrun_openwrt_arm64 --config '/root/.config/bitsrunconfig.yaml',完成对 wan 口的认证

bitsrun_openwrt_arm64 --config '/root/.config/bitsrunconfig.yaml'

等待提示Login Successful,此时你的 wan 口已经通过了学校的认证,可以进行下一步了

STEP1:安装依赖

你的路由器上需要的安装的包有kmod-macvlan mwan3 luci-app-mwan3 luci-i18n-mwan3-zh-cn

  • kmod-macvlan:内核模块,用于创建多个共享同一物理接口的虚拟网络接口。

  • mwan3:多 WAN 管理工具,支持多线路负载均衡和故障切换。

  • luci-app-mwan3 & luci-i18n-mwan3-zh-cn:mwan3 的 Web 管理界面及其中文语言包,方便在 LuCI 上配置和监控多 WAN 设置

- 通过LuCI界面安装:

  1. 登陆路由器 LuC 后台,前往系统 -> 软件包

  1. 点击操作 -> 更新列表, 等待软件包列表更新完成

  2. 先选择“可用”选项卡在过滤器中依次输入软件包名,在下方列表中点击安装等待安装完成

- 通过SSH安装

opkg update
opkg install kmod-macvlan luci-i18n-mwan3-zh-cn

STEP 2:配置虚拟网卡

  1. 前往网络 -> 接口页面,点击添加设备配置

  2. 设置“设备类型”为“Mac VLAN”,设置设备名称,设置 MTU 为 1500,并设置一个唯一的 mac 地址,点击保存

建议拷贝 wan 口的 mac 地址并更改最后一位,方便管理同时不易重复

  1. 点击“保存并应用”保存设置

  2. 转到接口页面,点击添加