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.