# WDNS DNS Management Addon

https://docs.wisecp.com/es/wdns-dns-management-addon

WDNS lets you manage the DNS zones of domain names from inside WISECP. You create the zone and the customer edits their own records from their own panel. The quota and the permitted record types stay within the package you defined.

## Reaching the Screen

From the menu follow **Tools** → **Addons**, then click the **WDNS** row in the list. Address: `{admin}/tools/addons/WDNS`

> **Premium Feature**
> 
> This module is included with the **Business Plan** at no additional cost. On other WISECP license plans you can add it to your existing license.

If the addon is off, an **Enable** button appears in the list. Enabling installs the required tables. Without a valid WDNS licence the screen opens, but operations that write to the DNS server do not run.

## What Is on the Screen

The screen is divided into nine tabs. Each tab answers a separate question.

- **Dashboard**: Zone count, record count and recent activity. This is the first place to look when a problem is reported.
- **DNS Servers**: The servers the zones actually live on. Each row is one provider connection and chooses its own driver.
- **Packages**: The rules that say what a customer is entitled to: how many zones, which record types, how many backups.
- **Record Sets**: Frequently used groups of records. Applied to a new zone in one click; variables fill in the domain name.
- **Zones**: The inventory itself. You create zones, edit their records, change the owner and move them between servers.
- **Reverse DNS**: Which name an IP address resolves to (PTR). You define the delegation, the customer manages the address.
- **Blocked Strings**: Wording you do not want appearing in customer records. Selected customers can be exempted.
- **Backups**: Point-in-time copies of zones. This is where you go back to after a wrong edit.
- **Log**: Who changed what and when. This is where you look when a customer says they did not do it.

### Supported DNS providers

When you add a server you choose a driver. The driver decides how WISECP talks to that provider.

- **PowerDNS 4.x and 5.x**: PowerDNS running on your own server. The most fully supported provider: DNSSEC, secondary zones, NOTIFY and zone transfer all work.
- **Cloudflare**: Connects with an API token or the older global key. Supports DNSSEC; the provider splits long TXT values itself.
- **AWS Route 53**: Signed with an access key and secret key. Changes are applied as one batch: either all of them pass or none do.
- **Google Cloud DNS**: You paste the whole service account key. The project id is read out of that key.
- **deSEC**: Connects with a token. Every zone is signed automatically; there is no option to turn DNSSEC off.
- **DigitalOcean**: Connects with a personal access token. The SOA record cannot be deleted, only its lifetime changed.
- **Bunny DNS**: Connects with an access key. One of the few providers that can keep a record present but switched off.
- **ClouDNS**: Connects with an id and password. A sub-user id also works. Supports secondary zones and DNSSEC.
- **Openprovider**: Signs in with a username and password and obtains its own token. Supports secondary zones.
- **Rackspace Cloud DNS**: Connects with a username and API key. Changes are processed in a queue, so saving can take a few seconds.
- **cPanel / WHM**: Connects to port 2087 with an API token or password. Creating a zone requires an IP address.
- **InterWorx**: Connects to port 2443 with a NodeWorx API key. Supports secondary zones.
- **Atomia DNS**: Connects with a username and password. Creating a zone requires at least one nameserver.

What a driver supports is shown on the server row. If the provider does not support DNSSEC, the signing option never appears on those zones.

## Before You Configure

- A valid WDNS licence.
- At least one DNS provider account or your own PowerDNS server, and that provider's API credentials.
- At least one package if you are selling to customers. A customer without a package cannot create zones.
- If you sell domain names, the nameservers must point at this DNS server. Otherwise records are written but nobody sees them.

## Settings

### Server fields

Filled in the window that opens from the **Add Server** button on the **DNS Servers** tab.

- **Name**: Required. The name you will see in the list. For you only, never shown to the customer.
- **Driver**: Required. Decides which provider is contacted and changes which fields are asked for.
- **Address**: The provider's API address. Left empty on cloud providers it falls back to their own address; on your own server it is required.
- **API key**: Required. Depending on the provider this is a token, a password or a secret key. It is not shown again after saving.
- **Username**: Appears only for providers that ask for one, and is required when it appears.
- **Nameservers**: The NS records written to new zones. They must match the nameservers you give your customers.
- **Default**: Decides which server new zones are created on. Only one server can be the default.

Before saving, confirm access with the **Test Connection** button. If the test fails, creating a zone will fail too.

### Package fields

- **Package name**: Required. Visible in the customer panel.
- **Zone limit**: The most zones a customer may create. Leave it empty for unlimited; enter **0** and they cannot create any.
- **Record limit**: The most records per zone. The same rule applies: empty is unlimited, 0 is none.
- **Permitted record types**: The types a customer may add. A type left unselected never appears in their panel.
- **Backup limit**: How many backups a customer may keep. When the limit is reached the oldest one is removed.
- **Linked products**: You choose which product, service or domain extension grants the package. The customer gets it automatically on purchase.

