3.2. DNS in the SI

The Synthetic Internet uses bind to provide DNS for the entire Internet.

The configuration all lives in /etc/named with the following structure:

named.conf

This is the main config which tells bind what other files to load. This does not need to be modified in most cases, unless the IPs that this server listens on are being changed that is.

named.conf.options

This is the config that defines the DNS zones that are loaded. If a new zone file is introduced, it must be included here.

com edu gov isp net org

These are zone files that define each TLD respectively.

tgdns/*

These are zone files for all other zones this DNS server hosts

auto_reverse/*

These are the reverse zones to map an IP back to its hostname

3.2.1. Updating

This document is not going to be a full description of configuring and managing bind, but there are some common tasks that will be covered for cases where things go smoothly.

3.2.1.1. New Forward Record

  1. Edit the appropriate zone file with your favorite editor

  2. Add an entry (probably an A or CNAME record) the name part will automatically get the domain appended unless it ends with a .

    short IN A 192.168.222.2

    or

    fqdn.with.domain. IN CNAME other.name.

  3. Update the serial number in the header block. A standard approach is to use a number scheme like YYYYMMDD## where you increment ## if you need to make multiple changes in a day

  4. run rndc reload to load the changes

3.2.1.2. New Reverse Record

  1. Edit the appropriate zone file (probably in auto_reverse with your favorite editor

  2. Add a PTR entry. The name part will automatically get the domain appended unless it ends with a .

    192.168.222.2 IN PTR short

    or

    192.168.222.3 IN PTR fully.qualified.name.

  3. Update the serial number in the header block. A standard approach is to use a number scheme like YYYYMMDD## where you increment ## if you need to make multiple changes in a day

  4. run rndc reload to load the changes

3.2.1.3. New Zone

  1. Create the new zone file with appropriate entries (getting the headers is often easiest if you copy an existing zone and update parts)

  2. Add an entry to /etc/named/named.conf.options where the domain name points to the zone file you created like
    zone "mynewzone.tld" IN {
        type master;
        file "/the/path/to/the/zone.file";
    };
    
  3. run rndc reload to load the changes