With the recent exhaustion of IPv4 addresses, one of the common requests that people ask me about is, how to load balance and leverage a mix of IPv4 and IPv6 addresses on NetScaler. The following process will depict how to load balance and IPv4 back-end server with an IPv6 front-end address:

1. Enable NetScaler IPv6 Feature:

enable ns feature IPv6PT

2. Configure IPv4 service (verify up, show service)

add service ServiceName-IPv4-svc x.x.x.x <ServiceType> <Port>
  • Replace x.x.x.x with the IP for the IPV4 Service to be load balanced
  • Replace <ServiceType> with the type of service to load-balance (i.e. HTTP)
  • Replace Port with Port of Service (i.e. 80)

3. Configure IPv6 VIP – Make sure to use a unicast address, not link-local.

add lb vserver LBVIP-IPv6-lb <ServiceType> x:x:x::x <Port>
  • Replace x.x.x.x with the IPv6 address to be used for load balancing
  • Replace <ServiceType> with the type of service to load-balance (i.e. HTTP)
  • Replace Port with Port of Service (i.e. 80)

4. Bind service to VIP

bind lb vserver LBVIP-IPv6-lb ServiceName-IPv4-svc
bind service ServiceName-IPv4-svc -monitorName <Monitor>
  • In this step, leverage the same names for the LB VIP and Services as configured in previous steps
  • Replace <Monitor> with the name of the monitor for health-check (i.e. http)

That should do the trick. As a worthy mention, while this shows the use of IPv6 in the front connecting to an IPv4 back-end server, the same procedure can be used to connect to a back-end IPv6 configured server.