A hidden, master, authoritative-only Name Server.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



This is a hidden, master, authoritative-only name-server, which helps you to manage yourself your domains.

Hidden means that it stays behind a firewall, not accessible from the outside world. Master or primary means that it is a primary source of information for the domains that it provides. There are also slave/secondary DNS servers, which get the information of the domains that they cover from other (master/primary) servers. If we update the domain on a master server, the slaves will synchronise with it automatically after a certain time.

Authoritative-only means that the server will just give answers for the domains that it masters, and nothing else. DNS servers can possibly do several things, for example give answers to DNS requests from clients, both for the domains that they are responsible for and for other domains. If they don't know the answer, they get it from the Internet, fetch it to the client and then cache it for future requests. However this server does not do any of these things. It just answers for its own domains.

See also this: docs/how-to-manage-your-own-name-server.org


  • First install ds:

  • Then get the scripts from github: ds pull bind9

  • Create a directory for the container: ds init bind9 @bind9

  • Fix the settings: cd /var/ds/bind9/ ; vim settings.sh

  • Build image, create the container and configure it: ds make


zone (add | rm | en | dis) <domain>
    Manage domain zones.


cd /var/ds/bind9/
ds shell
service bind9 restart
service bind9 status
tail -n 100 /var/log/syslog
dig example.org axfr @
ufw status