Personal tools

From HEXONET Wiki

Revision as of 18:35, 21 December 2018 by WikiAdmin (Talk | contribs)

Jump to: navigation, search
DNS API

The DNS API has been extended to support new Premium DNS service starting on October 15th, 2018. Current DNS zone system will continue to work unchanged and unaffected until October 15th, 2018. Please make sure to read accordingly to see how the new changes will affect your DNS zone system.


The following are information relating to HEXONET's DNS Service, including how to create and manage DNS zone, using HEXONET's DNS with your domain and DNSSEC support.

To learn more about Premium DNS, go to Premium DNS.

To learn more about DNS management via the Control Panel, go to DNS in Control Panel.

Contents

DNS Service Restrictions

Basic DNS

Basic DNS is available only for internal DNS zone, whereby the domain must be registered with HEXONET.

However, Basic DNS is not available for subdomains even if the parent domain is registered with HEXONET. To create a DNS zone for subdomains, it must be created with Premium DNS.

Premium DNS

Premium DNS is available for any domain names, regardless if it is registered with HEXONET or not.

Premium DNS Classes

Premium DNS Plan API Class Maximum monthly query limit
Premium 2M 2M 2 million queries
Premium 5M 5M 5 million queries
Premium 15M 15M 15 million queries
Premium 30M 30M 30 million queries
Premium 50M 50M 50 million queries
Premium 75M 75M 75 million queries
Premium 100M 100M 100 million queries
Enterprise ENTERPRISE Unlimited queries


DNS Use Case

Create new DNS zone with Basic DNS

You can create Basic DNS with the following command

COMMAND = CreateDNSZone
DNSZONE = (DNS zone name)

Get a list of all Basic DNS zones

You can query a list of all Basic DNS zone with the following command

COMMAND = QueryDNSZoneList

Create new DNS zone with Premium DNS

You can create Premium DNS with the following command

COMMAND = CreatePremiumDNS
CLASS = (Premium DNS API class)
DNSZONE = (DNS zone name)   
INTERNALDNS = 1

Get a list of all Premium DNS zones

You can query a list of all Premium DNS zone with the following command

COMMAND = QueryDNSZoneList
PROPERTIES = PREMIUMDNS
PREMIUMDNSCLASS = *

Get information on Premium DNS zone or Basic DNS zone

You can query all information regarding a DNS zone with the following command

COMMAND = StatusDNSZone
DNSZONE = (DNS zone name)

Get Object ID for Premium DNS zone

You can get the object ID for a Premium DNS zone with the following command

[COMMAND]
COMMAND = StatusDNSZone
DNSZONE = (DNS zone name)
EOF

[RESPONSE]
PROPERTY[PREMIUMDNS][0] = (Premium DNS object ID)
EOF

Change renewal mode of Premium DNS zone

You can enable or disable auto renew for a Premium DNS zone with the following command

COMMAND = SetPremiumDNSRenewalMode
OBJECTID = (Premium DNS Object ID)
RENEWALMODE = AUTOEXPIRE | AUTORENEW

Renew Premium DNS zone

You can explicitly renew your Premium DNS zone with the following command

COMMAND = PayPremiumDNSRenewal
OBJECTID = (Premium DNS Object ID)
PERIOD = 1Y

Note, the PaidUntilDate will be incremented by one year to reflect the successful renewal status. There will be no changes to the ExpirationDate. On the day it expires, the system will automatically renew the zone and update the ExpirationDate accordingly.

Upgrade from Basic DNS to Premium DNS

You can upgrade from Basic DNS to Premium DNS with the following command

COMMAND = CreatePremiumDNS
DNSZONE = (DNS zone name)
CLASS = (Premium DNS API class)

Upgrade to a higher tiered Premium DNS plan

You can upgrade Premium DNS zone to another Premium DNS plan with the following command

COMMAND = UpgradePremiumDNS
CLASS = (Premium DNS API class)
OBJECTID = (Premium DNS object ID)

Note, it is not possible to downgrade Premium DNS zone to a lower tiered plan while the current plan is still ongoing such as changing from a Premium 15M plan to a Premium 5M plan.

Add and manage records

You can add and manage records for Basic DNS zone or Premium DNS zone with the following command

