Issue:

I have recently had the requirement to put a NAT router performing NAT overload between an ESXi server and it's respective vCenter server. According to VMware KB1010652 this is an unsupported configuration! More over our configuretion completely opposite and we not able to replicete provided by VMware solution.

VMNAT04

In our setup the vCenter server was appearing on the "WAN" side of the router and ESXi on the "LAN" which you would expect to not be a problem considering you add the ESXi IP (NATTED 1:1) address inside vCenter.

In first connection this initially worked, as I'd expected it to. However problems begin after approximately one minute, the host simply dropped offline. I could still ping it fine, and communicate with it using the standalone vCenter client. I could even reconnect it in vCenter however it would only last another minute or so before it dropped. The issue is with heartbeat between vCenter and ESXi.

VMNAT02

In system logs on esxi server we can find:

2016-10-17T01:37:04.058Z warning vpxa[70F3AB70] [Originator@6876 sub=Heartbeat opID=SWI-56f32f43] Failed to bind heartbeat socket for host address 20.16.12.50: Cannot assign requested address.
2016-10-17T01:37:04.058Z verbose vpxa[70F3AB70] [Originator@6876 sub=Heartbeat opID=SWI-56f32f43] Waiting for 32 seconds for management interface to come up...
2016-10-17T01:37:36.060Z warning vpxa[70F3AB70] [Originator@6876 sub=Heartbeat opID=SWI-56f32f43] Failed to bind heartbeat socket for host address 20.16.12.50: Cannot assign requested address.
2016-10-17T01:37:36.060Z verbose vpxa[70F3AB70] [Originator@6876 sub=Heartbeat opID=SWI-56f32f43] Waiting for 64 seconds for management interface to come up...

ESXi not able to respond correctly for request of heartbeat addressed to 20.16.12.50, not 10.1.1.50

Solution:

Add Management loopback with NAT IP address 20.16.12.50

VMNAT03

The host should now be online within vCenter and should stay online!