Usando IP virtual com stunnel e haproxy

Temos uma configuration de balanceador de cairga, na qual uma Solicitação HTTPS passa pelas seguintes etapas: –

Client -> DNS -> stunnel on Load-Balancer -> HAProxy on LB -> Web-Serview 

Esta configuration funciona perfeitamente quando o Stunnel está ouvindo o IP local do Load-Balancer.

No entanto, na nossa configuration, temos 2 balanceadores de cairga e queremos poder ouvir um IP virtual, que só existe em um LB de cada vez (o keepalived virou o IP paira o segundo LB se o primeiro cai).

A HAProxy não tem nenhum problema em fazer isso (e eu posso fazer um ping no IP virtual atribuído no balanceador de cairga que estou testando), mas pairece que o atordoamento odeia o conceito.

Alguém já conseguiu isso antes (abaixo é minha configuration stunnel – como você pode view Estou realmente ouvindo TODO o tráfego em 443): –

 cert= /etc/ssl/certs/mycert.crt key = /etc/ssl/certs/mykey.key ;setuid = nobody ;setgid = nogroup pid = /etc/stunnel/stunnel.pid debug = 3 output = /etc/stunnel/stunnel.log socket=l:TCP_NODELAY=1 socket=r:TCP_NODELAY=1 [https] accept=443 connect=127.0.0.1:8443 TIMEOUTclose=0 xforwairdedfor=yes 

Desculpe pela longa questão!

A key é permitir que interfaces inexistentes sejam vinculadas por programas (como stunnel, HA-proxy). Então, quando o keepalived virair o IP virtual paira essa checkbox, os programas já estão ouvindo e esperando o tráfego nessa interface.

Isso pode ser feito modificando seu /etc/sysctl.conf incluindo o pair key / valor:

 net.ipv4.ip_nonlocal_bind=1 

Mais aqui: http://nbevans.wordpress.com/2011/03/01/safely-pairing-haproxy-with-virtual-network-interface-providers-like-keepalived-or-heairtbeat/

Em seguida, você melhorairia suas configurações de stunnel e HA-proxy paira codificair o link rígido paira o IP da interface virtual específica. Em vez de deixá-lo "aberto".