Haproxy全透明代理

时间:2022-03-13 03:17:32

1. 系统环境搭建

  • 操作系统Centos7 内核版本3.10
  • Centos7已自带TPROXY模块,不需要安装TPROXY

    2. Haproxy下载,编译,安装,配置

  • 下载地址 http://www.haproxy.org/download/ (所有ha版本)

        1.4.24 下载地址  http://www.haproxy.org/download/1.4/src/haproxy-1.4.24.tar.gz
  • 编译安装

    tar -xvf haproxy-1.4.24.tar.gz
    cd haproxy-1.4.24
    yum install gcc gcc-c++ autoconf automake -y #安装gcc编译器
    make TARGET=linux2628 arch=x86_64 USE_LINUX_TPROXY=1 #重点USE_LINUX_TPROXY=1用于编译支持TPTOXY
    make install
    mkdir /etc/haproxy
    cp examples/haproxy.cfg /etc/haproxy
    cp examples/haproxy.init /etc/init.d/haproxy
    chmod +x /etc/init.d/haproxy
    cp haproxy /usr/sbin/
  • 配置

    # this config needs haproxy-1.1.28 or haproxy-1.2.1

    global
    log 127.0.0.1 local0
    log 127.0.0.1 local1 notice
    #log loghost local0 info
    maxconn 4096
    # chroot /usr/share/haproxy
    # uid 99
    # gid 99
    daemon
    #debug
    #quiet

    defaults
    log global
    mode http
    option httplog
    option dontlognull
    retries 3
    maxconn 2000
    contimeout 5000
    clitimeout 50000
    srvtimeout 50000

    listen test
    bind 0.0.0.0:12345
    balance roundrobin
    mode tcp
    option tcplog
    source 0.0.0.0 usesrc clientip #重点,TPROXY需要加上这行。
    server test 10.17.12.246:12346 weight 1 check inter 2000 rise 2 fall 5

3. 网络拓扑

 客户端:10.17.12.212---------haproxy节点:10.17.12.192-------------后端服务器节点:10.17.12.246

客户端与后端服务器均为window7 ,haproxy为centos7

4. Haproxy代理服务器配置