对于v2,自己很少用客户端,主要是用core,配置比较灵活,能折腾的也比较多。
v2两种负载均衡方法,都是在客户端配置。
1、vnext 数组内的配置项可以各不相同,但是它们的传输层配置(streamSettings)必须一致。
多个节点协议,路径等等都要一样,就稍微比较麻烦。。。
{
"inbounds": [
...
],
"outbound": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "address_1",
"port": 443,
"users": [
{
"id": "1ce383ea-13e9-4939-9b1d-20d67135969a",
"alterId": 0
}
]
},
{
"address": "address_2",
"port": 443,
"users": [
{
"id": "bc172445-4b5e-49b2-a712-12c5295fd26b",
"alterId": 0
}
]
}
// 如果还有更多服务器可继续添加
]
},
"streamSettings": {
...
}
},
...
]
}
这种方法自己一般是配合自选ip使用,只使用一个节点,streamSettings,protocol等等肯定都是一样的了。
自选ip经常会失效,运气好选一个ip可以用几个月,但是总有失效的时候,可以多选几个稳定的,做负载均衡。这种方法以轮询的方式均衡负载,也就是说当有流量需要通过代理时,首先走第一个 vnext 配置,有第二个连接就走第二个,接着第三个,以此类推。
2、负载均衡的配置位于 routing 字段,在 routing 当中,配置一个 balancers 数组,代表这负载均衡的规则,每一个对象包含负载均衡唯一的标签,均衡策略(目前的策略好像只有随机选择)以及可选择的出站代理。然后在路由规则中根据需要配置特定的流量进行负载均衡。
{
"inbounds": [
...
],
"outbounds": [
{
"tag": "us1",
...
},
{
"tag": "jp1",
...
},
{
"tag": "jp2",
...
},
{
"tag": "hk1",
...
},
{
"tag": "direct",
...
}
],
"routing": {
"domainStrategy": "IPOnDemand",
"balancers": [
{
"tag": "b1",
"selector": [
"jp1",
"jp2"
]
},
{
"tag": "b2",
"selector": [
"us1",
"hk1"
]
}
],
"rules": [
{
"type": "field",
"outboundTag": "direct",
"ip": [
"geoip:private",
"geoip:cn"
]
},
{
"type": "field",
"outboundTag": "direct",
"domain": [
"geosite:cn"
]
},
{
"type": "field",
"network": "tcp,udp",
"balancerTag": "b1"
}
]
}
}
从配置中可以看出,V2Ray 的负载均衡同样有着高度灵活的优点,可以针对指定的流量进行负载均衡,也可以按需配置多个负载均衡,不同底层传输配置的出站协议也可以负载均衡,可以说 V2Ray 的路由有多灵活那么它的负载均衡就有多灵活。
自己1号3鸡的免费ipv6德鸡,就是用这种方法负载均衡的,就算底层传输配置的出站协议不一样,也可以均衡。ip基本上同个地区的,看油管之类的也不会跳地区。当作备用也不算浪费了。
当然也可以两种方法结合起来,轮询+负载均衡,v2的配置还是很灵活的。
最后于 22/09.25 10:58
被zsxwz编辑
,原因: