Re: Haproxy como transparente en Debian Wheezy
El Tue, 26 May 2015 16:15:13 +0200, Maykel Franco escribió:
> El día 26 de mayo de 2015, 15:25, Camaleón <noelamac@gmail.com>
> escribió:
(...)
>>> He probado con esas opciones y sigue sin funcionar. Se queda el telnet
>>> en el haproxy pero no pasa el tráfico hacia los mysql. Todo es cuando
>>> añado la opción de "source 0.0.0.0 usesrc clientip". Si no la añado,
>>> el telnet a la ip de haproxy y al puerto 3306 llega hacia mysql pero
>>> con la ip de haproxy, no la del cliente que realiza la conexión.
>>
>> Que no pase tráfico parece indicar un problema con la red o el enrutado
>> de paquetes cuando añades esa opción... ¿cómo has configurado las
>> reglas de iptables para que esto funcione?
>>
> Las reglas iptables y de sysctl que decian que tenias que poner. Son
> estas:
>
> 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 111
> iptables -t mangle -A DIVERT -j ACCEPT
> ip rule add fwmark 111 lookup 100
> ip route add local 0.0.0.0/0 dev lo table 100
>
>
> net.ipv4.forwarding = 1
> net.ipv4.conf.default.rp_filter = 2
> net.ipv4.conf.all.rp_filter = 2
> net.ipv4.conf.eth0.rp_filter = 0
Y toda esa configuración se carga al iniciar el sistema ¿no? Conviene que
lo verifiques, además de comprobar también la salida de:
lsmod | grep -i tproxy
hdproxy -vv | grep -i tproxy
netstat -ctnup | grep ":3306"
(ejecuta este comando con la opción "source 0.0.0.0 usesrc clientip"
activada y también cuando la tienes desactivada)
Porque todos los documentos que he leído sobre esta configuración apuntan
a que para que funcione, las reglas de iptables tienen que permitir la
captura del tráfico de retorno y el equipo con haproxy debe ser la
pasarela predeterminada del servidor donde tengas MySQL, es decir, que
tienes que asegurarte de que todo el tráfico entre y salga por haproxy.
Saludos,
--
Camaleón
Reply to: