|
El 16/05/17 a las 23:17, Aleksandar
Lazic escribió:
Hi Antonio Trujillo Carmona.
Antonio Trujillo Carmona have written on Mon, 15 May 2017 08:40:16
+0200:
El 12/05/17 a las 11:55, Aleksandar Lazic escribió:
Hi Antonio Trujillo Carmona.
Antonio Trujillo Carmona have written on Fri, 12 May 2017 10:23:59
+0200:
El 11/05/17 a las 15:06, Aleksandar Lazic escribió:
.../
How about to activate the 'option tcp-check' as mentioned in the
Warning?
In the config below is it's commented, any reason why?
It's also active in the doc which you maybe know.
https://www.haproxy.com/doc/aloha/7.0/deployment_guides/microsoft_remote_desktop_services.html
Does this changes anything?
ok cleaing up a liter I try:
frontend RDP
mode tcp
bind *:3389
timeout client 1h
tcp-request inspect-delay 5s
tcp-request content accept if RDP_COOKIE
default_backend bk_rdp
#############################################################
backend bk_rdp
mode tcp
balance leastconn
#balance rdp_coockie
timeout server 1h
timeout connect 4s
log global
option tcplog
stick-table type string len 32 size 10k expire 1h peers
pares stick on rdp_cookie(msthash)
# persist rdp-cookie
option tcp-check
# option ssl-hello-chk
# option tcpka
tcp-check connect port 3389 ssl
# server gr43sterminal01 10.104.22.142:3389 weight 1 check
verify none inter 2000 rise 2 fall 3
# server gr43sterminal02 10.104.23.141:3389 weight 1 check
verify none inter 2000 rise 2 fall 3
#
default-server inter 3s rise 2 fall 3
server gr43sterminal01 10.104.22.142:3389 weight 1 check
server gr43sterminal02 10.104.23.141:3389 weight 1 check
And I got:
[ALERT] 131/100222 (8564) : Proxy 'bk_rdp', server
'gr43sterminal01' [/etc/haproxy/haproxy.cfg:189] verify is enabled
by default but no CA file specified. If you're running on a LAN
where you're certain to trust the server's certificate, please set
an explicit 'verify none' statement on the 'server' line, or use
'ssl-server-verify none' in the global section to disable
server-side verifications by default. [ALERT] 131/100222 (8564) :
Proxy 'bk_rdp', server
'gr43sterminal02' [/etc/haproxy/haproxy.cfg:190] verify is enabled
by default but no CA file specified. If you're running on a LAN
where you're certain to trust the server's certificate, please set
an explicit 'verify none' statement on the 'server' line, or use
'ssl-server-verify none' in the global section to disable
server-side verifications by default. [ALERT] 131/100222 (8564) :
Fatal errors found in configuration.
So I try adding verify none in server line
and haproxy see both server up (but one is down).
I try withou ssl:
tcp-check connect port 3389
server gr43sterminal01 10.104.22.142:3389 weight 1 check
server gr43sterminal02 10.104.23.141:3389 weight 1 check
but the result is the same haproxy see both server up (but one is
down)
only if I leve only option tcp-check (or none) it seem work
#################
# persist rdp-cookie
option tcp-check
# option ssl-hello-chk
# option tcpka
# tcp-check connect port 3389 ssl
# tcp-check connect port 3389
# server gr43sterminal01 10.104.22.142:3389 weight 1 check
verify none inter 2000 rise 2 fall 3
# server gr43sterminal02 10.104.23.141:3389 weight 1 check
verify none inter 2000 rise 2 fall 3
#
default-server inter 3s rise 2 fall 3
server gr43sterminal01 10.104.22.142:3389 weight 1 check
server gr43sterminal02 10.104.23.141:3389 weight 1 check
##################
output:
[WARNING] 131/102105 (8773) : Server bk_rdp/gr43sterminal01 is
DOWN, reason: Layer4 timeout, info: " at initial connection step of
tcp-check", check duration: 3001ms. 1 active and 0 backup servers
left. 0 sessions active, 0 requeued, 0 remaining in queue.
So finally it works.
Regards
Aleks
But in that mode it check server available, not service, if RDP
service is down haproxy don't detect it.
Maybe you will need some tcp-check squence to check the service.
http://cbonte.github.io/haproxy-dconv/1.5/configuration.html#4.2-tcp-check%20send
http://cbonte.github.io/haproxy-dconv/1.5/configuration.html#4.2-tcp-check%20send-binary
I have found a perl script which checks the rdp maybe this will help
you to find the right sequence.
https://github.com/portcullislabs/rdp-sec-check/blob/master/rdp-sec-check.pl
Regards
Aleks
Finally it work.
The configuration last in:
#############################################################
frontend RDP
mode tcp
bind *:3389
timeout client 1h
tcp-request inspect-delay 25s
tcp-request content accept if RDP_COOKIE
default_backend bk_rdp
#############################################################
backend bk_rdp
mode tcp
balance leastconn
timeout server 1h
timeout connect 25s
log global
option tcplog
stick-table type string len 32 size 10k expire 1h peers pares
stick on rdp_cookie(msthash)
option tcp-check
default-server inter 3s rise 2 fall 3
server gr43sterminal01 10.107.20.38:3389 weight 1 check port
3389 inter 2000 rise 2 fall 3
server gr43sterminal02 10.107.20.39:3389 weight 1 check port
3389 inter 2000 rise 2 fall 3
The fact is that this configuration was tested priorly and it don't
work, I must re-type it, and it work, maybe a typon with a unsee
character was the matter.
Thank for the help.
--
Antonio
Trujillo Carmona
Técnico
de redes y sistemas.
Subdirección
de Tecnologías de la Información y Comunicaciones
Servicio
Andaluz de Salud. Consejería de Salud de la Junta de
Andalucía
[email protected]
Tel.
+34 670947670 747670)
|