> ## Content Index
> Fetch the complete content index at: https://sgpublic.xyz/llms.txt
> Use this file to discover other available public pages before exploring further.

# 校园网突破限速、限终端数量终极办法：组网+多播
- URL: https://sgpublic.xyz/p/2026/04/6aac9cb1810a480001533611/
- Published: 2026-04-08T12:32:55.000Z
- Updated: 2026-09-18T04:53:00.000Z
- Author: Haven Madray
- Tags: 网络与路由, OpenWrt, #wp-post

我目前所在的学校校园网单端限速 500Mbps，确实已经足够高了，不过依旧限制两个客户端。由于我有多台设备、IoT设备，数量远超限制，因此需要考虑使用一些手段。

此方法理论适用于所有高校的校园网。

## 1\. 方案构思

### 1.1 利用负载均衡实现带宽叠加

首先，通过实验发现，判断是什么类型的设备是依靠浏览器自己识别，然后通过参数传递给认证网关，并且认证设备靠上游网关获取到的 MAC 地址区分，也就是说完全可以使用路由器接入校园网，让下游设备完成登陆认证，这样认证网关认证的是路由器的 MAC 地址。

接下来，如果是简单的认证，无法实现突破限速，我这里的校园网允许一个账号登陆一个手机端一个电脑端，因此我们可以通过多播的方式，让软路由虚拟出两个网口，并通过 MWan3 负载均衡，这样就能在一定程度上实现突破 500Mbps 限速。

为什么说一定程度上呢？原因如下：

1. 由于实现方式是负载均衡，这种方式仅仅是将不同请求分发给不同的网口进行通信，也就是说，单个 TCP 连接就只能一直使用同一个网口进行通信，也就是说速度无法突破 500Mbps。
2. 假设每个请求足够小，或者应用层使用多线程通信，那么就能利用上多个网口的带宽，实现带宽叠加。

### 1.2 利用网络代理实现“异地”组网

上文提到的负载均衡这种方式会带来一个问题，由于我这里校园网的账号最多就只能登陆两个设备，如果两个设备都交给软路由登陆了，实验室的网络解决了，宿舍的网络又怎么办呢？这种情况我第一时间想到的是异地组网的方式。

我这里宿舍和实验室里的网络设备互相可以访问，比如可以在实验室直连 IP 远程宿舍里的电脑，也可以在宿舍直连 IP 访问实验室里的服务器，所以两边软路由可以直连。

并且，这里的校园网连接之后会下发一个 DNS 服务器地址，这个 DNS 服务器在不认证的情况下也能查询 DNS，我们甚至可以让出网设备使用 DDNS 记录下自己的 IP，让其他设备用固定的域名直连出网节点。

最后，我们把一个节点设置为 exit-node，让其他所有节点通过 exit-node 出网，这样就能实现让所有设备都能上网了。

## 2\. 方案实践

首先我们需要至少两台软路由，即宿舍一台、实验室一台。如果你还有其他设备在不同的地理位置，则按需增加软路由数量。

我这里选择把出网节点放在实验室，也就是说宿舍的软路由通过实验室的软路由出网。

本文基于 OpenWrt 24.10.6 编写。我的校园网环境：

- 允许一部手机、一台电脑，共两个端登陆校园网；
- 上游下发的 DNS 服务器在不登陆的情况下也能查询结果；
- 宿舍和实验室的 IP 可以直连。

### 2.1 前置条件

出网节点 OpenWrt 依赖：

