ADC NITRO APIs

dnsparameter

Configuration for DNS parameter resource.

Properties

(click to see Operations )

Name Data Type Permissions Description
retries <Double> Read-write Maximum number of retry attempts when no response is received for a query sent to a name server. Applies to end resolver and forwarder configurations.

Default value: 5

Minimum value = 1

Maximum value = 5
minttl <Double> Read-write Minimum permissible time to live (TTL) for all records cached in the DNS cache by DNS proxy, end resolver, and forwarder configurations. If the TTL of a record that is to be cached is lower than the value configured for minTTL, the TTL of the record is set to the value of minTTL before caching. When you modify this setting, the new value is applied only to those records that are cached after the modification. The TTL values of existing records are not changed.

Minimum value = 0

Maximum value = 604800
maxttl <Double> Read-write Maximum time to live (TTL) for all records cached in the DNS cache by DNS proxy, end resolver, and forwarder configurations. If the TTL of a record that is to be cached is higher than the value configured for maxTTL, the TTL of the record is set to the value of maxTTL before caching. When you modify this setting, the new value is applied only to those records that are cached after the modification. The TTL values of existing records are not changed.

Default value: 604800

Minimum value = 1

Maximum value = 604800
cacherecords <String> Read-write Cache resource records in the DNS cache. Applies to resource records obtained through proxy configurations only. End resolver and forwarder configurations always cache records in the DNS cache, and you cannot disable this behavior. When you disable record caching, the appliance stops caching server responses. However, cached records are not flushed. The appliance does not serve requests from the cache until record caching is enabled again.

Default value: YES

Possible values = YES, NO
namelookuppriority <String> Read-write Type of lookup (DNS or WINS) to attempt first. If the first-priority lookup fails, the second-priority lookup is attempted. Used only by the SSL VPN feature.

Default value: WINS

Possible values = WINS, DNS
recursion <String> Read-write Function as an end resolver and recursively resolve queries for domains that are not hosted on the Citrix ADC. Also resolve queries recursively when the external name servers configured on the appliance (for a forwarder configuration) are unavailable. When external name servers are unavailable, the appliance queries a root server and resolves the request recursively, as it does for an end resolver configuration.

Default value: DISABLED

Possible values = ENABLED, DISABLED
resolutionorder <String> Read-write Type of DNS queries (A, AAAA, or both) to generate during the routine functioning of certain Citrix ADC features, such as SSL VPN, cache redirection, and the integrated cache. The queries are sent to the external name servers that are configured for the forwarder function. If you specify both query types, you can also specify the order. Available settings function as follows:

* OnlyAQuery. Send queries for IPv4 address records (A records) only.

* OnlyAAAAQuery. Send queries for IPv6 address records (AAAA records) instead of queries for IPv4 address records (A records).

* AThenAAAAQuery. Send a query for an A record, and then send a query for an AAAA record if the query for the A record results in a NODATA response from the name server.

* AAAAThenAQuery. Send a query for an AAAA record, and then send a query for an A record if the query for the AAAA record results in a NODATA response from the name server.

Default value: OnlyAQuery

Possible values = OnlyAQuery, OnlyAAAAQuery, AThenAAAAQuery, AAAAThenAQuery
dnssec <String> Read-write Enable or disable the Domain Name System Security Extensions (DNSSEC) feature on the appliance. Note: Even when the DNSSEC feature is enabled, forwarder configurations (used by internal Citrix ADC features such as SSL VPN and Cache Redirection for name resolution) do not support the DNSSEC OK (DO) bit in the EDNS0 OPT header.

Default value: ENABLED

Possible values = ENABLED, DISABLED
maxpipeline <Double> Read-write Maximum number of concurrent DNS requests to allow on a single client connection, which is identified by the <clientip:port>-<vserver ip:port> tuple. A value of 0 (zero) applies no limit to the number of concurrent DNS requests allowed on a single client connection.
dnsrootreferral <String> Read-write Send a root referral if a client queries a domain name that is unrelated to the domains configured/cached on the Citrix ADC. If the setting is disabled, the appliance sends a blank response instead of a root referral. Applicable to domains for which the appliance is authoritative. Disable the parameter when the appliance is under attack from a client that is sending a flood of queries for unrelated domains.

