在openwrt中用haproxy对ss和v2ray进行负载均衡

前提条件是ss保证加密方式和密码保持一致,v2保证id和alertid保持一致。

openwrt的软件库中可以安装最新版的haproxy。

安装完成后修改其配置文件 haproxy.cfg,以下可直接拷贝使用。

global
    log         127.0.0.1 local2
    chroot      /root
    pidfile     /tmp/haproxy.pid
    user        root
    daemon

defaults
    mode                    tcp   
    log                     global
    option                  httplog
    option                  dontlognull
    option  http-server-close
    option  forwardfor      except 127.0.0.0/8
    option                  redispatch
    retries                 2
    timeout http-request    10s
    timeout queue           1m
    timeout connect         2s     
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 4096
    balance roundrobin 

listen status
    bind  0.0.0.0:1111
    mode  http
    stats refresh 30s
    stats uri /   
    stats auth admin:admin
    # stats admin if TRUE

listen shadowsocks
    bind 0.0.0.0:5088
    mode tcp
    server  name    ip:port  check  rise  2  fall  3  weight  100
    server  name    ip:port  check  rise  2  fall  3  weight  50
    server  name    ip:port   check  rise  2  fall  3  weight  100

listen v2ray
    bind 0.0.0.0:6088
    mode tcp
    server  name    ip:port  check  rise  2  fall  3  weight  100
    server  name    ip:port  check  rise  2  fall  3  weight  50
    server  name    ip:port   check  rise  2  fall  3  weight  100

如配置文件中,本地5088端口对应ss,6088对应v2ray。

代理的端口不能包含这两个端口,数据会陷入死循环。

通过1111端口我们可以实时查看负载均衡的情况。

  1. Lepus L说道:

    1, haproxy不能按负载能力分配,只能固定。
    2、正常情况需要放client前,而不是夹在client和server中间。

  2. whois说道:

    1.可通過wight賦予權重
    2.本身是路由器翻墻 所以不存在client

发表评论