It isn't easy to choose a safe top-level local name. The global root operators add new top-level names every once in a while: for example, .info was added in 2001, so people using .info as a local name were unable to reach global .info sites. Software authors sometimes set aside top-level names; for example, I'm told that Mac OS 9 does something weird with .local, so it can't access local names in .local. Here are some reasonable choices of top-level local names:
.0 (good for machine-specific names) .1 .2 .3 (good for department-specific names) .4 .5 .6 (good for corporation-specific names) .7 .8 .9 .internal
For concreteness, these instructions assume that you're creating .internal, and that you have two computers running DNS servers, the first server on IP address 22.214.171.124 and the second server on IP address 126.96.36.199.
1. Tell your DNS servers that they should answer questions about .internal, and that they should announce 188.8.131.52 and 184.108.40.206 as the DNS server addresses for .internal:
cd /service/tinydns/root ./add-ns internal 220.127.116.11 ./add-ns internal 18.104.22.168 make
2. Tell your DNS cache that it should contact your DNS servers for information about .internal:
cd /service/dnscache echo 22.214.171.124 > root/servers/internal echo 126.96.36.199 >> root/servers/internal chmod 644 root/servers/internal svc -t .The file root/servers/internal applies to the name internal and all names ending with .internal. However, if there is a more specific file such as root/servers/corp.internal listing another server, or if the .internal servers delegate corp.internal to another server, dnscache will contact the other server for information about corp.internal.