What is the expected behavior when the Use Address for Server NAT option is enabled?
When Use Address for Server NAT is enabled, the LoadMaster will check to see how many Virtual Services the Real Server is assigned to.
When a Real Server exists on only one Virtual Service and Use Address for Server NAT is enabled on said Virtual Service, the LoadMaster will use the Virtual Service IP address for Server NAT regardless of the port being requested.
If the Real Server in question is assigned to more than one Virtual Service then the LoadMaster will use the destination port of the server's request to determine the address used for Server NAT. If the destination port of the server’s request matches the port of a Virtual Service, and that Virtual Service has Use Address for Server NAT enabled, then that Virtual Service IP address will be used for Server NAT. Otherwise the LoadMaster interface IP address will be used.
Example 1:
Real Server 1 is assigned to Virtual Service 1 on port 25.
Virtual Service 1 service has Use Address for Server NAT enabled.
The LoadMaster will use its interface IP for Server NAT. The port being requested by the Real Server is not checked.
Example 2:
Real Server 1 is assigned to two Virtual Services.
Virtual Service 1 is on port 25 and Virtual Service 2 is on port 80.
Virtual Service 1 service has Use Address for Server NAT enabled.
The LoadMaster will use the Virtual Service 1 IP for Server NAT only if the port being requested by Real Server 1 is 25.
If Real Server 1 requests any other port the LoadMaster will use its interface IP address for Server NAT.
Note: When Use Address for Server NAT is enabled on Virtual Services that have multiple Real Servers assigned, a reboot of the LoadMaster may be required.
Michal Zakarovsky
Hi,
I believe "The LoadMaster will use its interface IP for Server NAT. The port being requested by the Real Server is not checked." is wrong statement and instead should be "The LoadMaster will use Virtual Service 1 IP for Server NAT. The port being requested by the Real Server is not checked." in Example 1.
Am I right?