In this article, you will learn:
- How WEDOS Zone Whitelabel works
- How to integrate WEDOS Zone with your system
- How services are billed
- Common issues
- Frequently asked questions
WEDOS Zone Whitelabel
Whitelabel allows you to use your own interface and DNS while also using our infrastructure to handle the actual traffic. This requires you to use our DNS servers as secondary to your authoritative ones. Such a setup enables you to manage domain DNS in our system as well as yours, and for them to communicate via AXFR. You or your users still manage everything in your system, and the changes are reflected according to the TTL set in the SOA record.
Integrating WEDOS Zone
Before you start integrating WEDOS Zone, make sure you meet the following prerequisites:
- You have set up a WEDOS credit account according to this guide. You do not need to charge credit to the account, but it needs to be active.
- You have allowed AXFR transfers from your primary DNS servers for the IPv4 range
46.28.104.64/27
.
To get the maximum out of your WEDOS Zone whitelabel, do the following:
- Set up and test WEDOS API
- Automate creating secondary DNS zone files on WEDOS NS
- Update DNS server settings
1. WEDOS API Setup
WEDOS API, WAPI for short, lets you manage select parts of our system from your own application. To activate WAPI from the WEDOS Global admin panel and include it in your application, follow the guide WAPI – Global.
2. Automate WEDOS DNS
Once WAPI is correctly configured, move on to setting up the dns-domain-add
command to automate creating secondary DNS zone files on our servers. Use the following JSON template:
{
"request": {
"user": "your-login-email@adress.tld",
"auth": "generated-authentication-string",
"command": "dns-domain-add",
"clTRID": "your-own-id",
"data": {
"name": "domainname.tld",
"type": "secondary",
"primary_ip": "authoritative.server.ipv4.address"
}
}
}
For more information for the dns-domain-add
command, read the WAPI – DNS article.
3. Update DNS Servers
When you’re able to reliably create secondary DNS zone files via WAPI, contact us ⧉ to double-check from our side and send further instructions. We will get back to you with a list of new IP addresses for you to configure on your servers. For example, if your server ns.domain.tld
uses the address 46.28.104.67
, you will need to change it to a different IP address, which we will tell you.
Once the changes propagate, your DNS will benefit from our world-wide server network.
Example
Here is an example PHP script for adding secondary zone files for domains loaded from a domains.txt
file.
<?php
// Set CEST timezone for timestamp verification
date_default_timezone_set('Europe/Prague');
// WEDOS WAPI credentials and settings
$wapiUrl = 'https://api.wedos.com/wapi/json';
$wapiLogin = 'your_wapi_login';
$wapiPassword = 'your_wapi_password';
// Function to make WAPI requests
function wapiRequest($command, $data) {
global $wapiUrl, $wapiLogin, $wapiPassword;
// Construct the authorization string
$dateHour = date('H', time());
$auth = sha1($wapiLogin . sha1($wapiPassword) . $dateHour);
// Construct the request payload
$payload = array(
'request' => array(
'user' => $wapiLogin,
'auth' => $auth,
'command' => $command,
'data' => $data,
'clTRID' => 'custom-client-identifier-' . date('YmdHis'),
)
);
// Initialize cURL session
$ch = curl_init($wapiUrl);
// Set cURL options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('request' => json_encode($payload))));
// Execute cURL session
$response = curl_exec($ch);
// Close cURL session
curl_close($ch);
return json_decode($response, true);
}
// Read domains from the TXT file
$domains = file('domains.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
// Process each domain for secondary DNS creation
foreach ($domains as $domain) {
// Placeholder for secondary DNS settings according to WAPI documentation
$secondaryDnsSettings = array(
'type' => 'secondary',
'primary_ip' => 'authoritative_dns_server_ip',
);
$response = wapiRequest('dns-domain-add', array_merge(array('name' => $domain), $secondaryDnsSettings));
// Handle the response
if (isset($response['response']) && $response['response']['code'] == '1000') {
echo 'Successfully added secondary DNS for domain: ' . $domain . "\n";
} else {
echo 'Failed to add secondary DNS for domain: ' . $domain . '. Response: ' . json_encode($response) . "\n";
}
}
?>
Billing
Billing is handled by WEDOS credit account in a special mode:
- Every transaction is recorded in the system.
- On the 1st day of each month, the previous month’s transactions are tallied and invoiced.
- The invoice is due on the 15th of that month.
Common issues
Common issues with WEDOS Zone Whitelabel include:
AXFR communication error
Problem: The AXFR transfer does not take place, giving an axfr communication error: not doing AXFR of an NSEC3 narrow zone.
Cause: We have encountered this issue on servers using PowerDNS with DNSSEC and nsec3 semantics enabled.
Solution: If you have DNSSEC enabled within your PowerDNS server, you may also need to disable nsec3 semantics to ensure the transfer is properly allowed and accepted. If you’re using Cpanel, the following command performs this for a single domain (domain.tld
).
/usr/local/cpanel/bin/whmapi1 unset_nsec3_for_domains domain=domain.tld
FAQ
Is there a trial period for Whitelabel?
Yes, consult your sales representative during the service negotiation for details.
What features does your DNS support?
We support IPv4/IPv6, DNSSEC, and the ALIAS/ANAME record.
Where are your servers located?
You can check the current list of locations on the WEDOS Global product page ⧉.
How do I revert to my own solution?
Change your DNS server IPs back to the state before you switched to ours.