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>

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>

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


> bind ipset IPSET-1


> bind ipset IPSET-1 1000::20


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


> add service SVC-1 HTTP 80


> add service SVC-2 HTTP 80


> bind lb vserver LBVS-1 SVC-1


> bind lb vserver LBVS-1 SVC-2


GSLB support for multi-IP virtual servers

In cloud deployments, floating IP addresses are not supported. These IP addresses are required for high availability deployments. With IPset support, 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 IPset. This IPset is then associated with the virtual server. Typically a public IP is mapped to one of the private IPs 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’s IP address, port number, and service type. This IP address can be the IP address that is configured while adding the virtual server or it can be one of the IP addresses in the IPset. Irrespective of the IP address used in GSLB service, statistics and state are inherited from the same load balancing virtual server entity.

Parent child topology is also supported with IPset. The load balancing virtual servers on the child sites can have the IPset associated with it. Communication between the parent and the child sites is always using public IP address and the public port of the GSLB service

Also, with IPset 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 IPset 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.

Note: Only one IP address is associated with a GSLB service. You cannot associate an IPset with a GSLB service. For details on configuring GSLB entities, see the topic Configure GSLB entities individually.

Multi-IP virtual servers