DNS Zones on Domains: dns Utility

The dns utility is used to manage DNS zones on domains and domain aliases through CLI. By using this utility, you can perform the following tasks:

Usage

dns <command> [<domain_name>|<domain_alias>] [
<option_1> [<param>]
[<option_2> [<param>]]
… [<option_N> [<param>]]
]

Example

The following command removes all pre-existing resource records from the DNS zone on the domain example.com and adds the following two records to the DNS zone:

Commands

Command

Parameter

Description

Example

--add or -a

<domain_name>|<domain_alias>

Àdds a resource record to a domain's DNS zone.

If a record already exists, the command returns code 2.

To add new MX resource record mail3.example.com to the DNS zone on the domain example.com and specify mail exchanger mail.example.com for the record:

# ./dns --add example.com -mx mail3 -mailexchanger mail.example.com

or

# ./dns -a example.com -mx mail3 -mailexchanger mail.example.com

--set or -s

<domain_name>|<domain_alias>

Adds specified resource records to and removes all pre-existing resource records from a domain's DNS zone.

Requires the -list option.

To add the following two resource records to the DNS zone of domain example.com, while removing all pre-existing resource records from the DNS zone:

  • new MX resource record mail3.example.com specifying domain name mail.example.com as the mail exchanger for the record, and setting the mail exchanger's priority to 15:
  • new NS resource record ns2.example.com setting domain ns.example.com as the name server:

    # ./dns --set example.com -list "MX,mail3,example.com,15;NS,ns2,ns.example.com"

or

# ./dns -s example.com -list "MX,mail3,example.com,15;NS,ns2,ns.example.com"

--del or -d

<domain_name>|<domain_alias>

Deletes a resource record from a domain's DNS zone.

To delete an existing MX resource record mail3.example.com (for which mail exchanger mail.example.com is specified) from the DNS zone for the domain example.com:

# ./dns --del example.com -mx mail3 -mailexchanger mail.example.com

or

# ./dns -d example.com -mx mail3 -mailexchanger mail.example.com

--del-all or -da

<domain_name>|<domain_alias>

Deletes all resource records from a domain's DNS zone.

To delete all existing resource records from the DNS zone for the domain example.com:

# ./dns --del-all example.com

or

# ./dns -da example.com

--reset or -res

<domain_name>|<domain_alias>

Restores the default resource records for a domain's zone based on the Plesk server DNS zone template.

Requires the -ip option.

To restore the default resource records for a domain's zone based on the Plesk server DNS zone template:

# ./dns --reset example.com -ip 192.0.2.9

or

# ./dns -res example.com -ip 192.0.2.9

--on

<domain_name>|<domain_alias>

Enables DNS service on a domain or domain alias.

To enable DNS service on the domain example.com:

# ./dns --on example.com

--off

<domain_name>|<domain_alias>

Disables DNS service on a domain or domain alias.

To disable DNS service on the domain example.com:

# ./dns --off example.com

--set-master

<domain_name>|<domain_alias>

Sets the Plesk name server as the master server for domain's or domain alias' DNS zone.

To set the Plesk name server as the master server for DNS zone on the domain example.com:

# ./dns --set-master example.com

--set-slave

<domain_name>|<domain_alias>

Sets the Plesk name server as the slave server for domain's or domain alias' DNS zone.

To set the Plesk name server as the slave server for DNS zone on the domain example.com:

# ./dns --set-slave example.com

--update-soa

<domain_name>|<domain_alias>

Updates the SOA record settings for domain's or domain alias' DNS zone.

To set the TTL value for the SOA record of the DNS zone on the domain example.com to 5 hours:

# ./dns --update-soa example.com -soa-ttl 5H

--info

<domain_name>|<domain_alias>

Displays the list of resource records for a domain's or domain alias' DNS zone.

To view the list of resource records in the DNS zone for the domain example.com:

# ./dns --info example.com

--help or -h

 

Displays help on the use of the utility.

To view help on the use of the dns utility:

# ./dns --help

or

# ./dns –h

Options

Option

Parameter

Description

Example

-a

<subdomain_name>

Specifies the A type resource record for a subdomain in a domain's DNS zone.

Used with the --add and --del commands only.

Requires the -ip option.

To add new A resource record sample.example.com specifying IP address 192.0.2.78 for the subdomain to the DNS zone on the domain example.com:

# ./dns -a example.com -a sample -ip 192.0.2.78

-ip

<IP_address>

Specifies an IP address for creating an A type resource record in a domain's DNS zone.

Used with the --add and --del commands only.

-ns

<subdomain_name>

Specifies the NS type resource record in a domain's DNS zone.

Used with the --add and --del commands only.

Requires the -nameserver option.

To add a new NS resource record ns2.example.com specifying domain name example.net as the name server to the DNS zone on domain name example.com:

# ./dns -a example.com -ns ns2 -nameserver example.net

-nameserver

<domain_name>

Specifies the name of a nameserver for creating an NS type resource record in a domain's DNS zone.

-mx

<subdomain_name>

Specifies the MX type resource record in a domain's DNS zone.

Used with the --add and --del commands only.

Requires the -mailexchanger option.