COMMAND = UpdateDNSZone
DNSZONE = (DNS zone name)
ADDRR0 = (add new record)
DELRR0 = (remove record)

Enable DNSSEC for Premium DNS zone

This feature is available only for Premium DNS zone


You can enable DNSSEC for Premium DNS zone with the following command

COMMAND = UpdateDNSZone
DNSSEC-MODE = AUTO
DNSZONE = (DNS zone name)

Once enabled, you must input the DS and KEY records into the respective domain. You can get the DS and KEY record information by executing the following command

[COMMAND]
COMMAND = StatusDNSZone
DNSZONE = (DNS zone name)
EOF
 
[RESPONSE]
CODE = 200
DESCRIPTION = Command completed successfully
PROPERTY[DNSSEC-DS-SHA-1][0] = 20407 8 1 040772816032dc2a675d7f74725d747e47c45185
PROPERTY[DNSSEC-DS-SHA-256][0] = 20407 8 2 a1dd1c5c5d78cd71477472ec5a3eeeaee65ecbc461b63ecd4630fd44d9492028
PROPERTY[DNSSEC-KEY][0] = 257 3 8 AwEAAbfEdVJVqSuGwU8XEAtUWtODHv2CNPAwDKATFs0V17O2/Qe+vSUPadWNISqhSr7wAVrNxdNbOPxzw/iF8xN84GN3hArecKhX/+Yb6fSsucqkwd8fuloU+jTBAl4dq7LRM5DbqdLrN6MUyq1p2h86lP9pXjEaeTYtZ0i8zeV7IyG4d/q+FTNG+1Daw90YIvyFdek1HnNd9pXRSeYhdB8GyxZAGPPID0NBk5/L/nY3mCTi7ezQ7UsdVuB/W53sjlSgjgfFnxsqanN0XK87liuZ8fSMi84CPRTqoYglIBUVxHtTlZIN7Xg72g5HsNzX3EEQfcvkB4h62CcBKX3AIron3zc=
PROPERTY[DNSSEC-KEY-TAG][0] = 20407
PROPERTY[DNSSEC-MODE][0] = AUTO
...
EOF

To input the records into the domain, execute the following command

COMMAND = ModifyDomain
ADDSECDNS-DS0 = (DNSSEC-DS from StatusDNSZone, you can choose either SHA-1 or SHA-256)
ADDSECDNS-KEY0 = (DNSSEC-KEY from StatusDNSZone)
DOMAIN = (domain name)

Disable DNSSEC for Premium DNS zone

This feature is available only for Premium DNS zone


You can disable DNSSEC for Premium DNS zone with the following command

COMMAND = UpdateDNSZone
DNSSEC-MODE = DISABLED
DNSZONE = (DNS zone name)

Get DNS query log for Premium DNS zone

This feature is available only for Premium DNS zone


You can get the query log for a Premium DNS zone with the following command

COMMAND = QueryDNSZoneStats
DNSZONE = (DNS zone name)
PERIODICITY = HOURLY | DAILY | MONTHLY

The command will return the date, error count and response count for each query, given the selected time frame.

[RESPONSE]
CODE = 200
DESCRIPTION = Command completed successfully
PROPERTY[DATE][0] = 2018-09-02
PROPERTY[DATE][1] = 2018-09-03
PROPERTY[DATE][2] = 2018-09-04
PROPERTY[DATE][3] = 2018-09-05
PROPERTY[DATE][4] = 2018-09-06
PROPERTY[ERROR-COUNT][0] = 15
PROPERTY[ERROR-COUNT][1] = 9
PROPERTY[ERROR-COUNT][2] = 7
PROPERTY[ERROR-COUNT][3] = 5
PROPERTY[ERROR-COUNT][4] = 19
PROPERTY[RESPONSE-COUNT][0] = 38
PROPERTY[RESPONSE-COUNT][1] = 20
PROPERTY[RESPONSE-COUNT][2] = 14
PROPERTY[RESPONSE-COUNT][3] = 16
PROPERTY[RESPONSE-COUNT][4] = 42
EOF

Zone Commands

HEXONET's DNS service platform was designed to dramatically simplify the management of DNS. More Information

Document Downloads

Download: DNS API (outdated)

Download: Virtual Nameserver Howto