Default value: DISABLED

Possible values = ENABLED, DISABLED
dns64timeout <Double> Read-write While doing DNS64 resolution, this parameter specifies the time to wait before sending an A query if no response is received from backend DNS server for AAAA query.

Minimum value = 0

Maximum value = 10000
ecsmaxsubnets <Double> Read-write Maximum number of subnets that can be cached corresponding to a single domain. Subnet caching will occur for responses with EDNS Client Subnet (ECS) option. Caching of such responses can be disabled using DNS profile settings. A value of zero indicates that the number of subnets cached is limited only by existing memory constraints. The default value is zero.

Default value: 0

Minimum value = 0

Maximum value = 1280
maxnegcachettl <Double> Read-write Maximum time to live (TTL) for all negative records ( NXDONAIN and NODATA ) cached in the DNS cache by DNS proxy, end resolver, and forwarder configurations. If the TTL of a record that is to be cached is higher than the value configured for maxnegcacheTTL, the TTL of the record is set to the value of maxnegcacheTTL before caching. When you modify this setting, the new value is applied only to those records that are cached after the modification. The TTL values of existing records are not changed.

Default value: 604800

Minimum value = 1

Maximum value = 604800
cachehitbypass <String> Read-write This parameter is applicable only in proxy mode and if this parameter is enabled we will forward all the client requests to the backend DNS server and the response served will be cached on Citrix ADC.

Default value: DISABLED

Possible values = ENABLED, DISABLED
maxcachesize <Double> Read-write Maximum memory, in megabytes, that can be used for dns caching per Packet Engine.
maxnegativecachesize <Double> Read-write Maximum memory, in megabytes, that can be used for caching of negative DNS responses per packet engine.
cachenoexpire <String> Read-write If this flag is set to YES, the existing entries in cache do not age out. On reaching the max limit the cache records are frozen.

Default value: DISABLED

Possible values = ENABLED, DISABLED
splitpktqueryprocessing <String> Read-write Processing requests split across multiple packets.

Default value: ALLOW

Possible values = ALLOW, DROP
cacheecszeroprefix <String> Read-write Cache ECS responses with a Scope Prefix length of zero. Such a cached response will be used for all queries with this domain name and any subnet. When disabled, ECS responses with Scope Prefix length of zero will be cached, but not tied to any subnet. This option has no effect if caching of ECS responses is disabled in the corresponding DNS profile.

Default value: ENABLED

Possible values = ENABLED, DISABLED
maxudppacketsize <Double> Read-write Maximum UDP packet size that can be handled by Citrix ADC. This is the value advertised by Citrix ADC when responding as an authoritative server and it is also used when Citrix ADC queries other name servers as a forwarder. When acting as a proxy, requests from clients are limited by this parameter - if a request contains a size greater than this value in the OPT record, it will be replaced.

Default value: 1280

Minimum value = 512

Maximum value = 16384
nxdomainratelimitthreshold <Double> Read-write Rate limit threshold for Non-Existant domain (NXDOMAIN) responses generated from Citrix ADC. Once the threshold is breached , DNS queries leading to NXDOMAIN response will be dropped. This threshold will not be applied for NXDOMAIN responses got from the backend. The threshold will be applied per packet engine and per second.
builtin <String[]> Read-only Flag to determine if dns param is built-in or not.

Possible values = MODIFIABLE, DELETABLE, IMMUTABLE, PARTITION_ALL
feature <String> Read-only The feature to be checked while applying this config.
nxdomainthresholdcrossed <Double> Read-only Number of times requests has been dropped as number of DNS queries leading to NXDOMAIN response has crossed the threshold.

Operations

(click to see Properties )

  • UPDATE
  • UNSET
  • GET (ALL)