To add new MX resource record mail3.example.com specifying domain name mail.example.com as the mail exchanger for the record, and setting the mail exchanger's priority to the DNS zone on the domain example.com to 15:

# ./dns -a example.com -mx mail3 -mailexchanger mail.example.com -priority 15

-mailexchanger

<domain_name>

Specifies the name of a mail exchanger for creating an MX type DNS record in a domain's DNS zone.

-priority

<number>

Specifies the mail exchanger priority for creating an MX type DNS record in a domain's DNS zone.

-cname

<subdomain_name>

Specifies the CNAME type resource record in a domain's DNS zone.

Used with the --add and --del commands only.

Requires the -canonical option.

To add new CNAME type resource record sample.example.com for a canonical name example.org to the DNS zone on domain example.com:

# ./dns --add example.com -cname sample -canonical example.org

-canonical

<domain_name>

Specifies a canonical name for creating a CNAME type DNS record in a domain's DNS zone.

 

-ptr

<subdomain_name>

Specifies the PTR type resource record in a domain's DNS zone.

Used with the --add and --del commands only.

Requires the -subnet option.

To add new PTR type DNS record 192.0.2.1/16 for the subdomain sample to the DNS zone for the domain example.com:

# ./dns -a example.com -ptr sample -subnet 192.0.2.1/16

-subnet

<IP_address>|<subnet_mask>

Specifies an IP address and a subnet mask for creating a PTR type DNS record in a domain's DNS zone.

-txt

<text>

Specifies the TXT type resource record in a domain's DNS zone.

Used with the --add and --del commands only.

Requires the -domain option if the record is created for a subdomain of a domain.

To specify the TXT type DNS record "This record is used to implement the Senders Policy Framework and DomainKeys specifications" for the subdomain name sample in the DNS zone for the domain example.com:

# ./dns -a example.com -txt "This record is used to implement the Senders Policy Framework and DomainKeys specifications" -domain sample

-domain

<subdomain_name>

Specifies a subdomain name for creating a TXT type resource record in a domain's DNS zone.

Used with the --add and --del commands only.

-www

true|false

Enables/Disables support of the www-prefixed alias for a canonical domain name in a domain's DNS zone.

Used with the --reset command only.

Creates/Deletes a CNAME type resource record in the www.<domain_name> form.

To enable support of the www-prefixed alias www.example.com (pointing to domain example.com) in the DNS zone on the domain example.com:

# ./dns -res example.com -www true

-primary

<IP_address>

Adds an IP address of a primary DNS server for a domain's DNS zone.

Used with the --add --del and --reset commands only.

To add the IP address 192.0.2.78 of the primary DNS server for DNS zone on the domain example.com:

# ./dns -a example.com -primary 192.0.2.78

-soa-ttl

<number>[S|M|H|D|W]

Sets the TTL value for the SOA record of a domain' or domain alias' DNS zone.

Used with the--update-soa command only.

To set the TTL value to 5 hours, the Refresh value to 4 hours, the Retry value to 10 seconds, the Expire value to 2 weeks, and the Minimum value to 2 days for the SOA record in the DNS zone on the domain example.com:

# ./dns --update-soa example.com -soa-ttl 5H -soa-refresh 4H -soa-retry 10S -soa-expire 2W -soa-minimum 2D

-soa-refresh

<number>[S|M|H|D|W]

Sets the Refresh value for the SOA record of a domain' or domain alias' DNS zone.

Used with the --update-soa command only.

-soa-retry

<number>[S|M|H|D|W]

Sets the Retry value for the SOA record of a domain' or domain alias' DNS zone.

Used with the --update-soa command only.

-soa-expire

<number>[S|M|H|D|W]

Sets the Expire value for the SOA record of a domain' or domain alias' DNS zone.

Used with the --update-soa command only.

-soa-minimum

<number>[S|M|H|D|W]

Sets the Minimum value for the SOA record of a domain' or domain alias' DNS zone.

Used with the --update-soa command only.

-list

"<record_1>;<record_2>;...<record_N>"

where the <record> parameter is composed according to the following rules:

  • for MX record:
    MX,<subdomain_name>,<mail_exchanger_name>,<priority>
  • for NS record:
    NS,<subdomain_name>,<name_server_name>
  • for A record:
    A,<subdomain_name>,<IP_address>
  • for PTR record:
    PTR,<IP_address/subnet_mask>,<subdomain_name>
  • for CNAME record:
    CNAME,<subdomain_name>,<canonical_domain_name>
  • for TXT record:
    TXT,<subdomain_name>,<text>

Consult descriptions of the options in this table for adding resource records of respective types individually.

Specifies resource records to be included in a domain's DNS zone.

Used with the --update-soa command only.

To add the following two resource records to the DNS zone of the domain example.com, while removing all pre-existing resource records from the DNS zone:

  • new MX resource record mail3.example.com specifying domain name mail.example.com as the mail exchanger for the record, and setting the mail exchanger's priority to 15:
  • new NS resource record ns2.example.com setting domain ns.example.com as the name server:

    # ./dns -s example.com -list "MX,mail3,mail.example.com,15;NS,ns2,ns.example.com"