We have Exchange 2010 HUB servers (2 of them) load balanced via a Netscaler. All works fine except SMTP traffic on port 25 which is load balanced and shows as coming from the Netscaler IP address in the protocol logs and not the original client address. What this means is that on the relay receive connector you cannot specify a server IP list as all connections show as coming from the load balancer.
I have found this article - http://citrix.stefanriek.de/citrix/howto-load-balance-while-preserving-a-clients-source-ip-but-not-using-the-netscaler-as-your-gateway/
However, this requires you to add a Loopback NIC to the HUB servers, set the IP to the same as the load balancer and set WEAKHOSTRECEIVE and WEAKHOSTSEND to ENABLED. I do not understand this part and can find no official KB articles from Citrix or Microsoft about this and am hesitant to just blindly follow blogs I have found online.
The options available are:
- Get SMTP loadbalancing working with the Netscaler - appears to be a very convoluted process
- Forget about SMTP loadbalancing and just point the internal SMTP record for relaying to one HUB server (defeats the point in having multiple HUB servers!)
- Install the Windows NLB service and use that for SMTP traffic
Citrix are a massive company and there must be others out there who load balance via Netscalers, yet Citrix themselves say there is no official way to do this? Is following the blog above the correct and more importantly, officially supported method for Microsoft?
It isn't just used to get Exchange working behind load balancers, but the above Direct Server Response method is mentioned here (but shows MS engineers are not aware of it) http://social.technet.microsoft.com/Forums/en-US/appvserverandmanagement/thread/b7550b6c-2b51-47d6-9013-7194937fb0ff