我家的移动宽带连接我的外国服务器速度慢,而且不是很稳定,虽然后半夜能好很多,但是白天的时候线路非常糟糕。而我在国内的服务器连接我的国外服务器就很稳定,为此,我需要使用国内的服务器在中间做一次中转,这样就能稳定连接我的国外服务器。 中转我是用haproxy进行端口转发实现的,操作流程简单,这里记录一下,以便于以后查阅。

演示环境

[root@AliyunBeijing ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

配置步骤

  1. 安装haproxy
    yum -y install haproxy
    
  2. 编辑配置文件 首先清空原配置文件,然后进行编辑
    > /etc/haproxy/haproxy.cfg
    vi /etc/haproxy/haproxy.cfg
    

    在配置文件haproxy.cfg中进行如下配置 比如我想连接目标服务器A(193.21.153.250)的8091端口,使用中转服务器B的8090端口,配置结果如下

    global
     daemon
    defaults
     log global
     mode tcp 
     option dontlognull
     timeout connect 1000
     timeout client 15000
     timeout server 15000
    frontend ss-come
     bind *:8090
     default_backend ss-go
    backend ss-go
     server server1 193.21.153.250:8091
    

    编辑完成,保存并退出编辑

  3. 运行haproxy 进行如上配置后,执行下面指令就可以在后台运行haproxy
    haproxy -f /etc/haproxy/haproxy.cfg
    
  4. 客户端连接 在进行连接前请确保中转服务器的防火墙和安全组策略中已放通所用的端口 在客户端原本填写目标主机的ip和端口的地方直接更改为中转服务器的ip和端口即可,其他参数不用动
  5. 停止中转服务 在中转服务器中查找haproxy进程号
    ps -ef | grep haproxy
    

    得到结果如下 haproxy进程 则得到haproxy进程为16976,关闭16976进程即可

    kill 16976