Estoy usando HAProxy para equilibrar la carga de las conexiones RDP entre los clientes y el servidor RD Gateway.
Hay dos servidores RD Gateway (192.168.0.10/192.168.0.5) detrás de HAProxy, el método de equilibrio es ROUND_ROBIN
y mantiene la sesión por SOURCE_IP
.
Aquí está mi configuración:
global
daemon
user nobody
group haproxy
log /dev/log local0 debug alert
log /dev/log local1 notice alert
maxconn 2500
stats socket /var/lib/neutron/lbaas/v2/7ee12684-c45d-4af4-8ae7-381743beb78e/haproxy_stats.sock mode 0666 level user
defaults
log global
retries 3
option redispatch
timeout connect 5000
timeout client 50000
timeout server 50000
frontend 377c24a1-1735-4947-a854-0d1fb8d0cd97
option tcplog
maxconn 2500
bind 192.168.0.7:443
mode tcp
default_backend 51d6cead-368e-45a3-bcda-b1fb8cd5f2dd
backend 51d6cead-368e-45a3-bcda-b1fb8cd5f2dd
mode tcp
balance roundrobin
stick-table type ip size 10k
stick on src
timeout check 5s
server 3ccbdfa9-fa69-4388-ad1b-046731825659 192.168.0.10:443 weight 1 check inter 5s fall 3
server 7dde5bd2-ad90-4668-9642-466446646948 192.168.0.5:443 weight 1 check inter 5s fall 3
Funciona, pero descubrí que cuando la sesión RDP del backend se desconecta de RD Gateway (puedo ver los registros desconectados del Visor de eventos), la conexión del cliente no se detiene, todavía puedoverEn la pantalla de la VM (pero no puedo hacer nada), significa que la sesión aún sigue conectada, ¿por qué?
Lo que espero es que la interfaz obtenga información desconectada del backend e intente restablecer la conexión nuevamente (porque la sesión ya se desconectó del servidor RD Gateway).
¿Hay algún error de configuración? No tengo idea sobre este problema, se agradece cualquier ayuda.
Respuesta1
Es extraño, el cliente debería recibir una ventana emergente solicitando volver a conectarse desde el agente de conexión. Tus tiempos de espera son muy pequeños,este blog recomiendatcp keepalive también:
clitimeout 1h
srvtimeout 1h
option tcpka
Recuerdo vagamente que alguien dijo que RDS tenía una opción para habilitar/deshabilitar la opción de reconexión.
Para obtener más información general y revisar las otras opciones de implementación que tiene, consulte estoGuía de implementación de RDS.