- [luci-app-easytier](https://github.com/EasyTier/luci-app-easytier?ref=sgpublic.xyz)
- [easytier](https://github.com/EasyTier/luci-app-easytier?ref=sgpublic.xyz)
- [luci-app-ddns-go](https://github.com/sirpdboy/luci-app-ddns-go?ref=sgpublic.xyz)（可选）
- luci-app-mwan3（可选，添加后可实现突破单客户端限速）
- kmod-macvlan（若出网节点的软路由硬件包含多个网口，且环境条件允许插多根网线时，此依赖可选）

其他节点 OpenWrt 依赖：

- [luci-app-easytier](https://github.com/EasyTier/luci-app-easytier?ref=sgpublic.xyz)
- [easytier](https://github.com/EasyTier/luci-app-easytier?ref=sgpublic.xyz)
- [luci-app-mosdns](https://github.com/sbwml/luci-app-mosdns?ref=sgpublic.xyz)

### 2.2 配置出口节点

如果你的校园网不支持多个端登陆，则只需要创建一个 wan 开头的“设备”、“接口”，然后跳过配置 MWan3，认证网络步骤也无需禁用所有 WAN 口、单独启用再认证等繁琐步骤，直接登陆即可，这里不展开说明。

#### 2.2.1 创建虚拟 WAN 口

> 如果你的出网节点的软路由硬件包含多个网口，且环境条件允许插多根网线，那这一步可以省略，直接插很多根网线，然后把这些网口设置成 wan 口就行了，这里就不展开说明了，读者自行研究。

我这里的设备，`eth1` 接校园网网口，`eth0` 接下游 AP。

前往“网络”->“接口”：

1. 在“接口”选项卡中，删除默认的 `wan` 和 `wan6` 口，点击“保存并应用”。
2. 在“设备”选项卡中，取消配置 `wan` 设备，点击“保存并应用”。
3. 在“设备”选项卡中，添加设备配置 `wan_a`：

  - 设备类型：MAC VLAN
  - 基础设备：`eth1`（接了校园网的网口）
  - 模式：桥接
  - 设备名称：`wan_a`（你也可以自定义名称）
  - MAC 地址：（随便搜一个随机 MAC 地址生成器生成一个）  
添加设备配置 `wan_b`：

  - 设备类型：MAC VLAN
  - 基础设备：`eth1`（接了校园网的网口）
  - 模式：桥接
  - 设备名称：`wan_b`（你也可以自定义名称）
  - MAC 地址：（随机 生成一个）  
> 如果你的校园网允许的终端数量大于 2，则还可以继续创建 wan 设备。  
添加设备配置 `lan_easytier`：

  - 设备类型：MAC VLAN
  - 基础设备：`eth0`（接了下游 AP 的网口）
  - 模式：桥接
  - 设备名称：`lan_easytier`（你也可以自定义名称）
  - MAC 地址：（随机生成一个）  
以上所有设备 MAC 地址需互不相同。
4. 在“接口”选项卡中，添加新接口 `wan_a`：

  - 名称：`wan_a`（你也可以自定义名称）
  - 协议：DHCP 客户端
  - 设备：`wan_a`
  - DHCP 请求时发送的主机名：不发送主机名（可选，改成这个之后，风险更低）
  - 高级设置->网关跃点：2
  - 防火墙设置->创建/分配防火墙区域：wan  
添加新接口 `wan_b`：

  - 名称：`wan_b`（你也可以自定义名称）
  - 协议：DHCP 客户端
  - 设备：`wan_b`
  - DHCP 请求时发送的主机名：不发送主机名（可选，改成这个之后，风险更低）
  - 高级设置->网关跃点：2
  - 防火墙设置->创建/分配防火墙区域：wan  
> 如果你的校园网允许的终端数量大于 2，则还可以继续创建 wan 接口。  
添加新接口 `lan_easytier`：

  - 名称：`lan_easytier`（你也可以自定义名称）
  - 协议：DHCP 客户端
  - 设备：`lan_easytier`
  - DHCP 请求时发送的主机名：不发送主机名（可选，改成这个之后，风险更低）
  - 网关跃点：1（需小于所有 wan 口的网关跃点，这样 easytier 组网的流量才能进过这个接口）
  - 防火墙设置->创建/分配防火墙区域：wan  
点击“保存并应用”。

#### 2.2.2 配置 MWan3

> 如果你的校园网仅允许一个端，则跳过这一步。

前往“网络”->“MiltiWAN 管理器”：

1. 在“接口”选项卡中，删除所有已存在的接口。添加接口 `wan_a`（名称需与上一节中你设置的 wan 接口名称相同）：

  - 已启用：勾选
  - 跟踪的主机或 IP 地址：（添加上游默认网关地址，可以用电脑直连校园网，用 ipconfig 命令查看默认网关的地址，具体方法读者自行研究）  
添加接口 `wan_b`（名称需与上一节中你设置的 wan 接口名称相同）：

  - 已启用：勾选
  - 跟踪的主机或 IP 地址：（添加上游默认网关地址，可以用电脑直连校园网，用 ipconfig 命令查看默认网关的地址，具体方法读者自行研究）  
点击“保存并应用”。
2. 在“成员”选项卡中，删除所有已存在的成员。添加成员 `member_a`（你也可以自定义名称）：

  - 接口：`wan_a`
  - 跃点数：1
  - 权重（Weight）：1  
添加成员 `member_b`（你也可以自定义名称）：

  - 接口：`wan_b`
  - 跃点数：1
  - 权重（Weight）：1  
点击“保存并应用”。
3. 在“策略”选项卡中，删除所有已存在的策略。添加策略 `easytier`：

  - 使用的成员：添加第 2 步中添加的所有成员。
  - 备用成员：不可达（拒绝）  
点击“保存并应用”。
4. 在规则中，删除所有已存在的规则。添加规则 `easytier`：

  - IP协议版本：IPv4 和 IPv6
  - 分配的策略：`easytier`（第 3 步中创建的策略）  
点击“保存并应用”。

此时你的路由器已经能实现负载均衡了。

#### 2.2.3 认证网络

回到“网络”->“接口”：

1. “停止”接口 `wan_a`、`wan_b`...（即所有 `wan` 开头的接口）。
2. “重启”接口 `wan_a`，使用电脑登陆校园网，登陆成功后“停止”接口 `wan_a`。
3. “重启”接口 `wan_b`，使用手机登陆校园网（可以电脑浏览器开 F12，开启模拟手机设备），登陆成功后“停止”接口 `wan_b`。
4. “重启”接口 `wan_a`、`wan_b`...（即所有 `wan` 开头的接口）。

使用浏览器登陆的时候，尽量使用无痕窗口、隐身模式等。

此时，你的软路由应该能实现叠加校园网两个端的速度了。

> 当然速度上限取决于你连接校园网使用的物理网口的协商速度，如果你的环境条件允许插很多根网线，那么速度上限就是这些网线协商速度的叠加。

#### 2.2.4 配置 DDNS

> 如果你的校园网跟我的一样，上游下发的 DNS 服务器在不登陆的情况下可以查询到结果，并且你有自己的域名，则强烈建议配置 DDNS，这样能大幅简化组网流程。

这一步就是配置 DDNS-GO 监听接口 `lan_easytier`，把接口拿到的 IP 解析到你的域名上，详细配置步骤不再展开说明。

#### 2.2.5 配置 EasyTier

前往“VPN”->“EasyTier”，在“EasyTier配置”中：

1. 在“常规设置”选项卡中：

  - 启用：勾选
  - 网络名称：自定义。
  - 网络密钥：自定义。
  - 接口IPV4地址：自定义，例如 `172.16.0.1/24`。
  - 子网代理：填写当前网络的子网地址，例如 `192.168.6.0/24`。
  - 主机名：自定义。
2. 在“高级设置”选项卡中：

  - 启用出口节点：勾选
  - 启用私有模式：勾选（可选，但建议勾选）
3. 点击“保存并应用”。

其他选项按需配置。

#### 2.2.6 测试出口节点

至此，你的出口节点就算配置完成了，可以在出口节点的网络中测速，测试一下网速是否有叠加，推荐使用百度超级会员、迅雷 SVIP 等下载文件测速（真不是广，好多测速软件都不行，测不出速度上限）。

如果网速没有叠加，可以重新尝试”认证网络“步骤，如果还是不行，可以把几个 wan 口换一个 MAC 地址再尝试认证。

如果还是不行，那我没招了（摊手）。

### 2.3 配置子节点

#### 2.3.1 初始化 WAN 口

> 这一步的作用是仅使用 IPv4，配合出网节点。如果你出网节点配置的协议是“DHCPv6 客户端”，那这里就删除 `wan` 保留 `wan6`，这里不展开说明，读者自行研究。

1. 在“接口”选项卡中，删除默认的 `wan6` 口，点击“保存并应用”。

#### 2.3.2 配置 EasyTier

前往“VPN”->“EasyTier”，在“EasyTier配置”中：

1. 在“常规设置”选项卡中：

  - 启用：勾选
  - 网络名称：同出网节点配置。
  - 网络密钥：同出网节点配置。
  - 启用DHCP：勾选。
  - 接口IPV4地址：留空。
  - 对等节点：添加 `udp://<exit-node>:11010`（其中 `<exit-node>` 是出网节点 `lan_easytier`接口的 IP 地址，或你设置的 DDNS 域名），也可以使用 tcp 等协议，按你的喜好来。
  - 子网代理：填写当前网络的子网地址，例如 `192.168.7.0/24`。
  - 主机名：自定义。
2. 在“高级设置”选项卡中：

  - 出口节点地址：添加出口节点的“接口IPV4地址”
  - 启用私有模式：勾选（可选，但建议勾选）
3. 点击“保存并应用”。

其他选项按需配置。

#### 2.3.3 添加路由规则

前往“网络”->“路由”，在“静态 IPv4 路由”中：

1. 添加规则（手动排序到第一条）：

  - 接口：`wan`
  - 路由类型：unicast
  - 目标：出口节点所在网段。
  - 网关：子节点所在网络的默认网关地址。
2. （如果你不用 DDNS，则不需要添加这一条）添加规则（手动排序到第二条）：

  - 接口：`wan`
  - 路由类型：unicast
  - 目标：上游下发的 DNS 地址。
  - 网关：子节点所在网络的默认网关地址。
3. 添加规则（手动排序到第三条）：

  - 接口：`EasyTier`
  - 路由类型：unicast
  - 目标：`0.0.0.0/0`

#### 2.3.4 劫持 DNS 转发到出网节点

> 这一步是为了防止 DNS 泄漏，可选，但推荐执行。

前往“服务”->“MosDNS”：

1. 在“基本选项”选项卡中：

  - 启用：勾选
  - DNS 转发：勾选
  - DNS 重定向：勾选
  - 远程 DNS 服务器：添加出口节点的“接口IPV4地址”

#### 2.3.5 测试子节点

此时，你的子节点已经能通过出网节点上网了，可以访问互联网测试是否无需登陆也能访问互联网。