拿什么拯救你,我的校园网——校园网优化之单线多拨

article/2025/10/2 3:27:33

目录

准备材料

准备工作

废话少说,马上开搞!

添加虚拟网卡

创建接口

负载均衡

成员配置

策略配置

规则配置        ​

最后检查

测速

实战

进阶

说明

参考

致谢


准备材料

        一台路由器(OpenWrt固件)

        电脑(手机也可)

        校园网

准备工作

        确保路由器能联网

        电脑进入OpenWrt后台网页

        一定的耐心和计算机网络知识(bushi

废话少说,马上开搞!

        首先确保你的电脑连接到路由器,路由器连接到校园网

        然后打开终端,ssh进入路由器后台        

        

添加虚拟网卡

        安装macvlan

opkg update
opkg install kmod-macvlan

        创建并启用虚拟网卡

ip link add link eth0.2 name veth0 type macvlan # 添加一个类型为macvlan,名字为veth0的虚拟网卡,并通过虚拟链路和eth0.2连接起来
ifconfig veth0 up # 启用创建的veth0网卡

        其中,eth0.2是我网络接口中对应的的物理网卡,启用了VLAN的固件一般是eth0.x,至于x是几根据VLAN划分确定。可以直接到网络→接口查看

        以上方法是临时创建的虚拟网卡,重启后虚拟网卡失效,创建永久虚拟网卡可以用下面的方法:

vi /etc/config/network# 添加内容
config device 'veth0'option name 'veth0'option ifname 'eth0.2'option type 'macvlan'

        这时输入ifconfig检查是否添加成功:

ifconfig
...
veth0     Link encap:Ethernet ... # 列表中有我们刚刚创建的veth0网卡,参数正常,创建成功
...

创建接口

        进入OpenWrt网页后台,点击网络→接口

        建议先把已经绑定到上面eth0.2的wan口删除或者设为开机时不启动,避免虚拟网卡获取不到IP地址

        添加新接口,设备选择虚拟网卡veth0,然后创建接口。

         设置网关跃点,随便一个值,但不要和其他wan口重复。

         防火墙选择wan

        其他设置保持默认,保存应用。

        检查IP是否正常获取

        IP地址与校园网自助服务系统的IP是对应的,说明已经成功通过虚拟网卡连接到校园网

        然后登陆校园网,检查网络是否正常(每个学校的登陆方式不同,这里省略一张截图)

再创建一个接口

        按同样的方法再创建一个虚拟网卡vwan2。这时vwan2还未连上校园网,只是自动获取了IP地址

        这里要注意的是我们的vwan2并不是创建后马上被使用,这时候进入校园网登陆界面仍显示已登陆,因为现在的流量走的是vwan1

负载均衡

        那怎么让流量走vwan2,从而让vwan2登上校园网呢?

        这时候就要用到负载均衡插件mwan3了

opkg install mwan3 luci-app-mwan3

        安装完后到网络→负载均衡界面,把接口、成员、策略、规则里面的配置全部删掉

        在接口里面新增vwan1,名字要和在网络→接口添加的接口名相同,否则无法匹配接口

        勾选启用,填入跟踪的IP,接口会ping这个IP检查自己是否在线。其他配置保持默认就行

         

        再添加一个vwan,保存,回到接口,可以看到像这样的配置

        需要特别注意的是,跃点数是不是数值,显示“-”要么是接口的跃点数没指定,回到网络→接口重新指定,要么是填的接口名称不对应。还有不同接口间的跃点数是否不同

成员配置

        名称建议用“接口_跃点数_权重”,方便配置策略时分辨

        路由优先发往跃点值较小的接口。跃点值相同的接口,按权重走路由。如果你用的是同一个号,网速相同,推荐相同跃点数,权重1:1,自行斟酌就ok

策略配置

         添加一个平衡策略balanced,把前面的所有成员添加进来,再添加vwan1、vwan2单独的策略,一个策略对应一个接口,单独策略在后面登陆校园网很有用

规则配置        

        重头戏来了,这一步实现指定用哪一个接口登陆校园网,也就是上图中的login_net规则

        目标地址填校园网网页登陆的地址,协议all,最后分配的策略选单独策略,这样就能控制登陆校园网的流量全部走分配给它的接口。每个单独策略都选一次保存应用然后登陆,有多少个vwan口就要登多少次

最后检查

         登陆之后检查所有接口是否都在线,状态→负载均衡

         切换到详细信息,检查策略是否分配正确

         

        我后面多加了一个vwan3口,所以负载均衡平均下来是每个口33%的流量。

        两个口的情况应该是每个口50%,分配的配置不同这里显示的也不同。

测速

        至此,理论上已经实现了多拨,多线的网速会翻倍,实践是检验真理的唯一标准,那就测个速吧

        注意要选有多线程测速的工具如 speedtest.cn 默认多线程,而 speedtest.net 需要选择多线程

 未多拨:

多拨:

 

        可以明显看出,我的多拨(三口)下载速率比单拨快了3倍,上传也有一定的提升(校园网限制下载不限上传)。

        别问我为什么只用了三个口,问就是校园网限制只能登3台设备。不限制的话加多一些也没问题,总网速=单号网速*网口个数,当然加太多的话路由器性能可能会成为瓶颈,自行测试。

实战

        既然有三个口,那一个也不能闲着

        这里模拟了多个终端设备同时在线播放视频(两个B站,一个电影),三视频同时播放也不带卡的。

OpenWrt实时流量,veth0,veth1,veth2是前面添加的三个虚拟网卡,负载均衡把流量分的很合理,每条链路都充分利用上了。

进阶

        如果你的路由器带有LED指示灯,那么还可以通过自定义LED事件来监控每条链路的速度。系统→LED配置。

         指示灯闪烁代表这条链路有数据传输,闪烁越快,数据传输就越快。

说明

        还有一点要说明的是,多拨的方法理论上只能提升带宽,而不能加快网络响应时间。也就是网页加载速度、ping等,因为响应时间取决于域名解析等带宽影响不大的因素。如果要加快网络响应时间,可以去了解下DNS相关的内容,OpenWRT也有相关的插件如smartDNS,这里就不过多赘述。

参考

写一个简单的校园网多拨思路_liuluoqianqiu的博客-CSDN博客

[OpenWrt Wiki] mwan3 (Load balancing/failover with multiple WAN interfaces)

LEDE/OpenWrt使用macvlan和mwan3实现单线多拨 | Acris' Blog

macvlan单线多拨+mwan3负载平衡 | Lixingcong

k2p基于openwrt实现不同运营商双宽带/双线叠加 - 网络资源 - 宅...orz

OpenWrt 电信移动双线负载均衡 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz!

致谢

        这篇文章写于计算机网络课结课后,没有计网的知识也就没有这次的成功实践,感谢我的计算机网络课程武老师,同时感谢这本我进入大学以来读过最厚的教材,还有上述参考文章。


http://chatgpt.dhexx.cn/article/AlJncn1U.shtml

相关文章

PandoraBox多拨

转载:宽带多拨好处多多:Lenovo联想 newifi mini 简测兼刷固件教程 地址:http://post.smzdm.com/p/329158/ 感谢原作者 首先要明确一点,多拨成功与否,与当地的宽运营商有关系。假如端口被封了,就不能多拨。…

宽带多账号自动拨号工具

搜罗万能的互联网,试用了几个自动拨号软件,好用的要收费。想了一下,功能不复杂,干脆自己做一个吧。 需求部分: 1、批量账号导入,账号格式有统一后缀密码相同 2、拨号上线后保持一段时间(自定义&…

多宽带联网(五) 仅使用Windows进行多宽带叠加

前面教程讲述的带宽叠加需要使用OpenWrt路由,实现较为繁琐,需要的设备较多,同时还需要多宽带。如果身边仅有一台多网卡电脑,如笔记本电脑同时具有无线网卡和以太网卡,则可直接利用Windows系统完成带宽叠加。本教程的核…

OpwnWrt 路由器MWAN3多线多拨实现方法

OpenWrt上的MWAN3可以支持多根网线或者多个PPPOE账号的同时拨号使用和负载均衡。并且还可以通过Ping方式来检测中断线路并自动屏蔽中断线路。更厉害的是还支持通过IP、端口、甚至配合dnsmasq使用的域名来进行智能的多线路分流。十分实用。主要可以用在如下几个场景:…

宽带多拨-路由器设置

https://www.52pojie.cn/thread-409698-1-1.html https://itbbs.pconline.com.cn/network/51392834.html 教程中使用的版本为潘多拉最新稳定版20150608 多拨顾名思义,就是多拨号。 通过一个宽带账号利用运行漏洞进行多次拨号,从而达到网速叠加的目的。多…

利用多拨技术将100M宽带免费扩展到1000M

大家好,我叫小沈阳。今天教大家利用多拨技术将家里的100M宽带扩展到1000M。首先需要购买一个软路由,某宝上几百一个。推荐J1900的。 主要分为3步如下所示: 1.破解光猫,将光猫切换到桥连模式。 2.软路由切换到PPPOE模式。 3.软…

工作室多拨宽带如何优化?

最近有很多客户问我多拨宽带的问题,这里我就简单的说一下工作室多拨宽带该怎么处理。 什么是多拨宽带? 平时我们家里面用的就属于是单拨宽带,一个账号只能拨号一次,每次重新拨号会产生一个新的ip。多拨宽带呢就是可以多次拨号的…

POJ 2036 I Conduit! 笔记

n段线段,给出线段的端点坐标。重新绘制最少需画多少线段。

CXF 客户端报错 No conduit initiator was found for the namespace http://schema

apache-cxf-2.2.7根据wsdl生成的客户端代码调用服务端报错 原因:缺包导致,引用包:cxf-rt-transports-http

[UE4] LogicDriver状态机基于管线(Conduit)的状态选择器

内容自学自B站AV891927158,P4 (译自https://www.youtube.com/channel/UChc2VbgExQJ846GcuMf0MUw) 该文仅为自学记录,并非教程,可能存在谬误 系统环境:Win10, UE4(引擎版本4.27.1)&am…

conduit 安装试用

备注: 测试安装环境使用docker mac 版本(目前版本已经支持kubernetes了) 1. 基本安装 curl https://run.conduit.io/install | bash配置环境变量 Copy /Users/dalong/.conduit/bin/conduit into your PATH. Then run conduit install | kube…

Conduit-面向Kubernetes的轻量化服务网格

【编者的话】作为Linkerd面向Kubernetes的独立版本,Conduit拥有着其独特的理念,本文就为大家解析了Conduit的主体设计以及未来的发展路线,希望供感兴趣的朋友们参考。 在本周 KubeCon CloudNativeCon 2017 大会上所有关于服务网络的讨论中…

我的世界服务器物品管道,物品导管 (Item Conduit)

物品导管是一个传导物品的管道,并且可以应用多种升级。 它会自动连接相邻的带有物品存储的方块(如果一个机器的IO模式被设为“禁用”,仍会连接),并在所连接的方块的表面形成一个导管接口,导管接口是方块进入物品导管网络的标志。如果这个被连接的方块被移除,相应的,连接会…

Authorization loop detected on Conduit with realm “WSMAN“

报错 Authorization loop detected on Conduit “{http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd}WinRmPort.http-conduit” on URL “http://172.20.2.21:5985/wsman” with realm “WSMAN” 原因 发生这个原因有2种几种可能, 服务端未开启专用网络WinRM 配…

Service Mesh框架选型对比分析:Linkerd、Envoy、Istio、Conduit

当前,业界主要有以下主要几种Service Mesh框架,下面进行详细的说明及对比。 1、Linkerd Linkerd是Buoyant公司2016年率先开源的高性能网络代理,是业界的第一款Service Mesh框架。其主要用于解决分布式环境中服务之间通信面临的一些问题&…

ue4 中动画控制,利用conduit节点

Actor的动画状态可能有几种idle,run,walk,skill,而skill中由又有几种不同的技能动作,要做进步一控制,这里只是提供一种思路,利用动画蓝图里的 conduit 节点,减少大量重复性的 state&…

PIX中Conduit命令用法

<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /> conduit命令用来允许数据流从具有较低安全级别的接口流向具有较高安全级别的接口&#xff0c;例如允许从外部到DMZ或内部接口的入方向的会话。对于向内部接口的连接&#xff0c;…

Service Mesh-Conduit概览

2019独角兽企业重金招聘Python工程师标准>>> Service Mesh-Conduit概览 Conduit是一款针对Kubernetes的超轻量级的service mesh。它可以透明得管理服务运行时之间的通信&#xff0c;使得在Kubernetes上运行服务更加安全和可靠&#xff1b;它还具有不用修改任何应用程…

WebApp开发实践

网上购物网站&#xff08;以出售软件为例&#xff09; webApp开发由Java实现&#xff0c;运用了 jdbc&#xff0c;jsp&#xff0c;servlet&#xff0c;jQueryFlot图表 等技术&#xff0c;数据库为SqlServer2008&#xff0c;仅供参考学习&#xff0c;转载文章需注明: 一、后台…

Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131122772 红胖子网络科技博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…