Table des matières

PfSense et HAProxy

Présentation

Dans le but de résoudre les problèmes de fonctionnement du failover et loadbalancing des LDAPS avec keepalived, nous avons choisis de passer à HAProxy. Par la même occasion nous avons choisis de le mettre sur PfSense qui est en réalité un FreeBSD pour sa légèreté et sa robustesse réseaux pour faire ces les fonctionnalités.

Attention, la gestion du PfSense doit se faire avec le navigateur Firefox, de nombreux problèmes de connexion sont présents avec Chrome et Safari

Installation

Configuration FailOver ( CARP )

PfSync : System > High Availability Sync

Firewall > Virtual IPs

Status > CARP

Exemple loadbalacing LDAP

Certificats : System > Certificate Manager

Load Balancing avec HAProxy

Sur le serveur maitre LB1 :

  1. Installer le package :
    • System > Package Manager > Available Packages
    • haproxy : install
  2. Settings
    • Enable HAProxy
    • Maximum connections: 10000
    • Internal stats port : 2200
    • Max SSL Diffie-Hellman size : 2048
    • Custom options : ssl-server-verify none
    • HAProxy Sync : Check
  3. Backend
    • ldap :
      • name : ldap_TEST
      • server list :
        • name: ldap1-389 , 192.168.1.1 , 389
        • name: ldap2-389 , 192.168.1.2 , 389
      • Connection timeout : 1000
      • Server timeout : 5000
      • Health check method : LDAP
      • Stick tables : stick on sourceIPv4
      • Stick-table expire : 30m
      • Stick-table size : 200k
    • ldaps :
      • name : ldap_SSL_TEST
      • server list :
        • name: ldap1-636 , 192.168.1.1 , 636
          • advanced : ssl
        • name: ldap2-636 , 192.168.1.2 , 636
          • advanced : ssl
      • Connection timeout : 1000
      • Server timeout : 5000
      • Health check method : LDAP
      • Stick tables : stick on sourceIPv4
      • Stick-table expire : 30m
      • Stick-table size : 200k
  4. Frontend
    • ldap :
      • name: ldap_front
      • description : ldap_front-389
      • external address :
        • Listen : Any IPv4
        • Port : 389
      • type : TCP
      • Default Backend : ldap_TEST
      • client timeout: 1000
    • ldaps :
      • name: ldap_ssl_front
      • description : ldap_ssl_front-636
      • external address :
        • Listen : Any IPv4
        • Port : 636
        • SSL Offloading : check
      • type : ssl/https
      • Default Backend : ldap_SSL_TEST
      • client timeout: 1000
      • Use “httpclose” option : Forceclose
      • Certificate : Star domain
      • Add ACL for certificate Subject Alternative Names : Uncheck
      • Advanced ssl options : no-sslv3 no-tlsv10 ciphers HIGH:!aNULL:!MD5
      • Without client cert : check
      • Allow invalid cert : check
      • Client verification CA certificates : Digicert-CA

Sur le serveur slave LB2

Backup Configuration