L4xNAT profile farms

POSTED ON 19 February, 2016

L4xNAT EDIT GLOBAL PARAMETERS

In this panel you’ll be able to set the parameters to improve your farms performance and your virtual service custom features for L4xNAT farms.

The L4xNAT farm profile allows to create a L4 farm with a very high performance and much more concurrent connections than load balancer cores in layer 7 like TCP, UDP or HTTP farm profiles. That layer 4 performance improvement counteracts the advanced content handling that the layer 7 profiles could manage.

Additionally, L4xNAT farms could bind a range of ports, not only one virtual port as is used with other layer 7 profiles. In order to be able to select a range of virtual ports or a specific virtual port in L4xNAT farms, it’s mandatory to select a protocol type. In other case, the farm will be listening on all ports from the virtual IP ( indicated with a character ‘*’ ). Once a TCP or UDP protocol is selected, it will be available to specify a port, several ports between ‘,’ , ports range between ‘:’ or all ports with ‘*’. A combination of all of them will be valid as well.

In the near future, the TCP and UDP profiles will be completely replaced by L4xNAT profile.

The specific options to be able to configure a L4xNAT farm profile is detailed in the current section. In general, the farm will be restarted automatically with every change in a specific option in this farm profile.

The L4xNAT farm profile provides a distribution panel with the following parameters:

Farm’s name. It’s the identification field and a description for the virtual service. In order to change this item you’ve to modify the name field and press the Modify button. The load balancing service will be restarted automatically after applying this operation. Ensure that the new farm name is available, in another case an error message will appear.

Farm Virtual IP and Virtual Port(s). These are the virtual IP address and/or virtual port(s) in which the virtual service for the farm will be bound and listening in the load balancer system. To make changes in these fields, ensure that the new virtual IP and virtual port are not in use. In order to apply the changes the farm service will be restarted automatically.

Protocol Type. This field specifies the protocol to be balanced at layer 4. By default, the farm will be available for all layer 4 protocols.

ALL. The farm will be listening for incoming connections to the current virtual IP and port(s) over all protocols.
TCP. Enabling this option, the farm will be listening for incoming TCP connections to the current virtual IP and port(s).
UDP. Enabling this option, the farm will be listening for incoming UDP connections to the current virtual IP and port(s).
SIP. Enabling this option, the farm will be listening for incoming UDP connections to the current virtual IP and port 5060 by default, and then will parse the SIP headers for each packet in order to be managed correctly to the backends.

NAT Type. This field indicates the NAT type which means how the load balancer layer 4 core is going to operate. In order to select the option that better fits with your service and infrastructure will depend on the network architecture defined. By default, the farm will operate in NAT mode.

NAT. The NAT mode or commonly named SNAT (source NAT) uses the load balancer IP as the backend connection source IP address, therefore the backend doesn’t know the client IP address at TCP, UDP or any other layer 4 protocol. By this way, the backend responds to the load balancer in order to send the response to the request.

DNAT. The DNAT (Destination NAT) mode uses the client IP address as the backend connection source IP address, therefore the backend will respond directly to the client. In this case, the load balancer IP needs to be configured as the backend default gateway and isolate the backends network from the client service network.

Load Balance Algorithm. This field specifies the load balancing algorithm to be used in order to determine the backend server. By default, weight algorithm will be the default selected algorithm.

Weight: connection linear dispatching by weight. Balance connections depending on the weight value, you have to edit this value for each real server. The requests are delivered through an algorithm to calculate the load of every server using the actual connections to them, and then to apply a linear weight assignation.
Priority: connections always to the most prio available. Balance all connections to the same highest priority server. If the first server is down, the connections will switch to the next prioritiest server. With this algorithm you can build an active-pasive cluster service with the real servers.

Persistence Mode. This field determines if any persistence is used in the configured farm. By default, no persistence is used.

No persistence. The farm will not use any kind of persistence between the client and the backend.
IP persistence. Enabling this option, the farm will assign the same backend for every connection regarding the client source IP address.

Source IP Address Persistence time to live. If any persistence is selected, this field value indicates the number of seconds that the persistence between the client source and the backend is being assigned.

Use farmguardian to check backend servers. Checking this box will enable a more advanced monitoring state for backends and totally customized with your own scripts. When a wrong behaviour is detected by farmguardian, it automatically disables the real server and will be marked as FGdown. This is an independent service so you don’t have need to restart the farm service. To get more details about this service, please read the FarmGuardian section.

L4xNAT EDIT REAL SERVERS CONFIGURATIONS

Once a new farm is created, you’ve to include the servers with the real services in order to deliver the client connections.

Under the Edit real IP servers table configuration you’ll be able to include the configuration backends for every backend and their specific parameters.

With a L4xNAT farm profile you’ll be able to configure the following real servers properties:

Server. It’s an automatic ID established to be an index for the real server. The system administrator can’t change this value.
Address. It’s the IP address of the real service.
Port. It’s the port of the real server in which the real service is listening on.
Weight. It’s the weight value for the current real server which is only useful if the Weight Algorithm is enabled. More weight value indicates more connections delivered to the current backend. By default a weight value of 1 will be set.
Priority. It’s the priority value for the current real server which is only useful if the Priority Algorithm is enabled. The priority value accepted is between 0 and 9, less value indicates more priority to the current real server. By default a priority value of 0 will be set.

With the Save Real Server button you’ll apply the new configuration, or you’ll be able to cancel the process.

Once the real server configuration is entered, you’ll be able to edit the config throught the Edit button or delete the configuration with the Delete Real Server button.

The server index is useful to identify the real server configuration for the current farm.

L4xNAT VIEW STATUS

This action shows the actual state of backends, clients and connections that are being delivered from the virtual service to the real servers.

Refresh stats option will allow to refresh the status view every 10, 30, 60 or 120 seconds. It must be used with caution as this feature could overload the load balancer.

The Real Server Status table shows the state of every backend:

Server. It’s the backend identification number within the farm.
Address. It’s the real server IP address.
Port(s). It’s the port number where the real service of the current real server is listening on.
Status. A red dot means that the current real server is down or blacklisted (it could be due to a connection error or due to farmguardian advanced checking), meanwhile a green dot means that the backend is online and delivering connections. A yellow dot means that the backend is in maintenance mode.
Pending Conns. This is the number of pending connections in the system that are on SYN state for the current backend, indepently of farm service.
Established Conns. This is the number of established connections in the system that are on ESTABLISHED state for the current backend, indepently of farm service.
Closed Conns. This is the number of closed connections in the system that are on TIME_WAIT state for the current backend, indepently of farm service.
Weight. It’s the weight value established for every backend.
Priority. It’s the priority value established for every backend server.

Share on:

Documentation under the terms of the GNU Free Documentation License.

Was this article helpful?

Related Articles