On 05/07/2014 04:40 PM, Mathew Levett wrote:
Hi Willem,
That sounds very similar to the issue I was experiencing however our
set-up was a little different.
1. HA Proxy VIP 1
2. Gateway Servers (two of)
3. HA Proxy Vip 2
4. RDP Servers
We also had session broker mode enabled as well. This worked fine for
any local connections but if you went though the gateway server you lost
persistence, it seems that the gateway server when converting the RDP
over SSL to pure RDP did not send the correct token so adding a couple
of lines to haproxy resolved this.
What your experiencing sounds like the RDP cookie issue we have seen in
the past and we have blogged about
http://blog.loadbalancer.org/microsoft-drops-support-for-mstshash-cookies/
In this case Micro$oft answer was to simply use session broker. What we
were seeing is that not every packet sent by the RDP client would
contain the mstshash cookie despite what the technet articles said.
Hope that helps.
On 6 May 2014 19:58, Willem <[email protected] <mailto:[email protected]>> wrote:
Willy Tarreau <w <at> 1wt.eu <http://1wt.eu>> writes:
>
> Hi Mathew,
>
> On Thu, Aug 15, 2013 at 10:21:51AM +0100, Mathew Levett wrote:
> > Hello Willy,
> >
> > I believe the client (mstsc.exe) connects to the Gateway server
via RPC
> > over HTTPS (443), the gateway then terminates this, and makes a new
normal
> > RDP connection to haproxy, and then onwards to the Real
servers, so in
this
> > case the Gateway is the client to haproxy.
> >
> > However what seams to be happening is that the loadbalancer then
balances
> > the connections as normal but does not seam to honor the MSTS
cookie at
> > all. its there in the packet capture and its encoded IP match the
correct
> > server but it seams haproxy ignores it.
>
> I suspect there is a very minor difference in the packets that make
haproxy
> not recognize it as the one supposed to contain the MSTS cookie.
It could
be
> both a horrible or a subtle bug. Could you please send me
privately a copy
> of the packet capture for the faulty connection ? I'd like to run the
protocol
> parser by hand on it to understand what's wrong there.
>
> Thanks!
> Willy
>
>
Hi,
I just stumpled upon this post while googling. We had exactly the same
issue a couple of months a go in a very familiar setting. From Wan
to LAn ,
if the customer hires multiple terminalservers, the usersessions
pass these
components:
0: Hardware firewall
1: Keepalived/LVS Loadbalancer (Layer 4, In Direct Return modus
running on
CentOS 6.5)
2: RemoteDesktop Gateway, redundant on 2x Windows 2012 (Not R2) virtual
machines
3: HaProxy version 1.5-dev19, single instance running on CentOS 6.5
4: 1 out of 3 terminal servers, running Windows 2012 (Not R2)
Just like Mathew stated; Persistance works great when connecting to
the VIP
op HaProxy, but fails when taking the remotedesktopgateway into the mix.
HaProxy just wont reconnect users to their existing session. The
Keepalived
loadbalancer mentioned in bullet 1 does not seem to contribute to the
problem.
To work around this issue, we decided to work around the lack of
persistance by installing the RemoteDesktop ConnectionBroker-role
onto the
RD Gateway servers. This works great, but it kind of defeats the use of
HaProxy. It also adds to the complexity of the build solution,
because we
now need SQL to enable high-availability on the Connectionbroker-role.
In turn SQL also would have to be build redundant.
I guess the question of the day would be: Where you guess able to figure
out why userpersitance didn't work for mathew? Is there any way i can
contribute to a solution? (By providing certain logging, doing TCP
dumps,
or anything else?)
Hi Mathew,
It seems to be the same problem we discussed off-list from 22 to 29
august 2013.
We solved it adding a line in config to force the gateway server to
re-attempt a clear connection.
"tcp-request content reject if { req_ssl_hello_type 1 }"
Regards,
Emeric