Exchange CAS high availability with Windows NLB

Application availability is getting super critical these days. Most of them can be clustered but there are still few applications which can’t be clustered. So we have Network load balance hardware devices but not every organization is happy to invest in NLB device just for Exchange CAS. For these organizations the solution is windows NLB and Microsoft fully support it. Let us see how we configure Windows NLB for 2 nodes.

Infrastructure Configuration for this article:

Yes, prepare the below values for your NLB.

Server Names: CAS1 and CAS1

CAS1 NLB NIC IP Address: 10.10.10.10

CAS2 NLB NIC IP Address: 10.10.10.20

NLB IP Address: 10.10.10.40

Subnet mask: 255.255.255.0

CAS URL/NLB NAME: mail.msexchangeguru.com

Configure NLB Cluster – Follow the below steps on both the Servers.

This should be the Secondary NIC for NLB but in the same production network.

Configure the IP address and subnet mask only. No DNS and WINS.

In Advanced’s DNS tab, confirm checkbox for Register this connection’s addresses in DNS is unchecked

In Advanced’s WINS tab, ensure Disable NetBIOS over TCP/IP is checked

NLB Configuration Steps:

Validate required NICbinding order onCAS1 andCAS2

Otherwise, reorder the NICs so they occupy the first and second positions

Save settings by clicking OK and close Network Connections Applet

Install Network Load – Follow the below steps on both the Servers

Click on Start | Administrative Tools | Server Manager Balancing Service on Click on Features | Add Features In the Add Features wizard, check Network Load Balancing checkbox Click Install

Type in Server 2 FQDN cas2.msexchangeguru.com in the Host field then click Connect

Choose the NLB NIC (interface IP 10.10.10.20) then click Next and Next

Leave all settings at default; click Finish

Allow CAS2 to converge with the cluster; after convergence, the cluster status should say Success and with a GREEN icon next to it

Verify NLB:

Stop Windows NLB service on CAS1 then From CAS2, confirm OWA URL responds with the cluster IP 10.10.10.40 and owa page is opening; otherwise determine and resolve the issue.

Restart Windows NLB service on CAS1 and allow the cluster nodes to converge successfully.

Stop Windows NLB service on CAS2 then From CAS1, confirm OWA URL responds with the cluster IP 10.10.10.40 and owa page is opening; otherwise determine and resolve the issue.

Restart Windows NLB service on CAS2 and allow the cluster nodes to converge successfully.

Configure the MAC address to the VM NLB NIC

If you have virtualized CAS then follow this step

Go to NLB Manager à Cluster Properties à Clusters Parameters Tab and write down the Network address for the NLB cluster. Which is like 02-BF-0A-0A-0A-28

Shut down the NLB cluster VMs one by one (make sure you don’t shutdown both CAS at a time) then in Hyper-V Manager, manually configure the network adapters that you added to the VMs for the NLB cluster to use a static MAC address that matches the NLB network address: 02-BF-0A-0A-0A-28.

Check the checkbox “Enable Spoofing of MAC Addresses”

Restart the CAS Server VMs in Hyper-V Manager.

Confirm successful NLB cluster convergence status one more time.

NIC Forwarding

Run the below command on both the servers so that NLB can forward OWA request to Prod NIC

This is a very important step, if you have missed this then NLB will not be able to forward the CAS request to Production NIC and no app will open.

Open the cmd prompt with Run as Administrator and run the below cmd.

netsh interface ipv4 set interface “NLB Interface” forwarding=enabled

NLB should be working fine at this moment.

Recently I was helping a customer who decided to stick to only 2 servers with all the roles in it. Then he end up asking high availability for CAS as well on the same setup. I decide to explain the unsupported configuration which I am mentioning here but Microsoft/MsExchangeGuru will not support any issue or loss caused by this. So use this configuration at your own risk.

For such setup we can change their CAS/Transport internal NAT IP to the DAG Cluster IP/Name (CNO).

Hi Prabhat,
This is a great article. This WNLB setup is similar to old Exchange 2010 CAS Array on WNLB. However, can you please reply with a little more on ‘CAS load balancing with DAG on same server’? If someone don’t want to use a third party hardware load balancer, and not using DNS round robin (two entries to same namespace), then is there any other methods to achieve the CAS high availability in Exchange 2013 (all roles)?

Thanks a lot of the detailed information. THis is of great help.
1 Quick and imp question:
In Network connections and advanced settings. Which NIC should be binded first? NLB NIC with no gateway or the NIC with the Gateway?