Hi Experts,
Looking for some help on RDS load balancing. Background and Issue is explained below;
Background: I am setting up a RDS farm using Windows Server 2012 R2 servers.
Using 1 broker and 2 session host servers.
As far as I have explored Windows Server 2012 , Farm does not seems to exist any more and functionality is replaced by "Collection"
I have created a collection on RDS broker and added 2 session host servers.
Client connections to session host servers are load balanced properly based on the default weight defined in collection setting-->load balancing.
Even if i connect to Session host server A or Session Host server B, Its the broker deciding where the session should go. Looks good.
Broker's default load balancing characteristics: When broker is doing the load balancing, It randomly chooses the session host server and returns back the least loaded session host server back to client. For example , In a normal RDS connection , when we connect to a server , we get a certificate pop-up saying identity of server is not matching the certificate , click on yes to proceed, so here we come to know we are connecting to server A.
When session broker does the load balancing, i get this certificate pop up second time because broker is redirecting my session to a least loaded server, instead of connecting to server A my session is redirected to server B. This works perfectly fine if i just say "yes" on certificate pop-up.
Issue: Due to some specific project requirement, The real IP of server A and Server B have been NATed, so both Server A and Server B have thier corresponding NATed IPs. From client machines 3389(RDP) is allowed only to Nated IPs.
Logically the NATed IP will be translated to real IP at Network device and that's how it will work.
When a client connects to Nated IP of server A and luckily if broker also thinks the session should go to Server A, user gets a session, but when a client connects to Server A but broker thinks that session should go Server B, Broker redirects the session to real IP of server B, which is not allowed to be accessed from Clients machine.(Only NATed IP is allowed for RDP). so here the connection will not be established.
So to summarize the issue: The client machine can't connect to RDS Load balanced session host servers when their IPs are Nated because Broker redirects the request to real IP of server.
Possible solution: As per Windows server 2008 R2 , when we create a RDS farm , we have a option to choose the IP for re connection. This setting is available Here Administrative Tools > Remote Desktop Services and double-click Member of Farm in RD Connection Broker (you can also choose right-click then Properties) , shown below is picture of IP re connection setting( Window Server 2008)
So i can map an additional NIC to RD session host server and give the Nated IP of that server to additional NIC. In above shown option for IPs to be used for re connection, i can check the box on the NIC with Nated ip, so broker will use the Nated IP while doing the load balancing.
I can't find "Chose the IP for re connection" option in Windows server 2012.
Appreciate you patience to read the scenario. Please let me know if you know the fix for this or any suggestion on this.
Best Regards,
Abhishek