Your Processing Environment

DNS as a Service - user documentation


DNS as a Service (DNSaaS) provides functionality of managing configuration of user's domains. Managing configuration means that the user is capable of creating, updating and deleting the following DNS records:

Type Description
A Address record
AAAA IPv6 address record
CNAME Canonical name record
MX Mail exchange record
PTR Pointer record
SPR Sender Policy Framework
SRV Service locator
SSHFP SSH Public Key Fingerprint
TXT Text record

DNS configuration management is available via OpenStack web dashboard (Horizon), OpenStack command line interface as well as via API.

DNS records management is performed on the level of an OpenStack project.

Since DNSaaS purpose is to deal with external domain names, the internal name resolution (name resolution for private IP addresses within user's projects) is not covered by this documentation.


  • We assume you already have a basic knowledge of Domain Name Service principles, understanding purpose of DNS records and of course have a project in one of CloudFerro cloud environments.
  • You also must own a domain purchased from any registrar (domain reseller). Obtaining a domain from registrars is not covered by this article.
  • If you want to use command line interface to manage domains configuration, you must be are able to authorize OpenStack CLI (see: How to install OpenStack client).

Domain delegation in registrar's system

The configuration of domain name in your registrar's system must point NS records to CloudFerro name servers. It can be achieved in two ways:

Option 1 - use CloudFerro name servers (recommended)

Configure NS records for your domain to the following CloudFerro name servers:

Purpose Name Server IP
primary name server
secondary name server
secondary name server

You may check proper configuration of your using dig command:

savit@eosav:~$ dig +noall +answer +additional -t ns                3235    IN      NS                3235    IN      NS                3235    IN      NS 2746    IN      A 78502   IN      A 78502   IN      A

Option 2 - setup your own glue records (not recommended)

This configuration option may be not supported by some registrars.

Configure glue records for your domain, so that they point to the following IP addresses: 

Purpose Name Server IP
primary name server
secondary name server
secondary name server

Quick dig check:

savit@eosav:~$ dig +noall +answer +additional -t ns                3235    IN      NS                3235    IN      NS                3235    IN      NS 2746    IN      A 78502   IN      A 78502   IN      A


Domain configuration

Zone configuration

In order to manage domain in OpenStack, login to OpenStack dashboard, choose the right project if different than default, go to Project → DNS → Zones, click Create Zone and fill the required fields:

  • Name: your domain name
  • Description: free text description
  • Email Address: an administrative e-mail address associated with the domain
  • TTL: Time To Live in seconds - a period of time between refreshing cache in DNS serves. Please note that the longer time, the faster will be name recognition for your domain by external DNS servers but also if you introduce changes, they will propagate slower. The default value of 3600 seconds is a reasonable compromise.
  • Type: You may choose if OpenStack name servers will be primary or secondary for your domain. Default: Primary. In case you want to setup secondary name servers, you just define IP addresses od master DNS servers for the domain.

After submitting, your domain should be served by OpenStack.

Quick check with dig:

savit@eosav:~$ dig -t any +noall +answer      3600    IN      SOA 1554373787 3565 600 86400 3600      3600    IN      NS      3600    IN      NS      3600    IN      NS

Adding records

To add a new record to domain, click Create Record Set next to domain name and fill the required fields. For example, to configure an address of web server in , so that is resolved to which is a Floating IP address of your server, we should fill the form as follows:

  • Type: Type of record (for example A, MX, etc.)
  • Name: name of the record (for example,, ...)
  • Description: free text description
  • TTL: Time To Live in seconds - a period of time between refreshing cache in DNS serves.
  • Records: Desired record value (there may be more than one - one per line):
    • for records of Type A put IP address
    • for records of Type MX put name of a mail server which hosts e-mails for the domain
    • for records of Type CNAME put original name which is to be aliased

Submit the form and check if your configuration works:

savit@eosav:~$ dig -t any +noall +answer  3600    IN      A


Each time a name of domain or a server is added or edited, please remember to add dot '.' at the end of the entry.
For example: or

Managing records

Anytime you want to review, edit or delete records in your domain, visit OpenStack dashboard, Project → DNS → Zones. After clicking the domain name of your interest, choose Record Sets tab and see the list of all records:

From this screen you can update or delete records.


There are the following limitations in OpenStack DNSaaS:

  1. You cannot manage NS records for your domain therfore:
    - you cannot add additional secondary name servers
    - you are unable to delegate subdomains to external servers
  2. Even though you are able to configure reverse DNS for your domain, this configuration will have no effect since reverse DNS for CloudFerro IP pools are managed on other DNS servers than OpenStack DNSaaS.

Additional documentation