教程[7] lede/OpenWrt 下设置校园网负载均衡

开篇废话

目前学校的校园网超级坑爹,单个账号只给 1Mbps 速度,日常使用完全炸裂。 目前能的方案是

  1. DNS tunnel
  2. 多个账号负载均衡

方案 1 需要国内大带宽服务器做反代,性价比很低(理论上可以跑满千兆 成本感人)
方案 2 多个账号认证 + 负载均衡。

这里方案2 比较划算一点,仅需一台 lede 路由器即可完成
理论上 RouterOS 也是可以做的,并且负载均衡效果更好,不过这里牵扯到认证的问题了,感觉脚本不太好写就没搞了,以后有时间再折腾下。

lede 需要编译进去 mwan 组件进去

教程

若无特别说明,lede = OpenWrt

网络/接口

首先我们需要手动添加 macvlan 网口进去,这里我们手动编辑配置文件 /etc/config/network

config device 'macvlandev_macvlan1'
    option name 'macvlan1'
    option ifname 'eth1' # 这里编辑成 wan 的口
    option type 'macvlan'

config interface 'vwan1'
    option ifname 'macvlan1' # 这里对应上面的
    option proto 'dhcp'
    option metric '41' # 每个虚拟接口都要 + 1
    option macaddr 'ac:33:dc:77:77:a6'
    option delegate '0'
    option force_link '0'

需要几拨就有添加几个。(an1 -> an2 即可)

接着将 wan 设置成 不配置协议

luci network/interfaces wan no protocol
配置好如图所示。
luci network/interfaces summary
配置参考:https://paste.huggy.moe/habujecowa

网络/负载均衡

名称必须与 /etc/config/network 中的接口名称匹配。
名称允许包括 A-Z、a-z、0-9、_ 但是不能有空格。
接口不应该与成员、策略、规则中的任意一个设置项使用相同的名称

这边的话,不知道为什么直接粘贴配置文件不生效,所以我们就在 luci 手动配置。
首先我们把原来有的接口成员 (wan)删掉,然后添加新接口
luci network/mwan interfaces 1

这里添加选默认就好,添加跟踪ip判断接口有无上线按照情况添加,这里不推荐现在就填(判断没上线就尴尬了

luci network/mwan interfaces 2

当看到跃点数出现 而不是 - 那就说明添加成功了

luci network/mwan members

成员 按照图示添加即可(注意不能重名)

luci network/mwan policy

然后全部添加进去 balanced 策略

最后在规则里面 按照图里所示,策略选择 balanced 然后粘滞模式选否
luci network/mwan rule

这样,负载均衡部分就设置完成了。

校园网认证

这里的话,自行寻找认证方法,一般来说复制认证的请求即可认证完成

curl --interface macvlan1 xxx

这里 curl 就是要指定 interface 让流量从这个网卡出去即可认证。

最后吐槽下现在用的 lede mwan/端口转发/zerotier 只能三选二 >_<