¿Por qué los balanceadores de carga de software enmascaran la IP del cliente?

¿Por qué los balanceadores de carga de software enmascaran la IP del cliente?

Actualmente estoy usando un equilibrador de carga de hardware Cisco CSS. Desde el punto de vista del servidor web, la dirección IP del usuario final se imprime en todo el tráfico como si el equilibrador de carga ni siquiera estuviera presente.

Ahora estoy buscando reemplazos de software como HAProxy, Pound o AWS ELB. Todos tienen una cosa en común: el servidor web recibe la IP del balanceador de carga en lugar de la del usuario final. Su sistema debe ser consciente de esto y acceder a un encabezado X-Forwarded-For si desea la IP del usuario final o, en el caso de SSL, descifrar y volver a cifrar el tráfico.

Entonces mi pregunta es: ¿Por qué es este el caso? ¿Por qué los balanceadores de carga de software no pueden comportarse de la misma manera que los balanceadores de carga de hardware y simplemente transmitir los paquetes TCP como si fueran un simple dispositivo de red?

Respuesta1

Debido a que estos softwares funcionan en la capa 7 (Aplicación) delModelo OSI, existen soluciones de software que funcionan en la capa 3/4 comoLVS.

Respecto a tu problema, la solución es bastante sencilla si estás usando Apache como servidor web, solo tienes que instalarmod_rpaf. Este módulo permite registrar directamente la IP proporcionada por el encabezado X-Forwarded-For.

Respuesta2

Ummm, la respuesta corta es "ellos pueden", así que no estoy seguro de que se pueda responder la pregunta.

Me atrevería a suponer, sin embargo, que la diferencia entre las soluciones de hardware y software es que la caja de hardware está diseñada para funcionar como un enrutador, es decir, verá todo el tráfico desde el cliente al servidor final y puede masajee en ambas direcciones en consecuencia, mientras que las soluciones de software están en cajas que no están enrutadas y, por lo tanto, reescriben la dirección del cliente como una forma barata y alegre de forzar que el tráfico de retorno regrese a través de ellas para masajearse.

Respuesta3

Los balanceadores de carga de software funcionan en una capa de pila TCP superior. Debes utilizarlo iptablespara lograr el mismo efecto. Se puede encontrar un ejemploaquí.

Respuesta4

Pueden, no ha sido admitido de forma predeterminada en el kernel. Por lo general, se lo conoce (creo) como suplantación de dirección de origen. Si busca en Google "fuente de haproxy de suplantación de identidad", obtendrá algunos resultados.

Más destacado.

http://blog.loadbalancer.org/configure-haproxy-with-tproxy-kernel-for-full-transparent-proxy/

información relacionada