Puertas de enlace de correo de equilibrio de carga

Actualmente estoy tratando de encontrar una forma de Load Balance nuestras 4 Gateways de Correo (Running Mail Cleaner). Pude traer hasta HAProxy y utilizar el modo tcp para equilibrar la carga sin problema. El único problema real es que mi IP de origen es siempre el server HAProxy, por lo que algunos de mis controles de filter de correo son inútiles ahora, porque no puedo comprobar si el correo viene de un relé mal conocido.

¿Es su software FLOSS que podría ser utilizado para manejar este tipo de situación? Sé que HAProxy tiene esta capacidad si tengo las pasarelas de correo usarlo como la puerta de enlace pnetworkingeterminada, y comstackr algunos modules adicionales y configurar iptables. Simplemente no quiero empezar por ese path si simplemente estoy perdiendo una solución más fácil.

2 Solutions collect form web for “Puertas de enlace de correo de equilibrio de carga”

Hacemos esto simplemente usando Linux Virtual Server , que es parte del kernel linux estándar desde hace algunos años.

Permite un balance de carga basado en el peso y es bastante fácil de configurar, estamos haciendo algo como esto:

ipvsadm -A -t 192.168.0.3:25 -s wrr ipvsadm -a -t 192.168.0.3:25 -r 192.168.0.8:25 -g -w 100 ipvsadm -a -t 192.168.0.3:25 -r 192.168.0.9:25 -g -w 100 

(donde 192.168.0.3 es su "IP de service" o "IP virtual" y 192.168.0.8 y 192.168.0.9 son sus "serveres reales" )

Lo más importante saber – el modo de funcionamiento. Esta configuration utiliza "modo de puerta de enlace", en el que la fuente y el destino de los packages no se cambian. Pero esto tiene algunas implicaciones. El IP virtual tiene que ser configurado en todos los "serveres reales". Pero esto podría llevar a condiciones de carrera ARP que debe evitar por layout:

  • O bien, sus "serveres reales" están detrás del equilibrador de carga en una LAN separada
  • O se configuran sus serveres reales para no responder a ARP para la dirección virtual
  • O está enrutando el IP virtual directamente a su equilibrador de carga por lo que no es ARPed para

Tal vez -m – el modo de enmascaramiento es un poco más fácil de configurar.

Y – otra pista aquí: puede que desee utilizar keepalived que establece ipvsadm, monitorea su server de correo para reachabilty y tal vez proporciona networkingundancia para el loadbalancer sí mismo usando VRRP.

Estamos utilizando ipvs para manejar 15k CPS DNS balanceo de carga.

(*) al less en debian se llama de esta manera, pero la búsqueda de ipvs debe ser fácil

SMTP ha construido en el equilibrio de carga mediante DNS, de una manera round robin. Esto funciona bastante bien para la mayoría de los propósitos. Si eso no es suficiente para usted, usted tendrá que crear su propia configuration personalizada que no es una tarea fácil. Así que a less que realmente lo necesite me quedaría con lo que está disponible y ampliamente utilizado.

Supongo que sus serveres de correo electrónico (MTA) están en el mismo dominio (por ejemplo, example.org), en ese caso crear un logging MX para cada MTA independiente, con la misma prioridad. El uso de la misma prioridad asegura que cada server se intente de una manera round robin, de lo contrario siempre se intenta primero el que tiene la prioridad más alta (número más bajo) (en el caso de los MTA que no están rotos, pensando que puede ser un server de "fallback" de especificación inferior):

 example.org. IN MX 10 mx1.example.org. example.org. IN MX 10 mx2.example.org. example.org. IN MX 10 mx3.example.org. example.org. IN MX 10 mx4.example.org. 

Por supuesto, asegúrese de que cada mx * se puede resolver:

 example.org. IN A 192.168.2.1 mx1 IN A 192.168.2.2 mx2 IN A 192.168.2.3 mx3 IN A 192.168.2.4 mx4 IN A 192.168.2.5 

Si también desea utilizar DNS para "cargar balance" MTA para que sus usuarios envíen correo electrónico, puede configurar DNS de esta manera. Llame a su server de salida smtp.example.org y dígale a sus usuarios que envíen un correo electrónico a él. Puse "equilibrio de la carga" entre comillas porque esto no evitará conectar con un server que está abajo de la manera que los MTA tratan de él usando expedientes de MX. En este caso, el usuario tiene que volver a intentarlo una o más veces para golpear un server de trabajo.

 smtp IN A 192.168.2.2 smtp IN A 192.168.2.3 smtp IN A 192.168.2.4 smtp IN A 192.168.2.5 

Esta es una solución cruda, ya que dependiendo del sistema del usuario y la configuration que puede seguir tratando de golpear sólo una IP. Pero al less no es "abajo para todos" y siempre se puede dirigir a un server de trabajo. Además, si un server está permanentemente desactivado, puede eliminarlo del DNS y, una vez almacenado en caching, evitará que los usuarios lo golpeen. En este caso, el haproxi puede no ser una solución tan mala.

  • ¿Cómo configuro DNS inverso para un servidor SMTP
  • Validación DNS SMTP con varios serveres de correo detrás de varios IPs públicos
  • postfix smtp_get: EOF
  • Cómo encontrar el contacto del administrador del server SMTP
  • ¿Cómo administrar correctamente varios hosts virtuales con postfix?
  • ¿El server de SMTP virtual de IIS 6 admite líneas de asunto UTF / Unicode?
  • Recuento de tamaño de correo Postfix
  • ¿Es posible rechazar ciertos correos electrónicos en procmail?
  • Configuración de la configuration SMTP de IIS 7 mediante powershell
  • SMTP smarthost round-robin equilibrio
  • Relé abierto para IPs internos
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.