在宿舍网络中采用策略路由

Clayton Ryan Lv2

众所周知,在安微太学,学校内的宽带与校园网相比,虽然都是从一个网线面板出来的,但是登录PPPoE使用的账号如果带上运营商名的话就会走对应的宽带线路,速度更快(当然需要课金😈);如果不带运营商名那就是纯粹的校园网,但是速度十分垃圾,相当于1MBps,简直无法忍受~

有同学采用的方案是,一个主网使用宽带,副网只接校园网,需要用的时候拔插网线或切换Wi-Fi即可,不过我认为太麻烦,并且需要闲置路由器(做副网用)和交换机(一个墙插网口得分给两台路由器)。因此,拥有Openwrt的我怎能放任此事不管呢?不管是为了我自己方便还是舍友(笑)。

[发现以前我在叙述事情经过时太啰嗦了,这次尽量速战速决吧(/doge)]

起初我看到了“静态路由”功能,不过研究一番后发现它属于级别更高的层次,虽然可以根据网络地址+CIDR精确划定要设定规则的对象,不过却只能设定把数据包发往哪个IP。这可就有大麻烦了,因为抛开一个网卡虚拟两个wan口这一必需的技术壁垒不谈,我校采用的PPPoE认证技术得到的IP也是时常变化的。对付这种变化的IP地址也只有DDNS软件做的好,它们会轮询监测IP的变化;而我们自己要想实现这套逻辑的话,首先需要一个区域存放先前的IP地址(of 连校园网的vwan2,下同),其次需要随系统启动一个脚本,每隔一定时间扫描vwan2的IP,最后再提交到静态路由表里……想想就复杂,况且我只是会一点Linux,对Openwrt系统内部原理、Linux内核下的计算机网络和Luci都不甚了解,这样的代码也不是我短期内能写出来的,遂只能放弃。

此后,在创建虚拟网卡的过程中(网络菜单–多线多拨 [aka. Syncdial],打开“不自动配置MWAN3负载均衡”),我发现其实它也是使用到一个名叫MWAN3的工具来实现。我于是查询了后者的教程,果然,它是一个极为强大的负载均衡工具。也正是thanks to它,才有了今天这篇文章的诞生。

详细步骤如下:

首先在Syncdial打开“单线多拨”,设置虚拟wan口数量为期望的值(或如图)

image-20230302231301694

保存后回到接口页面,分别进入vwan1,vwan2配置对应的宽带账号(我的方案是前者登宽带账号,后者登校园网账号),保存并应用;

再进入“负载均衡”页面,先设置接口和成员,把默认值尽数删除,然后对每个虚拟wan口各创建一个接口与成员,跃点数和权重视情况即可:

image-20230303011315561

image-20230303011338264

接下来创建策略,也就是告诉mwan3,被匹配到的流量要从哪个渠道出站,创建如图所示的新策略:

image-20230303011457775

同时在默认策略中把vwan1调到靠前的位置,vwan2尽量靠后;

image-20230303011636751

最后就是配置规则了,如图即可,添加过程中不熟悉的一概默认或留空即可

image-20230303011719765

恭喜你!在这样操作+漫长的“保存与应用”后,你就可以享受高速宽带+直连校园网的便利了!

经测试原先无法直接访问的校内资源现在也可内网直接访问了,详情见图:

image-20230303012005119

(完结撒花)

注:我发现我校的Web VPN系统检测到校内IP地址访问是自动从wvpn.ahu.edu.cn跳转回one.ahu.edu.cn,很聪明呢

  • Title: 在宿舍网络中采用策略路由
  • Author: Clayton Ryan
  • Created at : 2023-03-08 23:32:30
  • Updated at : 2024-04-29 00:16:15
  • Link: https://blog.eddy.moe/2023/03/08/在宿舍网络中采用策略路由/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
在宿舍网络中采用策略路由