突破校园网限速:使用 iKuai 多拨分流负载均衡 + Clash 代理(内网带宽限制通用)

本文主要是介绍突破校园网限速:使用 iKuai 多拨分流负载均衡 + Clash 代理(内网带宽限制通用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 简介
  • 2. iKuai 部署
    • 2.1 安装 VMware
    • 2.2 安装 iKuai
      • (1) 下载固件
      • (2) 安装 iKuai 虚拟机
      • (3) 配置 iKuai 虚拟机
      • (4) 配置 iKuai
      • (5) 配置多拨分流
    • 2.3 测试速度
  • 3. Clash 部署
    • (1) 配置磁盘分区
    • (2) 安装 Docker
    • (3) 安装 Clash
    • (4) 设置代理


1. 简介

由于博主连的内网是限速的,但是不同设备之间的网速却始终差不多,有一天看着屏幕转圈圈的加载动画,不禁萌生了一个想法:我可不可以将多个设备的网络汇总到一起,组成一个新的网络呢?

在网上找了一圈,话题始终离不开“分流”、“负载均衡”、“多拨”、“iKuai”……

经过几天的拉锯战,从刚开始的不明不白到现在的略知一二,最终实现了 iKuai 多拨 IP 并负载均衡实现网速自由,再结合 Clash 实现网络自由。

59115b736bd8fdab8a4b7a8f94598947本文就这几天的部署经验,阐述了部署过程和一些我认为很多教程模糊不清的地方。

在正文开始前,你需要 确保你的有线网卡能够接入网络,否则一切免谈。

2. iKuai 部署

2.1 安装 VMware

不赘述了,这部分网上教程太多了

2.2 安装 iKuai

(1) 下载固件

打开 https://www.ikuai8.com/component/download 下载 64位 的 iKuai ISO固件。注意:一定要是 64 位的,否则后面无法安装 Docker 去扩展代理服务器

64位 的 iKuai ISO固件

(2) 安装 iKuai 虚拟机

选择 【典型】

在这里插入图片描述

选中刚刚下载的 【iso 文件】

在这里插入图片描述

选择 【CentOS7 64位】 版本的虚拟机

在这里插入图片描述

找个地方放虚拟机

在这里插入图片描述

通常来说 10 GB 就够了,但为了后面方便装东西省得存储空间不够了我还是满上了

image-20240403200349587

(3) 配置 iKuai 虚拟机

内存要大于 2GB,否则无法安装系统

image-20240403200550522

【网络适配器】改成 【VMnet0】

image-20240403200632198

再添加一个网络适配器

image-20240403200730779

【网络适配器 2】选择【VMnet1】

image-20240403200811975

配置完了保存

image-20240403200916375

打开虚拟网络编辑器

image-20240403200956639

确保 【VMnet0】桥接到【Realtek …】 网卡

image-20240403201014651

模糊点①
问:如果有多个网卡怎么选,一定要选 Realtek 开头的吗?

答:如果你有很多网卡,你可以看看网络适配器选项卡中列出的网卡,不要选择 WLAN 网卡,要选择有线连接的网卡也就是以太网。

image-20240403201258164

设置 【VMnet1】 如图配置,你可以更改 192.168.154.0 为任意子网,只要不和其他子网发生冲突就行。

image-20240403201520547

模糊点②
问:如果我网卡连接的子网 IP 是 10 开头的怎么办?我要改成 10 开头的子网 IP 吗?

答:不用!虽然我还没有彻底搞清楚 VMware 局域网是怎么弄的,但我网卡连的也是 10 开头的子网,用 192.168.xxx.xxx 完全没问题。

最后保存,然后启动虚拟机,会提示进行安装系统。安装后会重新启动,然后进行接下来的操作。

(4) 配置 iKuai

输入 1 回车

image-20240403202709725

执行以下命令:

del lan1
set lan1 eth1

主要目的就是让你能够通过一个网卡访问后台管理界面。wan1 是后面再部署的,这里先别管。

image-20240403202757994

输入 q 回车回到主菜单

image-20240403202955707

输入 2 回车

image-20240403203024682

输入 0 回车,配置 LAN1 地址

image-20240403203056084

还记得你 【VMnet1】 配置的子网 IP 是多少吗?如果你设置的时 192.168.x.0 那么这里输入 192.168.x.1 即可。这个 IP 用于你访问 iKuai 软路由后台的 IP。如果输入是乱码,按一下数字键盘 NUM LOCK 按钮即可。

image-20240403203142661

最后设置完成,回到主菜单即可。

(5) 配置多拨分流

打开 192.168.154.1 进入 iKuai 后台,如果打不开,你需要手动配置一下适配器的 IP。如果打得开,那跳过到下一步直接进行配置多拨分流。

image-20240403203938275

image-20240403204004007

还是一样的,你之前设置的是 192.168.x.1 这里就是多少,注意这里的 IP 地址不是 1 了,这里设置的是当前主机在这个网卡里面的子网 IP 信息,由于有时候 DHCP 并不起作用所以无法获取 IP,也就无法和软路由通信了。

image-20240403204311916

打开 192.168.154.1 进入 iKuai 后台,默认账号和密码都是 admin

登陆后点击 【wan1】,绑定网卡

image-20240403203853980

如果你的网络需要登录才能连接,那么就选择第三个 【ADSL/PPPoE拨号】,不需要就直接 【DHCP/动态IP】。

点击添加按钮添加多个 IP,注意名称要不一样,比如我这里的 vwan1~6

注意:添加完记得保存。

image-20240403204655677

再打开 【DHCP 服务器】,添加一个 【DHCP 服务器】

image-20240403205028619

如此配置,客户端地址同样是改成你配置的样子。

image-20240403205135007

添加完记得重启 【DHCP服务】,如果显示像我一样显示服务正常就行。

image-20240403205514410

添加一个分流策略

image-20240403205322445

image-20240403205343381

最后改一下适配器,改成自动的就行。

image-20240403205732001

2.3 测试速度

由于我们使用的是 源IP+目的IP+目的端口 分流,也就是说我们可能看视频和下载东西很可能会分流到不同的 IP 上,如果每个 IP 原来的网速是 1MB/s,那么你看视频就是 1MB/s,同时下载东西的网速也是 1MB/s。

但问题在于我们用测速软件也因为是连同一个服务器而不会分流,那么网速看起来没有提升。所以为了能够测到负载均衡功能正常且确实用到了不同的网络进行分流,我想到了一个办法,那就是用迅雷同时下载 3 个不同服务器上的文件。

用迅雷同时下载这三个文件:

  • 阿里云:https://mirrors.aliyun.com/centos/8/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso
  • 腾讯云:https://mirrors.cloud.tencent.com/centos/8/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso
  • 搜狐云:http://mirrors.sohu.com/centos/8/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso

这三个文件都是 CentOS8 的镜像文件,大小为 10GB,分别放在了三家公司的镜像源网站里。我们使用迅雷下载:

e595c43e3e49226d5a5cc1c89e0177f2

博主的网速本来是 1.5MB/s 的,现在直接升到了 4.3MB/s。

查看 状态监控-线路监控,可以看到有多个 IP 的网速被拉满了!

59115b736bd8fdab8a4b7a8f94598947

那么理论上你电脑上不同软件的网速都是满速状态,互不干扰,即使你在下东西也可以流畅地浏览网页了!

3. Clash 部署

(1) 配置磁盘分区

Clash 得安装在虚拟机才行,因此我们本地安装的 Clash 会导致网络异常。

在部署之前我们需要为 Docker 开辟一个存储空间。

打开系统设置-磁盘管理-磁盘分区,选择【快速分区】

image-20240403211327077

为系统日志分配 5GB 足矣,剩下 15GB 留给我们使用。保存后虚拟机将重启,我们等待一段时间重新登陆系统。

image-20240403211555898

打开该分区的设置,设为普通存储,挂载路径为 sda6,这里可以取自定义的名字。

image-20240403211728215

(2) 安装 Docker

根据指引安装 Docker 插件

image-20240403212156815

这里会提示你绑定爱快云平台,绑定登陆后打开插件市场,点击【安装】,为你的设备安装即可。

image-20240403212340908

安装后需要等待一段时间部署,因此这里不要着急,等刷新出来了再进入 Docker

image-20240403212553547

点击【服务设置】

image-20240403212633669

这里选择存储数据的分区为刚刚开的分区,镜像库 URL 使用腾讯的:https://mirror.ccs.tencentyun.com

image-20240403212744190

(3) 安装 Clash

将 Clash 的配置文件 xxx.yaml 上传到 sda6/ikuai/clash/

image-20240403211935052

启动 Docker 服务后,添加镜像

image-20240403212852266

输入 laoyutang/clash-and-dashboard 搜索,点击下载

image-20240403212939130

继续添加一个网络

image-20240403213034550

这里输入 IPv4 的地址不要和之前的 192.168.154.0 重复了!换一个新的网段,比如 192.168.168.2

  • IPv4 地址:192.168.168.2/24
  • IPv4 网关:192.168.168.2

image-20240403213055148

添加容器

image-20240403213319878

如下配置:

  • 容器名称:clash
  • 内存占用:128
  • 选择镜像文件:laoyutang/clash-and-dashboard:latest
  • 选择网络接口:doc_clash
  • IPv4 地址:192.168.168.1
  • 开机自启:√(可以不勾,不过每次重启电脑又得重新启动 Clash 比较麻烦)
  • 源路径:/sda6/ikuai/clash/xxx.yaml
  • 目的路径:/root/.config/clash/config.yaml

image-20240403213544822

最后启用 Clash,打开 192.168.168.1:8080 可以查看后台,设置相关配置。

image-20240403214118043

(4) 设置代理

最后打开代理服务器设置

image-20240403214238789

设置代理为如下

image-20240403214258190

这篇关于突破校园网限速:使用 iKuai 多拨分流负载均衡 + Clash 代理(内网带宽限制通用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875650

相关文章

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca