使用HAProxy进行端口转发

再使用Nginx,iptable,Socat一系列转发程序后,我决定使用HAProxy。原因很简单,纯粹,效率高,支持udp,简单。

介绍一下HAProxy:

简单的来说 HAProxy 就是一个负载均衡,TCP 和 HTTP 的代理程序,开源,高可用,C 写成。他原本的作用是将前端的大量流量分发到后端的服务器中,用于负载特别大的 WEB 网站的,这里被大材小用了。

使用 HAProxy 中转 SS 流量至少需要两台 VPS,国内一台,国外一台,SS 客户端直接连国内的 VPS,而通过国内的 VPS 转发流量到国外的 VPS 上。

 

安装

Debian/Ubuntu

sudo apt install -y haproxy

Centos

sudo yum install -y haproxy

 

配置

nano /etc/haproxy/haproxy.cfg

内容:

global 
ulimit-n 51200
defaults
log global
mode tcp
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000

frontend v2-in
bind *:20080
default_backend v2-out

backend v2-out
balance roundrobin
server server1 test1.com:80 maxconn 20480
server server2 test2.com:80 maxconn 20480
server server3 test3.com:80 maxconn 20480
server server4 test4.com:52959 maxconn 20480
server server5 test5.com:52959 maxconn 20480

主要的配置就是 frontend 和 backend,也很好理解,将入站的 80/52959 端口中的流量转发到 VPS 的 20080 端口。

如果多端口转发,复制这个配置多粘贴几个,按照需要的修改即可。

然后重启 HAProxy 即可。

sudo /etc/init.d/haproxy restart

 

启动之后,直接连HAProxy配置的这台机器的IP即可,需要注意的是配置用的是原来的配置的配置,改变的只有IP和端口。

原文链接:,转发请注明来源!

发表评论