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 .. _dns_update: -------- 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. ^^^^^^^^^^^^^^^^^^ New Forward Record ^^^^^^^^^^^^^^^^^^ #. Edit the appropriate zone file with your favorite editor #. 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. #. 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 #. run ``rndc reload`` to load the changes ^^^^^^^^^^^^^^^^^^ New Reverse Record ^^^^^^^^^^^^^^^^^^ #. Edit the appropriate zone file (probably in ``auto_reverse`` with your favorite editor #. 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. #. 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 #. run ``rndc reload`` to load the changes ^^^^^^^^ New Zone ^^^^^^^^ #. Create the new zone file with appropriate entries (getting the headers is often easiest if you copy an existing zone and update parts) #. 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"; }; #. run ``rndc reload`` to load the changes