### Addon settings

- **Create zones automatically**: Creates the zone as soon as a domain is registered. When off, either you or the customer creates it.
- **Keep zone on cancellation**: Keeps the zone when a service is cancelled. Turn it off and the zone goes with the cancellation.
- **Back up before deleting**: Stores a copy of every deleted zone. A zone deleted by mistake only comes back while this is on.
- **Log retention**: How many days activity records are kept. Enter 0 and they are never removed.

## Setup and Operation

### Adding a server

1. Open the **DNS Servers** tab and click the **Add Server** button.
2. Choose the driver and enter the credentials that provider asks for.
3. Click **Test Connection**; the result appears in the same window.
4. Save once the test passes. The server joins the list and is ready to hold zones.

### Defining a package

1. On the **Packages** tab click the **Add Package** button.
2. Set the limits and the permitted record types.
3. In **Linked products** choose which product grants the package.
4. Save. Customers who own that product can now create zones.

### Creating a zone and editing records

1. On the **Zones** tab click the **Add Zone** button, then choose the domain name and its owner.
2. Save; the zone is created on the selected server and the nameserver records are written.
3. Click the zone in the list. The record list is read live from the provider.
4. Use **Add Record** to enter a new record. Saving writes to the provider immediately; there is no separate publish step.

Records sharing a name and type are grouped into one row. Saving a row replaces every value under that name and type. A value you leave out is removed.

### Bulk replace

1. On the zone page click the **Bulk Replace** button.
2. Enter the text to search for and the text to put in its place.
3. Click **Preview**; the affected records are listed and nothing is written.
4. Once you have checked the list, click **Apply**.

This is the quickest way to change an IP address across every record when a server moves.

### Applying a record set

1. On the **Record Sets** tab click the **Add Set** button.
2. Enter the records. Write `{$domainname}` instead of a domain and the set fills in each zone's own name.
3. Save, then choose it with the **Apply Set** button on a zone page.
4. Check which records the preview will add and confirm.

Attach a set to a package as its default and every new zone under that package gets it automatically. Customers can define their own sets too; yours they may only apply, never edit.

### Turning on DNSSEC

1. On the zone page click the **DNSSEC** button.
2. Click **Start Signing**; the provider generates the keys.
3. Copy the DS record shown on the screen.
4. Enter that DS record at the domain's registrar. If the domain is registered with you, the domain page accepts it.

Turning it off runs in the opposite order: remove the DS record at the registrar first, wait, then stop the signing. Done the other way round the domain stops resolving for a while.

### Defining reverse DNS

1. On the **Reverse DNS** tab click the **Add Delegation** button.
2. Choose the IP block and the customer allowed to use it.
3. Save. The customer can now write PTR records for addresses inside that block from their own panel.

The customer sees only the addresses delegated to them and can write only to those. The block itself is never shown to them.

### Backing up and restoring

1. On the zone page click the **Back Up** button; the zone's current state is stored.
2. To go back, find the entry on the **Backups** tab.
3. Click **Restore** and read the preview.
4. Confirm; the zone returns to its state in that backup.

A backup can also be downloaded as a file and uploaded into another installation.

### Moving a zone to another server

1. On the **Zones** tab click the **Move** button on the zone's row.
2. Choose the target server and start.
3. The zone is copied to the target first and the record counts are compared.
4. If verification passes, the copy on the source server is released. If it fails, the move stops and the source stays in place.

### Importing and exporting a zone file

The **Export** button on the zone page produces a standard zone file that can be handed to another DNS server directly. **Import** reads such a file and lists its records; they are written after you confirm.

## Things to Watch

> **Deleting a record cannot be undone**
> 
> Providers have no recycle bin; a record deleted by mistake only comes back from a backup.

> **Do not change the provider from outside the panel**
> 
> An edit made in the provider's own interface reaches these records but never the activity log. The question of who did it loses its answer.

> **A change is not published instantly**
> 
> Resolvers holding the old value keep serving it until the record's lifetime expires. If you are planning a change, lower that lifetime beforehand.

> **SOA and apex NS records cannot be deleted**
> 
> They define the zone itself, which is why no delete button appears on those rows.

> **Blocked strings bind the customer, not you**
> 
> You can write any record; the rule applies only in the customer panel.

> **Removing a package does not delete zones**
> 
> Zones stay in place, but the customer can no longer create new ones or edit the ones they have.

## Privileges

The addon screen depends on the addon privilege of the **Tools** section. An administrator without it does not see the WDNS row in the list.

## Related Screens

- [Addon Management](https://docs.wisecp.com/en/addons)
- [Domain Registrar Modules](https://docs.wisecp.com/en/registrar-modules)
- [WIPAM IP Management Addon](https://docs.wisecp.com/en/wipam-ip-management-addon)
