Configure the NetScaler as an end resolver
-
For recursive resolution functionality, caching must be enabled.
-
Jumbo frames are not supported in resolver mode.
Enable recursive resolution
set dns parameter command.
-
resolverMaxActiveResolutions: Controls the maximum number of active concurrent DNS resolutions allowed per packet engine.
-
resolverMaxTcpConnections: Sets the maximum number of DNS-TCP connections that can be opened for recursive resolution per packet engine.
-
resolverMaxTcpTimeout: Defines the maximum time (in seconds) to wait for a response on a DNS-TCP connection during recursive resolution.
-
retries - Defines the number of attempts NetScaler® makes to receive a response from a server for a DNS query. The default value is 5.
-
We do not recommend enabling recursive DNS resolution by using the
-localand-recursionoptions. -
To enable the recursive resolution feature, we recommend creating a custom DNS profile and associating it with a specific DNS entity, such as an ADNS service or CS virtual server, rather than enabling it on the global default DNS profile.
Prerequisite
Enable recursive resolution by using the CLI
-
Create or modify a DNS profile for recursive resolution.
-
To create a DNS profile with recursion enabled.
add dns profile <new_profile_name> -recursiveResolution ENABLED -
To update an existing DNS profile to enable recursion.
set dns profile <existing_profile_name> -recursiveResolution ENABLED
-
-
Attach the DNS profile to the target entity (if not already attached).
-
For an existing ADNS or ADNS_TCP service.
set service <service_name> -dnsProfileName <dns_profile_name> -
For an existing content switching virtual server.
set cs vserver <vserver_name> -dnsProfileName <dns_profile_name> -
For a new ADNS or ADNS_TCP service.
add service <service_name> <ip> <type> <port> -dnsProfileName <dns_profile_name> -
For a new content switching virtual server.
add cs vserver <vserver_name> <ip> <type> <port> -dnsProfileName <dns_profile_name>
-
-
Use policy-based recursion to enable the recursive resolution feature for targeted clients or requests. This capability applies to ADNS, content switching , and load balancing virtual servers, with the specific client defined using DNS-based policy expressions.
-
Directly attaching a DNS profile with
recursiveResolution ENABLEDto the load balancing virtual server does not provide recursive resolution for any request.
Enable DNS recursive resolution by using the GUI
-
Navigate to System > Profiles > DNS Profile.
-
Click Add.
-
Select Recursive Resolution.
-
Click OK.
-
Navigate to Traffic Management > Load Balancing > Virtual Servers.
-
Click Add.
-
Under Advance Settings, click Profiles.
-
Select DNS Profile.
Enable recursive resolution in specific deployment use cases
-
GSLB deployment with ADNS service: To enable recursion for a GSLB setup, attach a DNS profile with
recursiveResolutionenabled to your ADNS services (both type 'ADNS' for UDP and 'ADNS_TCP' for TCP). This configuration ensures that:-
Queries for GSLB domains or locally configured records on the NetScaler are answered directly.
-
All other domain queries are resolved recursively using root hints over UDP or TCP.
-
-
Conditional forwarding with recursion: To implement conditional forwarding, directing queries for specific zones to local authoritative DNS servers while resolving all other queries externally:
-
Enable recursion on a DNS profile.
-
Attach the DNS profile to a content switching virtual server.
-
Avoid binding a default load balancing virtual server to this content switching virtual server. By using this configuration, only DNS traffic explicitly routed through content switching policies reaches local authoritative servers. All other queries are forwarded to the external DNS infrastructure through the attached DNS profile's recursive resolver.
-
-
Policy-based recursion (for DNS proxy with load balancing): To enable recursion conditionally based on DNS query characteristics, especially in a DNS proxy setup with a load balancing virtual server front-end authoritative DNS servers:
-
Configure a DNS action that applies a DNS profile with recursion enabled. For example:
add dns action dnsrecursion noop -dnsprofileName recursive-
Create a DNS policy to trigger this action under specific conditions (For example, when the queried domain is not authoritative for the back-end servers).
add dns policy doRootResolution 'dns.req.question.domain.contains("abc.com").not' dnsrecursion-
Bind the created DNS policy globally with a priority.
bind dns global doRootResolution 1 -
- set dns parameter -recursion ENABLED
- show dns parameter
> set dns parameter -recursion ENABLED
Done
> show dns parameter
DNS parameters:
.
.
.
Recursive Resolution : ENABLED
.
.
.
Done
-
Navigate to Traffic Management > DNS.
-
In the details pane, under Settings, click Change DNS settings.
-
In the Configure DNS Parameters dialog box, select the Enable recursion checkbox, and then click OK.
add dns nameServer ((<IP> [-local]) | <dnsVserverName>)
add dns nameServer 10.102.9.19 -local
show dns nameServer
1) 10.102.9.19 LOCAL - State: UP Protocol: UDP
Done
recursion, must also be set. If no name server is marked as being local, the appliance functions as a stub resolver and load balances the name servers.