1.4. Routing Methods

Red Hat Enterprise Linux uses Network Address Translation or NAT routing for Load Balancer Add-On, which allows the administrator tremendous flexibility when utilizing available hardware and integrating the Load Balancer Add-On into an existing network.

1.4.1. NAT Routing

Figure 1.3, “Load Balancer Add-On Implemented with NAT Routing”, illustrates Load Balancer Add-On utilizing NAT routing to move requests between the Internet and a private network.
Load Balancer Add-On Implemented with NAT Routing

Figure 1.3. Load Balancer Add-On Implemented with NAT Routing

In the example, there are two NICs in the active LVS router. The NIC for the Internet has a real IP address on eth0 and has a floating IP address aliased to eth0:1. The NIC for the private network interface has a real IP address on eth1 and has a floating IP address aliased to eth1:1. In the event of failover, the virtual interface facing the Internet and the private facing virtual interface are taken-over by the backup LVS router simultaneously. All of the real servers located on the private network use the floating IP for the NAT router as their default route to communicate with the active LVS router so that their abilities to respond to requests from the Internet is not impaired.
In this example, the LVS router's public floating IP address and private NAT floating IP address are aliased to two physical NICs. While it is possible to associate each floating IP address to its own physical device on the LVS router nodes, having more than two NICs is not a requirement.
Using this topology, the active LVS router receives the request and routes it to the appropriate server. The real server then processes the request and returns the packets to the LVS router which uses network address translation to replace the address of the real server in the packets with the LVS router's public VIP address. This process is called IP masquerading because the actual IP addresses of the real servers is hidden from the requesting clients.
Using this NAT routing, the real servers may be any kind of machine running various operating systems. The main disadvantage is that the LVS router may become a bottleneck in large cluster deployments because it must process outgoing as well as incoming requests.
The ipvs modules utilize their own internal NAT routines that are independent of iptables and ip6tables NAT. This will facilitate both ipv4 and ipv6 NAT when the real server is configured for NAT as opposed to DR in the /etc/keepalived/keepalived.conf file.