Entry
How do I configure my server to accept a delegation from a superdomain's content DNS servers ?
Sep 30th, 2002 15:57
Jonathan de Boyne Pollard,
You need to know
* The IP addresses of all of your content DNS servers for
the domain.
* What intermediate names, for your content DNS servers, the
owners of the superdomain are using in their delegation of your
domain to the IP addresses of your servers.
In all cases, you must use the _same_ intermediate domain names
as are being published by the content DNS servers for the
enclosing superdomain, to avoid triggering the BIND bug
described in Dan Bernstein's FAQ document
(http://cr.yp.to/djbdns/faq/tinydns.html#ns-names). However,
exactly how you accept the delegation depends from what naming
scheme is in use for the intermediate names.
If the intermediate names are in the form "a.ns....",
"b.ns....", "c.ns....", and so forth; then you can use the
simplest method of accepting a delegation, which is to use
"add-ns" to modify the DNS database(s) of your content DNS
server(s):
cd /service/tinydns/root
./add-ns tmcs.net 209.104.63.252
./add-ns tmcs.net 209.104.33.252
./add-ns tmcs.net 209.104.39.252
make
"add-ns" automatically creates and assigns intermediate names
in the form "[a-z].ns....", assigning letters of the alphabet
in order. (e.g. The preceding commands will cause the
intermediate names "a.ns.tmcs.net.", "b.ns.tmcs.net.", and
"c.ns.tmcs.net." to be created.) All that you need supply is
your domain name and the IP addresses of all of the content DNS
servers for your domain.
Because this method is so simple, it is recommended that you
try to arrange with the owners of the superdomain to use the
"[a-z].ns...." pattern when choosing the names for your
domain's content DNS servers. (If the owners of the
superdomain are using "add-childns" to add the delegations to
the databases of their content DNS servers, as is described in
the section of Dan Bernstein's FAQ document on delegating
domains to others, then they will be.)
On the other hand, the intermediate names may be in some other
form; such as "ns1....", "ns2....", "ns3....", and so forth.
(Try to avoid this form, if possible. One disadvantage of it
is that it doesn't yield the best possible compression of "NS"
resource record sets in DNS response datagrams; because of the
way that the idiosyncratic name compression scheme that DNS
datagrams employ works. This is why it is good practice to
avoid it. Notice, for example, that ICANN's and the ORSC's "."
content DNS servers follow good practice and use the "a.",
"b.", "c.", naming scheme instead.) In which case, what you
want will not be what "add-ns" does, and you will have to
resort to adding '.' records to your DNS database source file
("data") by hand:
cd /service/tinydns/root
echo '.yahoo.com.:66.218.71.63:ns1.yahoo.com.' >> data
echo '.yahoo.com.:209.132.1.28:ns2.yahoo.com.' >> data
echo '.yahoo.com.:217.12.4.104:ns3.yahoo.com.' >> data
echo '.yahoo.com.:63.250.206.138:ns4.yahoo.com.' >> data
echo '.yahoo.com.:64.58.77.85:ns5.yahoo.com.' >> data
make
Do not add '+' or '=' records, for the intermediate "ns1...",
"ns2...", and so forth domain names, _as well_. If you really
desire to have '=' records for the intermediate domain names,
omit the IP address from the second field of the '.' records.
However, it is recommended that the intermediate names not be
the "real" names of your servers, and that therefore they not
be the subjects of '=' records.