LEDE/Openwrt上部署Haproxy对Shadowsocks进行负载均衡

in Shares with 1 comment

普通路由器性能毕竟和电脑无法相比,在路由部署SS之后表现更是明显,Haproxy的大名想必都有所耳闻,在KCPTUN没有出现之前很多人都使用Haproxy对SS进行中转,但这篇文章的目的不在于此,而是利用Haproxy对SS进行负载均衡提升SS的性能表现

下载安装

需要在LEDE官网上下载对应路由器型号的packages,下面链接对应的是WNDR4300 mips_24kc架构的包
由于只是用来对SS进行负载均衡,所以SSL没有必要,我们下载nossl版本的包就可以了,后面依赖安装相对来说也可以省下一部分时间
https://downloads.lede-project.org/releases/packages-17.01/mips_24kc/packages/haproxy-nossl_1.7.2-01_mips_24kc.ipk
注意安装包部分依赖如以下:
libltdl zlib libncursesw libreadline
所以安装之前最好执行opkg update,如果因为ISP无法正常访问lede-project.org那么需要提前下好对应的包并手动安装依赖

配置Haproxy

haproxy的配置非常简单,编辑/etc/haproxy.cfg

global
    log         127.0.0.1 local2
    chroot      /root
    pidfile     /tmp/haproxy.pid
    maxconn     4000
    user        root
    daemon
defaults
    mode                    tcp    #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     #上游TCP服务器连接等待时间 
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000
listen test1
    bind 0.0.0.0:8388       #haproxy监听端口
    mode tcp
    server ser0 45.xx.xx.xx:1231
    server ser1 45.xx.xx.xx:1232
    server ser2 45.xx.xx.xx:1233
    server ser3 45.xx.xx.xx:1234

配置SS

SS配置只需要将Server Address改成127.0.0.1,Server Port改成Haproxy的监听端口(8388)即可
然后重启Haproxy以及SS服务,享受之
如果对于SS开多端口实例,将会在下一篇文章中详解

Responses
  1. icymind

    server ser0 45.xx.xx.xx:1231
    server ser1 45.xx.xx.xx:1232
    server ser2 45.xx.xx.xx:1233
    server ser3 45.xx.xx.xx:1234
    这几个是ss-server的地址和端口吗?

    Reply