Use the EDNS0 client subnet option for Global Server Load Balancing

Last published : Sep 22, 2026
EDNS Client Subnet (ECS) is a Domain Name Server (DNS) header extension that provides the client subnet details. You can use these details to improve the accuracy of NetScaler Global Server Load Balancing (GSLB) by using the client network location rather than the DNS resolver location to determine the topological closeness of the client.
Note
NetScaler supports only EDNS0.
Important:
Make sure that the Local Domain Name Server (LDNS) in your deployment supports the EDNS0 Client Subnet so that the incoming DNS queries contain the EDNS0 Client Subnet option and the NetScaler appliance uses the ECS address while processing the DNS query.
The NetScaler appliance uses the LDNS IP address for determining the topological closeness of the client and performs GSLB, when you use proximity-based load balancing methods like static proximity or dynamic round-trip time (RTT). It happens in a typical GSLB deployment. But when a centralized DNS resolver, such as Google DNS or OpenDNS, is involved in the deployment, the NetScaler appliance sends the DNS request to a data center close to the centralized DNS resolver, which might not be close to the client. For example, in a typical NetScaler GSLB deployment using the static proximity load balancing method, an end-user request from Japan is sent to a data center in Japan and an end user request from California is sent to a data center in California. But if a centralized DNS resolver is involved, the NetScaler appliance might send a request from Japan to a data center in California.
You can use the ECS option in deployments that include the NetScaler appliance configured as an Authoritative DNS (ADNS) server for a GSLB domain. If you use static proximity as the load balancing method, you can use the IP subnet in the EDNS header instead of the LDNS IP address. This helps to determine the geographical proximity of the client. In proxy mode deployment, the NetScaler appliance forwards an ECS-enabled DNS query as-is to the back-end servers. The appliance does not cache ECS-enabled DNS responses.
Note
The ECS option is not applicable for all other deployment modes, such as ADNS mode for non-GSLB domains, resolver mode, and forwarder mode. The ECS option is ignored by the NetScaler appliance in the preceding mentioned modes. Also, by default, ECS is disabled for GSLB deployment.
GSLB EDNSO
EDNSO GSLB
To enable the EDNS0 Client Subnet option by using the command line interface:
At the command prompt, type:
set gslb vserver <vserver_name> **-ECS ENABLED

set gslb vserver vserver-GSLB-1 -ECS ENABLED
Related information

Address validation

You can configure a GSLB virtual server to verify that the address returned by the EDNS0 Client Subnet (ECS) option of the DNS query is not a private or an unroutable IP address. With address validation enabled, the NetScaler appliance ignores the ECS address in the DNS query if it is listed in the following table, and instead uses the LDNS IP address for global server load balancing.
Note
By default, address validation is disabled.
Address Type Address Description
IPV4 10.0.0.0/8 For private use
172.16.0.0/12 For private use
192.168.0.0/16 For private use
0.0.0.0/8 Refers to the host on the network
100.64.0.0/10 Shared address space
127.0.0.0/8 Loopback address
169.254.0.0/16 Link Local IPv4 address as defined in RFC 3927
192.0.0.0/24 Used for IETF protocol assignments, includes the private space 192.168.0.0/16
192.0.2.0/24 Used for documentation purposes
192.88.99.0/24 Used for 6to4 Relay Anycast
198.18.0.0/15 Used in Device benchmark testing
198.51.100.0/24 Used for documentation purposes
203.0.113.0/24 Used for documentation purposes
240.0.0.0/4 Used as reserved
255.255.255.255/32 Used for broadcast
IPv6 ::1/128 loopback address
::/128 unspecified address
::ffff:0:0/96 IPv4-mapped address
100::/64 discard-only address block
2001::/23 Used for IETF protocol assignments
2001::/32 TEREDO
2001:2::/48 Used for benchmarking
2001:db8::/32 Used for documentation purposes
2001:10::/28 ORCHID
2002::/16 Used for 6to4 Relay Anycast
fc00::/7 Unique-local
fe80::/10 Link-local Unicast addresses

To enable address validation by using the command line interface

At the command prompt, type:
set gslb vserver <vserver_name> -ecsAddrValidation ENABLED

set gslb vserver vserver-GSLB-1 -ecsAddrValidation ENABLED