RSS Subscription 168 Posts and 2,769 Comments

Exchange 2007 Unicast NLB Issue on Hyper-V

I ran into an issue with Exchange 2007 Network Load Balancing (NLB) Unicast Mode when running on Hyper-V running on full install of Server 2008 x64.  To first understand the problem, it is useful to understand how NLB Unicast works.

When running Unicast, the NIC that has NLB enabled will have its’ MAC Address overwritten.  When you add a second NLB member to your NLB cluster, that new member’s NLB enabled NIC will have it’s MAC Address overwritten with the same MAC address as the other NLB enabled NIC.

Let’s take a look at our EXCAS1 server which contains both the Client Access Server and Hub Transport Server role.

As we can see, we have two NICs which are required when doing Unicast.  The reason you need two NICs is because, as stated, each NLB enabled NIC will have its’ MAC address overwritten and both NLB Node’s NLB enabled NICs will have the same MAC Address.  Because of this, we need a second NIC on each server so both NLB nodes can still communicate with each other.

Taking a look at our NLB NIC, we have a MAC Address of 00-15-5D-01-70-18.

How did we get this MAC Address?  Taking a look at our “Hyper-V Synthetic Network Adapter” in Hyper-V Manager, we can see we assigned our NLB NIC a dynamic MAC Address.

So let’s go ahead and enable NLB on our NLB enabled NIC.

After clicking OK, we can see that our MAC Address on our NLB NIC has changed from 00-15-5D-01-70-18 to 02-BF-CO-A8-01-FB.  Any other NLB nodes that are added to our NLB cluster will have its’ NLB enabled NIC’s MAC changed to 02-BF-C0-A8-01-FB as well.

Go into the Properties of our NLB and let’s go ahead and configure NLB.  And yes, my test lab’s domain is (will be changing back to once I get my new hardware and re-configure my lab environment).

The Cluster IP configuration is the IP configuration that will be used for our NLB IP.  They are not the IPs that are currently assigned to our existing NICs; although you will be adding this IP to your NLB NIC in just a bit.

On the Host Parameter’s tab, we’ll want to put in the IP Address that currently lives on the existing NLB NIC.

The Port rules are configured as such.  After configuring your port rules, Click OK to Continue.

We now have to add the Cluster IP to our NLB NIC.  This process will automatically be done for new nodes which join the NLB cluster.

Because we specified our host name for our Cluster NLB to be, we will want to ensure a host record for points to

Now here’s where I ran into an issue with Hyper-V.  From our EXCAS1 server, we can ping properly.

But from another machine (our DC), we cannot successfully ping

Initially, I thought this may be the issue Andy Grognan ran into here.  But unfortunately, it was not.

I then tried to disable the NLB option.  I was then able to ping which is still bound to the IPv4 settings of the NLB NIC.  This made me think it was an option with modifying the MAC Address.

I found out that a Hyper-V Synthetic Network Adapter does not allow you to dynamically modify the MAC address.  A legacy network adapter does, but a Hyper-V Legacy Network Adapter does but does not support x64.  This means we need to figure out a way to get this working with a Hyper-V Synthetic Network Adapter.

I shut down my EXCAS1 server and went into the properties of the Hyper-V Synthetic Network Adapter that was used for NLB.  I took note of the newer NLB MAC Address and modified the Hyper-V network settings to have a Static MAC Address of 02-BF-C0-A8-01-FB.

I booted my EXCAS1 server back up and went back on my DC1 server and tested a ping to  It worked!

And to test from our DC1 to our web browser to ensure OWA works through our NLB  hostname?  That works too!


10 Responses to “Exchange 2007 Unicast NLB Issue on Hyper-V”

  1. […] […]

  2. on 19 Sep 2008 at 1:42 pmsubject: exchange

    Weekend reading…

    Using Sharepoint meeting workspaces with Outlook 2003 / 2007 Get the real scoop on the new Microsoft…

  3. on 01 Apr 2009 at 9:26 pmbluegween

    hi there! nice post!

    im learning NLB for a project, can you help me out with the lab environment
    how many VMs did you use and whats the setup?


  4. on 03 Apr 2009 at 2:40 pmElan Shudnow

    I was only using 1 VM for the NLB. I never added the second but it’s very simple to do so. and Andy Grogan’s site both have excellent NLB walkthroughs.

  5. on 29 Jun 2009 at 9:27 amPablo

    Very nice topic!

  6. on 02 Dec 2009 at 7:30 pmmatthew trotter

    Had the same issue, however enabling NLB didn't overwrite the virtual machine MAC, it remained the same as it was specified on the host in Hyper-V. I created the cluster anyways, copied the mac down from the cluster parameters in NLB manager and then turned both nodes off and updated the MAC in Hyper-V with the MAC from NLB manager. Worked.

    I should mention I was using Windows 2008 Enterprise R2 guest OSes and Exchange 2010 on Window 2008 Datacenter SP2 Virtual Hosts.

  7. on 26 Jan 2010 at 6:08 pmPer Elmsäter

    Thanks a lot. Really did the trick.

  8. […] Exchange 2007 Unicast NLB Issue on Hyper-V […]

  9. on 09 Feb 2011 at 5:30 amKenny

    Nice post! I am spoofing the MAC address as have two NLB VM's on one host as was wandering if the spoofing technique was only applied on the NLB NIC's (which I guess is the right answer!) or to the Public NIC's, or both?

  10. on 05 Apr 2013 at 4:50 amzara

    Your blog post is really informative for me. I think I have read the same kind of information somewhere else but in different manner. Thanks and keep posting new things

Trackback this post | Feed on Comments to this post

Leave a Reply