[94] in Hesiod
Hesiod + DNS
daemon@ATHENA.MIT.EDU (Mark Rosenstein)
Tue Aug 18 15:02:20 1992
Date: Tue, 18 Aug 92 14:59:34 -0400
From: Mark Rosenstein <mar@MIT.EDU>
To: b3ky03w@shoes.BELL-ATL.COM
Cc: hesiod@Athena.MIT.EDU
In-Reply-To: Alan Sheets's message of Mon, 17 Aug 92 18:04:50 EDT <m0mKFC6-0000bLC@bagate.BELL-ATL.COM>
Every workstation at MIT runs a named locally. The way we used to do
things here, each client named was configured to know where the local
zones were and not try to talk to the root. This was done with a
special glue zone. This technique has to only be used on client
named's, not on any named that others will ask questions of so that it
doesn't leak out possibly incorrect information about the root.
Here's an abbreviated copy of the config file:
----------------
; Hardwire the local domain so we can find it even if we can't talk to
; the root. We use a small TTL in case this info ever accidentally
; gets out
@ IN SOA localhost.mit.edu. hostmaster.mit.edu. (
1.1 ; Serial
60 ; Refresh 1 minute
60 ; Retry 1 minute
60 ; Expire 1 minute
60 ) ; Minimum 1 minute
IN NS localhost.mit.edu.
LOCALHOST.MIT.EDU. IN A 127.0.0.1 ; I know, it's a crock...
; The local servers
MIT.EDU. 60 IN NS W20NS.MIT.EDU.
W20NS.MIT.EDU. 60 IN A 18.70.0.160
18.IN-ADDR.ARPA. 60 IN NS W20NS.MIT.EDU.
; pointers to Hesiod name servers
NS.ATHENA.MIT.EDU. 60 HS NS SUOMI.MIT.EDU.
NS.ATHENA.MIT.EDU. 60 HS NS APOLLO.MIT.EDU.
NS.ATHENA.MIT.EDU. 60 HS NS CLIO.MIT.EDU.
; Hesiod address records (simply duplicates of IN address records)
SUOMI.MIT.EDU. 60 HS A 18.72.1.31
APOLLO.MIT.EDU. 60 HS A 18.80.0.10
CLIO.MIT.EDU. 60 HS A 18.63.0.7
; Internet address records for the same Hesiod servers
; required because of implementations of gethostbyname() which use
; C_ANY/T_A queries.
SUOMI.MIT.EDU. 60 IN A 18.72.1.31
APOLLO.MIT.EDU. 60 IN A 18.80.0.10
CLIO.MIT.EDU. 60 IN A 18.63.0.7
----------------
These days we are running Hesiod root servers here at MIT, and just
put in pointers to them, and they delegate the to the actual hesiod
servers in the usual fashion.
We are not using any form of zone transfers or secondaries in the
configuration of the hesiod servers. Each of the 3 servers has it's
zone files directly updated, then the server is restarted.
Each server's boot file includes this:
----------------
; Authoritative data for NS.ATHENA.MIT.EDU, class HS
;
@ HS SOA SUOMI.MIT.EDU. HESREQ@ATHENA.MIT.EDU. (
4.9 ; serial - database version number
1800 ; refresh - sec servers
300 ; retry - for refresh
3600 ; expire - unrefreshed data
7200 ) ; min
HS NS SUOMI.MIT.EDU.
; Hesiod NS and addr data
;
$INCLUDE /etc/athena/nameserver/hesiod.db
$INCLUDE /etc/athena/nameserver/passwd.db
$INCLUDE /etc/athena/nameserver/uid.db
$INCLUDE /etc/athena/nameserver/group.db
...etc...
----------------
Where the hesiod.db file contains:
----------------
; Hesiod-specific cache data (for ATHENA.MIT.EDU)
;
; $Source$
; $Header$
; pointers to Hesiod name servers
NS.ATHENA.MIT.EDU. 99999999 HS NS APOLLO.MIT.EDU.
NS.ATHENA.MIT.EDU. 99999999 HS NS CLIO.MIT.EDU.
NS.ATHENA.MIT.EDU. 99999999 HS NS SUOMI.MIT.EDU.
; Hesiod address records (simply duplicates of IN address records)
APOLLO.MIT.EDU. 99999999 HS A 18.80.0.10
CLIO.MIT.EDU. 99999999 HS A 18.63.0.7
SUOMI.MIT.EDU. 99999999 HS A 18.72.1.31
; Internet address records for the same Hesiod servers
; required because of implementations of gethostbyname() which use
; C_ANY/T_A queries.
APOLLO.MIT.EDU. 99999999 IN A 18.80.0.10
CLIO.MIT.EDU. 99999999 IN A 18.63.0.7
SUOMI.MIT.EDU. 99999999 IN A 18.72.1.31
----------------
Hope this information is helpful.
-Mark