Citrix ADC

Multi-IP virtual servers

The Citrix ADC supports creating a single load balancing virtual server with multiple non-consecutive/consecutive IPv4 and IPv6 addresses of type VIP. Each VIP address bound to a virtual server is treated as an individual virtual server. These virtual servers have the same protocol and other virtual server level settings. A virtual server with multiple VIP addresses is also called multi-IP virtual server.

The following are some advantages of using multi-IP virtual servers:

  • A multi-IP virtual server offloads the work of creating many virtual servers with the same settings and service bindings.
  • Multi-IP virtual servers effectively reduces the possibility of reaching the maximum limit on virtual server entities.
  • One multi-IP virtual server can be used for clients in different subnets to connect to the same set of servers.
  • Only one multi-IP virtual server can be used for IPv6 and IPv4 clients to connect to the same set of servers.

Configure a multi-IP virtual server

Configuring a multi-IP virtual server consists of the following tasks:

  • Create an IPset and bind multiple IP addresses to it.
  • Bind the IPset to load balancing virtual servers.

Note the following points related to IPset configuration:

  • An IPset can have:
    • non-consecutive/consecutive IPv4 addresses and IPv6 addresses
    • combinations of IPv4 and IPv6 addresses.
  • All IPv4/IPv6 addresses to be associated with virtual servers using IPset must be of type VIP.
  • A single IPset can be bound to multiple virtual servers.
  • IPv4/IPv6 addresses can be bound/unbound to/from IPset irrespective any existing IPset bindings to virtual servers.
  • You must unset the IPset binding to a virtual server before binding a new IPset to it.

To add an IPset and bind multiple VIP addresses to it by using the CLI

At the command prompt, type:

add ipset <name>

bind ipset <name> <IPaddress1 …>

bind ipset <name> <IPaddress2…>

show ipset <name>
<!--NeedCopy-->

To bind the IPset to a virtual server by using the CLI

At the command prompt, type:

set lb vserver <name> -ipset <ipset name>

show lb vserver <name>
<!--NeedCopy-->

To add an IPset and bind multiple VIP addresses to it by using the GUI

Navigate to System > Network > IPSets, and create an IPset with multiple VIP addresses.

To bind the IPSet to a virtual server by using the GUI

  1. Navigate to Traffic Management > Load Balancing > Virtual Servers, and open a virtual server to which you want to bind the created IPset.
  2. In Basic Settings, set the IPset parameter to the name of the created IPset.
> add ipset IPSET-1


Done

> bind ipset IPSET-1 9.9.9.10


Done

> bind ipset IPSET-1 1000::20


Done

> add lb vserver LBVS-1 HTTP 8.8.8.10 80 –ipset IPSET-1


Done

> add service SVC-1 3.3.3.10 HTTP 80


Done

> add service SVC-2 3.3.3.100 HTTP 80


Done

> bind lb vserver LBVS-1 SVC-1


Done

> bind lb vserver LBVS-1 SVC-2


Done

GSLB support for multi-IP virtual servers

Floating IP addresses are required for the high availability deployments. Cloud deployments do not support floating IP addresses. So, the IP set feature helps you support high availability in cloud deployments. With the IP set feature, you can associate a private IP address to each of the primary and secondary instances. One of the private IP addresses is added when creating the virtual server. The other IP address is bound to an IP set. The IP set is then associated with the virtual server. Typically a public IP address is mapped to one of the private IP addresses based on which appliance is taking the traffic. During failover, this mapping changes dynamically to route the traffic to the new primary.

In GSLB deployments, the GSLB service represents the virtual server and it requires both the private and public IP address of the virtual server. In cloud deployments, there are multiple private IP addresses represented as an IP set but the GSLB service can accept only one private IP address. So while configuring the GSLB service it is recommended to give the IP address that is configured while adding the virtual server or one of the IP addresses in the IP set. You need not configure the IP set feature on the GSLB service. The IP set configured on the load balancing virtual server associated with the GSLB service is sufficient.

In GSLB Parent-child topology, the load balancing virtual servers on the child sites can have the IP set associated with it. The GSLB service corresponding to this topology carries the public IP address and one of the private IP addresses. The private IP address can be an IP address in the IP set or the one configured while adding the virtual server on the child site. Communication between the parent and the child sites is always using the public IP address and the public port of the GSLB service.

Also, with IP set support, you can have a single virtual server endpoint for both IPv4 and IPv6 traffic. Previously, you had to configure different virtual servers for IPv4 and IPv6 traffic. With IP set support, you can associate IPv4 and IPv6 IP addresses to the same IP set. You can add different GSLB services representing the IPv4 and IPv6 endpoints.

Multi-IP virtual servers