Personal tools

From HEXONET Wiki

Jump to: navigation, search
(6 intermediate revisions by one user not shown)
Line 1: Line 1:
{{Sidebar}}__NOTOC__
+
{{Sidebar}}
=DNS API: Zone Commands= 
+
<div style="font-size: 150%;">'''DNS API'''</div><br/>
 +
<p>
  
HEXONET's DNS service platform was designed to dramatically simplify the management of DNS. [[API:Nameservers | More information. ]]
+
{{Warnbox|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.}}
  
* [[How to use HEXONET's DNS with your domains]]
+
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.
*[[DNSSEC| DNSSEC API Command Extensions]]
+
  
 +
To learn more about Premium DNS, go to [[Premium DNS|Premium DNS]].
 +
 +
To learn more about DNS management via the Control Panel, go to [[DNS in Control Panel]].
 +
 +
= 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 =
 +
 +
{| class="wikitable" style="width:60% !important"
 +
|-
 +
! scope="col" style="text-align:left; border:1px solid darkgray" | Premium DNS Plan
 +
! scope="col" style="text-align:left; border:1px solid darkgray" | API Class
 +
! scope="col" style="text-align:left; border:1px solid darkgray" | Maximum monthly query limit
 +
|-
 +
| style="text-align:left" | Premium 2M || 2M || 2 million queries
 +
|-
 +
| style="text-align:left" | Premium 5M || 5M || 5 million queries
 +
|-
 +
| style="text-align:left" | Premium 15M || 15M || 15 million queries
 +
|-
 +
| style="text-align:left" | Premium 30M || 30M || 30 million queries
 +
|-
 +
| style="text-align:left" | Premium 50M || 50M || 50 million queries
 +
|-
 +
| style="text-align:left" | Premium 75M || 75M || 75 million queries
 +
|-
 +
| style="text-align:left" | Premium 100M || 100M || 100 million queries
 +
|-
 +
| style="text-align:left" | Enterprise || ENTERPRISE || Unlimited queries
 +
|}
 +
 +
 +
= DNS Use Case =
 +
=== Create new DNS zone with Basic DNS ===
 +
You can create Basic DNS with the following command
 +
 +
<pre>
 +
COMMAND = CreateDNSZone
 +
DNSZONE = (DNS zone name)
 +
</pre>
 +
 +
=== Get a list of all Basic DNS zones ===
 +
You can query a list of all Basic DNS zone with the following command
 +
 +
<pre>
 +
COMMAND = QueryDNSZoneList
 +
</pre>
 +
 +
=== Create new DNS zone with Premium DNS ===
 +
You can create Premium DNS with the following command
 +
 +
<pre>
 +
COMMAND = CreatePremiumDNS
 +
CLASS = (Premium DNS API class)
 +
DNSZONE = (DNS zone name) 
 +
INTERNALDNS = 1
 +
</pre>
 +
 +
=== Get a list of all Premium DNS zones ===
 +
You can query a list of all Premium DNS zone with the following command
 +
 +
<pre>
 +
COMMAND = QueryDNSZoneList
 +
PROPERTIES = PREMIUMDNS
 +
PREMIUMDNSCLASS = *
 +
</pre>
 +
 +
=== Get information on Premium DNS zone or Basic DNS zone ===
 +
You can query all information regarding a DNS zone with the following command
 +
 +
<pre>
 +
COMMAND = StatusDNSZone
 +
DNSZONE = (DNS zone name)
 +
</pre>
 +
 +
=== Get Object ID for Premium DNS zone ===
 +
You can get the object ID for a Premium DNS zone with the following command
 +
 +
<pre>
 +
[COMMAND]
 +
COMMAND = StatusDNSZone
 +
DNSZONE = (DNS zone name)
 +
EOF
 +
 +
[RESPONSE]
 +
PROPERTY[PREMIUMDNS][0] = (Premium DNS object ID)
 +
EOF
 +
</pre>
 +
 +
=== Change renewal mode of Premium DNS zone ===
 +
You can enable or disable auto renew for a Premium DNS zone with the following command
 +
 +
<pre>
 +
COMMAND = SetPremiumDNSRenewalMode
 +
OBJECTID = (Premium DNS Object ID)
 +
RENEWALMODE = AUTOEXPIRE | AUTORENEW
 +
</pre>
 +
 +
=== Renew Premium DNS zone ===
 +
You can explicitly renew your Premium DNS zone with the following command
 +
 +
<pre>
 +
COMMAND = PayPremiumDNSRenewal
 +
OBJECTID = (Premium DNS Object ID)
 +
PERIOD = 1Y
 +
</pre>
 +
 +
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
 +
 +
<pre>
 +
COMMAND = CreatePremiumDNS
 +
DNSZONE = (DNS zone name)
 +
CLASS = (Premium DNS API class)
 +
</pre>
 +
 +
=== Upgrade to a higher tiered Premium DNS plan ===
 +
You can upgrade Premium DNS zone to another Premium DNS plan with the following command
 +
 +
<pre>
 +
COMMAND = UpgradePremiumDNS
 +
CLASS = (Premium DNS API class)
 +
OBJECTID = (Premium DNS object ID)
 +
</pre>
 +
 +
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
 +
 +
<pre>
 +
COMMAND = UpdateDNSZone
 +
DNSZONE = (DNS zone name)
 +
ADDRR0 = (add new record)
 +
DELRR0 = (remove record)
 +
</pre>
 +
 +
=== Enable DNSSEC for Premium DNS zone ===
 +
 +
{{Warnbox|This feature is available only for Premium DNS zone}}
 +
 +
You can enable DNSSEC for Premium DNS zone with the following command
 +
 +
<pre>
 +
COMMAND = UpdateDNSZone
 +
DNSSEC-MODE = AUTO
 +
DNSZONE = (DNS zone name)
 +
</pre>
 +
 +
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
 +
 +
<pre>
 +
[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
 +
</pre>
 +
 +
To input the records into the domain, execute the following command
 +
 +
<pre>
 +
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)
 +
</pre>
 +
 +
=== Disable DNSSEC for Premium DNS zone ===
 +
 +
{{Warnbox|This feature is available only for Premium DNS zone}}
 +
 +
You can disable DNSSEC for Premium DNS zone with the following command
 +
 +
<pre>
 +
COMMAND = UpdateDNSZone
 +
DNSSEC-MODE = DISABLED
 +
DNSZONE = (DNS zone name)
 +
</pre>
 +
 +
=== Get DNS query log for Premium DNS zone ===
 +
 +
{{Warnbox|This feature is available only for Premium DNS zone}}
 +
 +
You can get the query log for a Premium DNS zone with the following command
 +
 +
<pre>
 +
COMMAND = QueryDNSZoneStats
 +
DNSZONE = (DNS zone name)
 +
PERIODICITY = HOURLY | DAILY | MONTHLY
 +
</pre>
 +
 +
The command will return the date, error count and response count for each query, given the selected time frame.
 +
 +
<pre>
 +
[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
 +
</pre>
 +
 +
= Zone Commands =
 +
HEXONET's DNS service platform was designed to dramatically simplify the management of DNS. [[API:Nameservers|More Information]]
 +
 +
* [[How to use HEXONET's DNS with your domains]]
 +
* [[DNSSEC| DNSSEC API Command Extensions]]
 +
* [[xDNS| HEXONET's extended DNS Solutions]]
  
==DNS API: Document Downloads==
+
= Document Downloads =
Download: {{Template:Pdf|DNSZONE_API_Reference.pdf| DNS API}}<br>
+
Download: {{Template:Pdf|DNSZONE_API_Reference.pdf| DNS API}} (outdated)
 
Download: {{Template:Pdf|howTo_Nameserver_en.pdf| Virtual Nameserver Howto}}
 
Download: {{Template:Pdf|howTo_Nameserver_en.pdf| Virtual Nameserver Howto}}

Revision as of 18:35, 21 December 2018

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