From HEXONET Wiki
Line 1: | Line 1: | ||
− | {{Sidebar}} | + | {{Sidebar}} |
− | =DNS API | + | <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 | + | {{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.}} |
+ | |||
+ | 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|Premium DNS]] | ||
+ | |||
+ | = DNS Service Restrictions = | ||
+ | === Basic DNS === | ||
+ | Basic DNS is available only for internal DNS zone, whereby the domain must be registered in the HEXONET system. | ||
+ | |||
+ | 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 at 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 DNS zone 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 Premium DNS zone to another 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 for DNS zone === | ||
+ | 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 or disable DNSSEC for Premium DNS zone === | ||
+ | |||
+ | {{Warnbox|This feature is available only for Premium DNS zone}} | ||
+ | |||
+ | You can enable or disable DNSSEC for Premium DNS zone with the following command | ||
+ | |||
+ | <pre> | ||
+ | COMMAND = UpdateDNSZone | ||
+ | DNSSEC-MODE = AUTO | 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]] | * [[How to use HEXONET's DNS with your domains]] | ||
Line 8: | Line 204: | ||
* [[xDNS| HEXONET's extended DNS Solutions]] | * [[xDNS| HEXONET's extended DNS Solutions]] | ||
− | = | + | = Document Downloads = |
− | Download: {{Template:Pdf|DNSZONE_API_Reference.pdf| DNS API}} | + | 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:38, 7 October 2018
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
DNS Service Restrictions
Basic DNS
Basic DNS is available only for internal DNS zone, whereby the domain must be registered in the HEXONET system.
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 at 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 DNS zone 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 Premium DNS zone to another 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 for DNS zone
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 or disable DNSSEC for Premium DNS zone
You can enable or disable DNSSEC for Premium DNS zone with the following command
COMMAND = UpdateDNSZone DNSSEC-MODE = AUTO | DISABLED DNSZONE = (DNS zone name)
Get DNS query log 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
- How to use HEXONET's DNS with your domains
- DNSSEC API Command Extensions
- HEXONET's extended DNS Solutions
Document Downloads
Download: DNS API (outdated)
Download: Virtual Nameserver Howto