Назад | Перейти на главную страницу

Проблема с настройкой HAProxy 2.0.7 с tproxy на Centos-7

Я пытаюсь настроить HAProxy с прозрачным прокси на машине Centos-7. Env: (2-http сервер == >> HAProxy server == >> ClientVM)

Я настроил http-серверы с обычным haproxy, и он отлично работает.

Когда я настраиваю файл haproxy.cfg, как показано ниже:

global
   log /dev/log local0
   log /dev/log local1 notice
   chroot /var/lib/haproxy
   stats timeout 30s
   #user haproxy
   #group haproxy
   user root
   group wheel
   daemon

defaults
   log global
   mode tcp
   option tcplog
   option dontlognull
   timeout connect 5000
   timeout client 50000
   timeout server 50000

frontend App_in
       **bind haproxy-ip:80 transparent**
       mode tcp
       default_backend App_out
    
backend App_out
       mode tcp
       log global
       **source 0.0.0.0 usesrc clientip**
       balance roundrobin
       server http-1 http-1-ip:80
       server http-2 http-2-ip:80

Я могу запустить сервер haproxy, и я получаю завиток ответа с терминала сервера haproxy, но когда я заворачиваюсь из ClientVM, я получаю ответ как curl: (52) Пустой ответ от сервера :

Я также выполнил сценарий iptables-rule.sh для настройки iptables на сервере HAProxy, как показано ниже:

#!/bin/bash
iptables -F
iptables -F -t nat
iptables -t mangle -N DIVERT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100