Introducción
Las pequeñas y medianas empresas tienen muchos problemas con la arquitectura de red: hardware de servidor antiguo, falta de TI, empleados, ¡mecanismo completo abierto a los atacantes! Existen soluciones locales pero vitales que pueden ayudar en esta situación crucial. Proxy: el servidor es un detalle de un mecanismo gigante de protección. Tiene un conjunto de oportunidades explícitas: redistribuciones de carga de datos en un servidor, IPS e IDS y creación de anonimato simple, al reemplazar la dirección IP en un encabezado de datos. Una de estas soluciones se presenta como HAProxy.
El HAProxy Representa ese tipo de utilidad para diferentes sistemas operativos. El código fuente abierto y gratuito hace que esta oferta de mercado sea bastante rentable y segura. ¿Necesita reescribir el programa para su situación? Eso no es un problema. Tiene muchas posibilidades y opciones diferentes que admiten varios algoritmos para equilibrar la carga, monitorear, rastrear el tráfico entrante y la función principal de proxy de conexiones TCP y UDP.
¡Configurar esta útil característica es bastante simple!
Configuración de preparación y acción
Para un correcto funcionamiento, es necesario comprobar los requisitos del sistema:
- Sistema operativo: HAProxy puede ejecutarse en varios sistemas operativos, incluidos Linux, FreeBSD Windows;
- Memoria: El requisito de memoria depende del número de conexiones simultáneas y del tamaño del archivo de configuración. Como regla general, debe asignar al menos 2 MB por cada 1,000 conexiones;
- CPU: En general, un multinúcleo CPU se recomienda para un mejor rendimiento;
- Espacio del disco: El requisito de espacio en disco es mínimo. Sin embargo, es posible que deba asignar espacio para registros u otras configuraciones personalizadas.
Si los parámetros de su sistema están bien, podemos iniciar la instalación con los siguientes comandos:
sudo yum update -yActualice el índice de paquetes con acción suficiente, que ayuda a instalar la versión actual del software.
sudo yum install epel-releaseEse comando configuró paquetes extendidos para su máquina. No están en el repositorio.
sudo yum install haproxySalida en un CLI debe verse como en esta imagen:

¡Eso es! Queda muy poco: la configuración de tu software.
hacer una configuración
El proceso de escritura de la configuración es bastante creativo. Debe calcular y pensar en el objetivo de usar esta utilidad. Considero dos situaciones de explotación HAProxy, que podrían ser un gran número.
El primer y más popular uso de HAProxy para enviar sus datos a través del servidor. Busque el archivo de configuración:
nano /etc/haproxy/haproxy.cfgLuego, ábrelo con cualquier editor de texto: nano, vim, etc. Puedes ver tres bloques principales de configuración: global, valores predeterminados y un par de secciones, que necesitan generar la configuración lógica. En mi ejemplo, la configuración debería hacer de proxy de conexión http a través del bloque "listen". Al principio, necesitas configurar el bloque "valores predeterminados". El ejemplo que se muestra en esta imagen:

Describamos estos parámetros:
- registro global: Habilita el registro global de todo el tráfico procesado por HAProxy;
- modo http: Especifica que HAProxy está funcionando en HTTP modo, lo que significa que podrá inspeccionar y manipular HTTP tráfico;
- Opción httplog: Permite detallado HTTP registro, que incluye encabezados de solicitud y respuesta, junto con otra información como la dirección IP del cliente y la versión de SSL;
- opción dontlognull: evita que HAProxy registre conexiones que no reciben ningún dato.
Si usa una conexión UDP, reemplace "TCP". Veamos el siguiente bloque “escuchar”:

En la primera línea le damos un nombre a nuestra regla “http1” y luego el parámetro “bind” determina la IP y el puerto de origen. Elegí el símbolo “*”, debido a que no tengo una máquina definida para la entrada. Escribí el modo “http” e indiqué el servidor de destino. La primera palabra significa parámetro, la segunda es el nombre del mismo, luego indica IP:puerto y el parámetro opcional “check”, que controla la disponibilidad de la conexión.
En segundo lugar, use HAProxy para la carga: equilibre sus datos a través de un servidor proxy. Hay muchos métodos y algoritmos para redistribuir la carga en un servidor:
- Todos contra todos: los métodos permitieron la redistribución del tráfico entrante por igual en todos los servidores, utilizando un ciclo matemático, es una forma práctica y efectiva de salvar la disponibilidad de sus servidores;
- Conexiones mínimas: los métodos enrutan el tráfico entrante al servidor de menor carga, lo que puede ser útil mediante el uso de una conexión de protocolo keep-alive;
- Hash de IP de origen: métodos que significa calcular el valor hash de todos los clientes y compararlo con las siguientes conexiones, enrutando el tráfico en el mismo servidor.
Ejemplo de configuración que se muestra en la siguiente imagen:

Los parámetros se han mantenido iguales, pero las secciones se han modificado un poco. Añado los bloques “frontend” y “backend”. El primero significa la configuración del tráfico de origen y el segundo la configuración de la conexión de destino para el servidor. En “frontend” indicamos la IP:puerto y el servidor de destino del bloque. En “backend”, solo la dirección del servidor.
Luego, debe compilar su configuración y volver a cargar el servicio con los siguientes comandos:
haproxy -c -f /etc/haproxy/haproxy.cfgEl resultado de este comando será un mensaje sobre el estado de su archivo de configuración y si hubo un error en sus parámetros, mostrará “ALERTA” y el problema crítico “ADVERTENCIA”.
sudo service haproxy restart¡Recarga el servicio y prueba tu conexión!
Conclusión
HAProxy es una solución de software robusta y versátil que se utiliza comúnmente para equilibrar la carga del servidor, enmascarar direcciones IP para mejorar el anonimato básico y redirigir el tráfico de forma flexible entre diversos escenarios de red.