HAProxy Lograr que llegue la IP original a Destino
-
Buenos días.
Mi escenario es el siguiente: Tengo 2 Proxy dedicado con Pfsense (squid+squidguard) se sincronizan sin problemas mediante xmlrpc. (no transparente)
En un 3er pfsense (también dedicado) , instale única y exclusivamente Haproxy para que mediante una IP Virtual configurada, recibiera las conexiones por el puerto 3128 y se las enviara a los 2 proxy configurados.
Lo anterior funciona sin problemas. el detalle lo tengo es que en el access.log de ambos proxy, llega es la IP de conexion de Balanceador y no de la estación de trabajo. Estoy buscando si existe alguna opcion que debe activar o tildar para que sea la IP directa del cliente la que llegue a los proxy, de esta forma poder aplicar las ACL que van por IP y no por usuario/grupo.
Gracias por la atención.
-
Bueno, probando varias opciones en el menú haproxy del pfsense, me encontré con la opción: Use "forwardfor" option
Esto activa opciones adicionales en la cabecera del paquete. como por ejemplo: X-Client
Pero lo raro, es que el haproxy del pfsense, no me deja personalizar la opción para agregar el atributo., y si lo hago directo en el archivo .conf al reiniciar el haproxy me vuela los cambios.
Después de darle varias vueltas y no conseguir la solución con pfsense, para descartar instale Haproxy en Linux-Debian y allí si pude agregar la opción:
option forwardfor header X-Client
Ahora si a los proxy llega la IP del cliente que navega y no la del balanceador.
Me deja dudas este caso, ya que siempre tenia en mente usar HAproxy con pfsense y darle mas una cara como "appliance".
Se que HAProxy maneja todas estas opciones, quizás lo que este faltando es que pfsense a nivel web no maneja al 100% los parámetros de configuración.
Por lo que veo, el HAProxy del Pfsense, viene especialmente para balancear servidores web, ya lo probé así y funciono sin problemas.
Pero en mi caso, voy es a balancear servidores Proxy con squid, algunas cosas cambian a diferencia de balanceo http/s