If you’re using a load balancer with Exchange 2010 you’ll be wanting to fix the two ports (RPC Client Access and Address book) used for Outlook connectivity (note – this is for non Outlook Anywhere connections), these ports are set on all client access servers, and the RPC Client access port on public folder servers.
If static ports are not configured then every Client Access Server / Public folder server will randomly select ports between 49152-65535 (Server 2008 onwards) to use requiring you to load balance all of those ports – something which could cause resource exhaustion on your load balancer.
To configure static ports two registry entries are required – both are used on Client Access Servers, only one on Public folder servers.
To configure the Address Book key (Client Access Servers only) navigate to the HKLM:SystemCurrentControlSetservicesMSExchangeAB key, create a sub-key called Parameters, then create a String value called ‘RpcTcpPort’ with a value between 49152 – 65535, I chose 60002 in this example:
To configure the Exchange RPC Client Access key (Client Access Servers and Public folder servers) navigate to the HKLM:SystemCurrentControlSetservicesMSExchangeRPC key, create a sub-key called ParametersSystem, then create a String value called ‘TCP/IP Port’ with a value between 49152 – 65535, I chose 60001 in this example:
Once the key has been set the Microsoft Exchange Address Book (Client access servers) and Microsoft Exchange RPC Client Access (Client access and Public Folder servers) services require restarting, once this has been done the netstat command shows our ports:
That shows us that we have two processes, each listening on one port, the final column show’s the PIDs of the processes responsible for those ports, 9092 for 60001 and 12624 for 60002, using task manager I can see the name of the processes associated with those PIDs:
So we can see that our RPCClientAccessService and AddressBook services are responsible for the open ports.
As a side note when configuring your load balancer your should follow the guidance here: http://technet.microsoft.com/en-us/library/ff625248.aspx which details affinity requirements for Exchange client protocols, in our example you would need to load balance 135 (initial connections are made on this port & the RPC service which listens on it returns to the Outlook client which ports it should connect to, which of course will be the static ports listed above) and ports 60001, 60002 (RPC Client access and Address Book services).
The aim of this post was to document the static port setting process & provide some background on why you might do it, this is generally done when using load balancing of some description – which is a whole other topic in itself which I’ve not covered here. There is some excellent Technet documentation available on the subject here: http://technet.microsoft.com/en-us/library/ff625248.aspx, I hope to provide some blog posts around HLB (Hardware Load Balancers) & their configuration / integration with Exchange in due course.