0x00 前言

在使用Clash节点的时候,有时候觉得自己的节点网速跑不满,速度不够快。这时候,我们可以尝试着使用负载均衡,来让节点的网速拉满。在渗透测试的时候,目标站点那边有WAF,操作没几分钟就被客户把IP ban掉了,如果使用clash挂上游代理,可以切换IP,但每次被封一个就切换一次,太麻烦,这块就可以使用负载均衡的方式,一个IP被ban后,直接自动切换下一个IP。。。

0x01 准备材料

  • Clash 节点配置
  • 基于原版 Clash、Clash Premium 或 Clash Meta 的客户端

0x02 配置步骤

CFW Parsers

  1. 打开 Clash For Windows,转到“设置”→“配置”。点击“预处理配置”右边的“Edit”按钮:

image-20240410102323613

  1. 在内置编辑器中,粘贴以下内容并保存
parsers:
- reg: 'slbable$'
yaml:
append-proxy-groups:
- name: ⚖️ 负载均衡-散列
type: load-balance
url: 'http://www.google.com/generate_204'
interval: 300
strategy: consistent-hashing
- name: ⚖️ 负载均衡-轮询
type: load-balance
url: 'http://www.google.com/generate_204'
interval: 300
strategy: round-robin
commands:
- proxy-groups.⚖️ 负载均衡-散列.proxies=[]proxyNames
- proxy-groups.0.proxies.0+⚖️ 负载均衡-散列
- proxy-groups.⚖️ 负载均衡-轮询.proxies=[]proxyNames
- proxy-groups.0.proxies.0+⚖️ 负载均衡-轮询

image-20240410102331198

  1. 为了防止正常订阅被污染,请自行修改订阅地址,在其后面加上#slbable即可使用负载均衡

在订阅地址后面手动输入:#slbable

image-20240410102338531

  1. 点击确定回到【配置】界面,右击配置项选择【预处理配置】。如果出现如下界面,就代表负载均衡规则已加载成功:

出现 reg(slbable$) 代表负载均衡规则加载成功

image-20240410102344268

  1. 此时,Clash 已经配置好的节点之间的负载均衡规则。在【代理】-【规则】中出现了【负载均衡-散列】和【负载均衡-轮询】的选项:

image-20240410102350484

新增的【负载均衡-散列】【负载均衡-轮询】选项卡

在只需要重启 Clash 并选择好代理,就可以实现负载均衡效果。

  1. 重启之后,打开【代理】-【规则】,并点击选择【负载均衡-轮询模式】。然后右击窗口右下角的Clash小蓝猫图标,像右侧图片这样选择。选择【系统代理】、然后代理模式选择【规则】。

备注

关于系统代理TUN模式混合配置这些,新手可以这么理解:

  • 系统代理:就是浏览页面、看视频之类的走代理(魔法上网)。游戏、应用之类的不会走代理
  • TUN 模式:就是无论网页、游戏、应用还是什么全部按照规则走代理(魔法上网)。
  • 混合模式:就是上面两个混一起用。

0x03 测试

使用Python脚本来简单测试一下:

import requests
import re

proxies = {'http': "socks5://127.0.0.1:7890",
'https': "socks5://127.0.0.1:7890"
}

ips = []
# IP正则表达式,用于提前返回字符串中的IP
regex_str = r"\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b"

for i in range(100):
response = requests.get("https://ipinfo.io", proxies=proxies)
ip = re.findall(regex_str, response.text)[0]
if ip not in ips:
ips.append(ip)
print(ip)

image-20240410102358873