开篇废话
目前学校的校园网超级坑爹,单个账号只给 1Mbps 速度,日常使用完全炸裂。 目前能的方案是
- DNS tunnel
- 多个账号负载均衡
方案 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 设置成 不配置协议
配置好如图所示。
配置参考:https://paste.huggy.moe/habujecowa
网络/负载均衡
名称必须与 /etc/config/network 中的接口名称匹配。
名称允许包括 A-Z、a-z、0-9、_ 但是不能有空格。
接口不应该与成员、策略、规则中的任意一个设置项使用相同的名称
这边的话,不知道为什么直接粘贴配置文件不生效,所以我们就在 luci 手动配置。
首先我们把原来有的接口成员 (wan)删掉,然后添加新接口
这里添加选默认就好,添加跟踪ip判断接口有无上线按照情况添加,这里不推荐现在就填(判断没上线就尴尬了
当看到跃点数出现 而不是 - 那就说明添加成功了
成员 按照图示添加即可(注意不能重名)
然后全部添加进去 balanced 策略
最后在规则里面 按照图里所示,策略选择 balanced 然后粘滞模式选否
这样,负载均衡部分就设置完成了。
校园网认证
这里的话,自行寻找认证方法,一般来说复制认证的请求即可认证完成
curl --interface macvlan1 xxx
这里 curl 就是要指定 interface 让流量从这个网卡出去即可认证。
最后吐槽下现在用的 lede mwan/端口转发/zerotier 只能三选二 >_<