Some options that you can use for each operations:

  • Getting warnings in response: NITRO allows you to get warnings in an operation by specifying the 'warning' query parameter as 'yes'. For example, to get warnings while connecting to the NetScaler appliance, the URL is as follows:

    http:// <netscaler-ip-address> /nitro/v1/config/login?warning=yes

    If any, the warnings are displayed in the response payload with the HTTP code '209 X-NITRO-WARNING'.

  • Authenticated access for individual NITRO operations: NITRO allows you to logon to the NetScaler appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,

    To do this, you must specify the username and password in the request header of the NITRO request as follows:

    X-NITRO-USER: <username>

    X-NITRO-PASS: <password>

    Note: In such cases, make sure that the request header DOES not include the following:

    Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

*Note: * Mandatory parameters are marked in red and placeholder content is marked in green

update

URL: http:// <netscaler-ip-address> /nitro/v1/config/dnsparameter HTTP Method: PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"dnsparameter":{
"retries":<Double_value>,
"minttl":<Double_value>,
"maxttl":<Double_value>,
"cacherecords":<String_value>,
"namelookuppriority":<String_value>,
"recursion":<String_value>,
"resolutionorder":<String_value>,
"dnssec":<String_value>,
"maxpipeline":<Double_value>,
"dnsrootreferral":<String_value>,
"dns64timeout":<Double_value>,
"ecsmaxsubnets":<Double_value>,
"maxnegcachettl":<Double_value>,
"cachehitbypass":<String_value>,
"maxcachesize":<Double_value>,
"maxnegativecachesize":<Double_value>,
"cachenoexpire":<String_value>,
"splitpktqueryprocessing":<String_value>,
"cacheecszeroprefix":<String_value>,
"maxudppacketsize":<Double_value>,
"nxdomainratelimitthreshold":<Double_value>
}}

<!--NeedCopy-->

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

unset

URL: http:// <netscaler-ip-address> /nitro/v1/config/dnsparameter? action=unset HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"dnsparameter":{
"retries":true,
"minttl":true,
"maxttl":true,
"cacherecords":true,
"namelookuppriority":true,
"recursion":true,
"resolutionorder":true,
"dnssec":true,
"maxpipeline":true,
"dnsrootreferral":true,
"dns64timeout":true,
"ecsmaxsubnets":true,
"maxnegcachettl":true,
"cachehitbypass":true,
"maxcachesize":true,
"maxnegativecachesize":true,
"cachenoexpire":true,
"splitpktqueryprocessing":true,
"cacheecszeroprefix":true,
"maxudppacketsize":true,
"nxdomainratelimitthreshold":true
}}

<!--NeedCopy-->

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

get (all)

URL: http:// <netscaler-ip-address> /nitro/v1/config/dnsparameter HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Accept:application/json

Response: HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Header:

Content-Type:application/json

Response Payload:

{ "dnsparameter": [ {
"retries":<Double_value>,
"minttl":<Double_value>,
"maxttl":<Double_value>,
"namelookuppriority":<String_value>,
"cacherecords":<String_value>,
"recursion":<String_value>,
"resolutionorder":<String_value>,
"dnssec":<String_value>,
"maxpipeline":<Double_value>,
"dnsrootreferral":<String_value>,
"dns64timeout":<Double_value>,
"ecsmaxsubnets":<Double_value>,
"maxnegcachettl":<Double_value>,
"cachehitbypass":<String_value>,
"maxcachesize":<Double_value>,
"maxnegativecachesize":<Double_value>,
"cachenoexpire":<String_value>,
"splitpktqueryprocessing":<String_value>,
"cacheecszeroprefix":<String_value>,
"maxudppacketsize":<Double_value>,
"builtin":<String[]_value>,
"feature":<String_value>,
"nxdomainratelimitthreshold":<Double_value>,
"nxdomainthresholdcrossed":<Double_value>
}]}

<!--NeedCopy-->
dnsparameter