--- DNS-HOWTO.sgml.orig Fri Dec 28 22:01:22 2001 +++ DNS-HOWTO.sgml Fri Dec 28 22:16:43 2001 @@ -1,4 +1,4 @@ - +
DNS HOWTO <author>Nicolai Langfeldt (<tt/dns-howto(at)langfeldt.net/), @@ -15,7 +15,8 @@ <p>Keywords: DNS, BIND, BIND 4, BIND 8, BIND 9, named, dialup, PPP, slip, ISDN, Internet, domain, name, resolution, hosts, caching. -<p>This document is part of the Linux Documentation Project. +<p>This document is part of the Linux Documentation Project (slightly adapted +for FreeBSD). <sect1>Legal stuff @@ -88,11 +89,11 @@ "maps" as the jargon would have it) from name to address and from address to name, and some other things. This HOWTO documents how to define such mappings using Unix system, with a few things specific to -Linux. +FreeBSD. <p>A mapping is simply an association between two things, in this case -a machine name, like <tt/ftp.linux.org/, and the machine's IP number -(or address) <tt/199.249.150.4/. DNS also contains mappings the other +a machine name, like <tt/ftp.freebsd.org/, and the machine's IP number +(or address) <tt/62.243.72.50/. DNS also contains mappings the other way, from the IP number to the machine name; this is called a "reverse mapping". @@ -127,14 +128,15 @@ <p>Name serving on Unix is done by a program called <tt/named/. This is a part of the ``BIND'' package which is coordinated by <em/The -Internet Software Consortium/. <tt/Named/ is included in most Linux -distributions and is usually installed as <tt>/usr/sbin/named</tt>, +Internet Software Consortium/. <tt/Named/ is included in all FreeBSD +distributions and is installed as <tt>/usr/sbin/named</tt>, +you can get the latest and greatest source from <htmlurl +url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-stable/src/contrib/bind/" +name="ftp.freebsd.org:/pub/FreeBSD/FreeBSD-stable/src/contrib/bind/">. usually from a package called <tt/BIND/, in upper or lower case depending on the whim of the packager. -<p>If you have a named you can probably use it; if you don't have one -you can get a binary off a Linux ftp site, or get the latest and -greatest source from <url url="ftp://ftp.isc.org/isc/bind9/">. This +This HOWTO is about BIND version 9. The old versions of the HOWTO, about BIND 4 and 8, is still available at <url url="http://langfeldt.net/DNS-HOWTO/"> in case you use BIND 4 or 8 @@ -201,9 +203,8 @@ waiting time the next time significantly, especially if you're on a slow connection. -<p>First you need a file called <tt>/etc/named.conf</tt> (Debian: -<tt>/etc/bind/named.conf</tt>). This is read when named starts. For -now it should simply contain: +<p>First you need a file called <tt>/etc/namedb/named.conf</tt>. +This is read when named starts. For now it should simply contain: <code> // Config file for caching only name server @@ -216,7 +217,7 @@ // ultimate contents of should be quite similar though. options { - directory "/var/named"; + directory "/etc/namedb"; // Uncommenting this might help if you have to go through a // firewall and things are not working out. But you probably @@ -236,27 +237,26 @@ zone "." { type hint; - file "root.hints"; + file "named.root"; }; zone "0.0.127.in-addr.arpa" { type master; - file "pz/127.0.0"; + file "localhost.rev"; }; </code> -<p>The Linux distribution packages may use different file names for +<p>The FreeBSD distribution packages may use different file names for each kind of file mentioned here; they will still contain about the same things. <p>The `<tt/directory/' line tells named where to look for files. All -files named subsequently will be relative to this. Thus <tt>pz</tt> -is a directory under <tt>/var/named</tt>, i.e., -<tt>/var/named/pz</tt>. <tt>/var/named</tt> is the right directory -according to the <em/Linux File system Standard/. +files named subsequently will be relative to this. +<tt>/etc/namedb</tt> is the standard directory +according to the <em>hier(7)</em> manpage. -<p>The file named <tt>/var/named/root.hints</tt> is named in this. -<tt>/var/named/root.hints</tt> should contain this: +<p>The file named <tt>/etc/namedb/named.root</tt> is named in this. +<tt>/etc/namedb/named.root</tt> should contain this: <code> ; ; There might be opening comments here if you already have this file. @@ -299,18 +299,18 @@ <p>The next section in <tt/named.conf/ is the last <tt/zone/. I will explain its use in a later chapter; for now just make this a file -named <tt/127.0.0/ in the subdirectory <tt/pz/: (<em/Again, please -remove leading spaces if you cut and paste this/) +named <tt/localhost.rev/ in the subdirectory <tt//etc/namedb/: +(<em/Again, please remove leading spaces if you cut and paste this/) <code> $TTL 3D -@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( +@ IN SOA ns.freebsd.bogus. hostmaster.freebsd.bogus. ( 1 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL - NS ns.linux.bogus. + NS ns.freebsd.bogus. 1 PTR localhost. </code> @@ -388,8 +388,7 @@ you're probably used to <tt/ndc/. I BIND 9 it has been replaced with <tt/rndc/, which can controll your named remotely, but it can't start named anymore. If you view your syslog message file (usually called -<tt>/var/log/messages</tt>, Debian calls it <tt>/var/log/daemon</tt>, -another directory to look is the other files <tt>/var/log</tt>) while +<tt>/var/log/messages</tt>) while starting named (do <tt>tail -f /var/log/messages</tt>) you should see something like: @@ -432,7 +431,7 @@ 1.0.0.127.in-addr.arpa. 259200 IN PTR localhost. ;; AUTHORITY SECTION: -0.0.127.in-addr.arpa. 259200 IN NS ns.linux.bogus. +0.0.127.in-addr.arpa. 259200 IN NS ns.freebsd.bogus. ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) @@ -474,7 +473,7 @@ <p>This time <tt/dig/ asked your named to look for the machine <tt/pat.uio.no/. It then contacted one of the name server machines -named in your <tt/root.hints/ file, and asked its way from there. It +named in your <tt/named.root/ file, and asked its way from there. It might take tiny while before you get the result as it may need to search all the domains you named in <tt>/etc/resolv.conf</tt>. @@ -538,7 +537,7 @@ <p>All OSes implementing the standard C API has the calls gethostbyname and gethostbyaddr. These can get information from several different sources. Which sources it gets it from is -configured in <tt>/etc/nsswitch.conf</tt> on Linux (and some other +configured in <tt>/etc/nsswitch.conf</tt> on FreeBD (and some other Unixes). This is a long file specifying from which file or database to get different kinds of data types. It usually contains helpful comments at the top, which you should consider reading. After that @@ -746,7 +745,7 @@ <sect1>Our own domain <p>Now to define our own domain. We're going to make the domain -<tt/linux.bogus/ and define machines in it. I use a totally bogus +<tt/freensd.bogus/ and define machines in it. I use a totally bogus domain name to make sure we disturb no-one Out There. <p>One more thing before we start: Not all characters are allowed in @@ -761,25 +760,25 @@ <code> zone "0.0.127.in-addr.arpa" { type master; - file "pz/127.0.0"; + file "localhost.rev"; }; </code> <p>Please note the lack of `<tt/./' at the end of the domain names in this file. This says that now we will define the zone <tt/0.0.127.in-addr.arpa/, that we're the master server for it and -that it is stored in a file called <tt>pz/127.0.0</tt>. We've already +that it is stored in a file called <tt>localhost.rev</tt>. We've already set up this file, it reads: <code> $TTL 3D -@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( +@ IN SOA ns.freebsd.bogus. hostmaster.freebsd.bogus. ( 1 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL - NS ns.linux.bogus. + NS ns.freebsd.bogus. 1 PTR localhost. </code> @@ -804,11 +803,11 @@ Saves some typing that. So the NS line could also be written <tscreen><verb> -0.0.127.in-addr.arpa. IN NS ns.linux.bogus +0.0.127.in-addr.arpa. IN NS ns.freebsd.bogus </verb></tscreen> <p>It tells DNS what machine is the name server of the domain -<tt/0.0.127.in-addr.arpa/, it is <tt/ns.linux.bogus/. 'ns' is a +<tt/0.0.127.in-addr.arpa/, it is <tt/ns.freebsd.bogus/. 'ns' is a customary name for name-servers, but as with web servers who are customarily named <tt/www./<em/something/. The name may be anything. @@ -819,8 +818,8 @@ <p>The SOA record is the preamble to <em/all/ zone files, and there should be exactly one in each zone file, at the top (but after the <tt/$TTL/ directive). It describes the zone, where it comes from (a -machine called <tt/ns.linux.bogus/), who is responsible for its -contents (<tt/hostmaster@linux.bogus/; you should insert your e-mail +machine called <tt/ns.freebsd.bogus/), who is responsible for its +contents (<tt/hostmaster@freebsd.bogus/; you should insert your e-mail address here), what version of the zone file this is (serial: 1), and other things having to do with caching and secondary DNS servers. For the rest of the fields (refresh, retry, expire and minimum) use the @@ -844,7 +843,7 @@ 1.0.0.127.in-addr.arpa. 259200 IN PTR localhost. ;; AUTHORITY SECTION: -0.0.127.in-addr.arpa. 259200 IN NS ns.linux.bogus. +0.0.127.in-addr.arpa. 259200 IN NS ns.freebsd.bogus. ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) @@ -853,31 +852,31 @@ </verb></tscreen> <p>So it manages to get <tt/localhost/ from 127.0.0.1, good. Now for -our main task, the <tt/linux.bogus/ domain, insert a new 'zone' +our main task, the <tt/freebsd.bogus/ domain, insert a new 'zone' section in <tt/named.conf/: <code> -zone "linux.bogus" { +zone "freebsd.bogus" { type master; notify no; - file "pz/linux.bogus"; + file "pz/freebsd.bogus"; }; </code> <p>Note again the lack of ending `<tt/./' on the domain name in the <tt/named.conf/ file. -<p>In the <tt/linux.bogus/ zone file we'll put some totally bogus +<p>In the <tt/freebsd.bogus/ zone file we'll put some totally bogus data: <code> ; -; Zone file for linux.bogus +; Zone file for freebsd.bogus ; ; The full zone file ; $TTL 3D -@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( +@ IN SOA ns.freebsd.bogus. hostmaster.freebsd.bogus. ( 199802151 ; serial, todays date + todays serial # 8H ; refresh, seconds 2H ; retry, seconds @@ -885,7 +884,7 @@ 1D ) ; minimum, seconds ; NS ns ; Inet Address of name server - MX 10 mail.linux.bogus ; Primary Mail Exchanger + MX 10 mail.freebsd.bogus ; Primary Mail Exchanger MX 20 mail.friend.bogus. ; Secondary Mail Exchanger ; localhost A 127.0.0.1 @@ -893,11 +892,11 @@ mail A 192.168.196.4 </code> -<p>Two things must be noted about the SOA record. <tt/ns.linux.bogus/ +<p>Two things must be noted about the SOA record. <tt/ns.freebsd.bogus/ <em/must/ be a actual machine with a A record. It is not legal to have a CNAME record for the machine mentioned in the SOA record. Its name need not be `ns', it could be any legal host name. Next, -<tt/hostmaster.linux.bogus/ should be read as hostmaster@linux.bogus. +<tt/hostmaster.freebsd.bogus/ should be read as hostmaster@freebsd.bogus. This should be a mail alias, or a mailbox, where the person(s) maintaining DNS should read mail frequently. Any mail regarding the domain will be sent to the address listed here. The name need not be @@ -906,7 +905,7 @@ <p>There is one new RR type in this file, the MX, or Mail eXchanger RR. It tells mail systems where to send mail that is addressed to -<tt/someone@linux.bogus/, namely to <tt/mail.linux.bogus/ or +<tt/someone@freebsd.bogus/, namely to <tt/mail.freebsd.bogus/ or <tt/mail.friend.bogus/. The number before each machine name is that MX RR's priority. The RR with the lowest number (10) is the one mail should be sent to if possible. If that fails the mail can be sent to @@ -917,28 +916,28 @@ with <tt/dig/: <tscreen><verb> -$ dig any linux.bogus -; <<>> DiG 9.1.3 <<>> any linux.bogus +$ dig any freebsd.bogus +; <<>> DiG 9.1.3 <<>> any freebsd.bogus ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55239 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: -;linux.bogus. IN ANY +;freebsd.bogus. IN ANY ;; ANSWER SECTION: -linux.bogus. 259200 IN SOA ns.linux.bogus. \ - hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400 -linux.bogus. 259200 IN NS ns.linux.bogus. -linux.bogus. 259200 IN MX 20 mail.friend.bogus. -linux.bogus. 259200 IN MX 10 mail.linux.bogus.linux.bogus. +freebsd.bogus. 259200 IN SOA ns.freebsd.bogus. \ + hostmaster.freebsd.bogus. 199802151 28800 7200 2419200 86400 +freebsd.bogus. 259200 IN NS ns.freebsd.bogus. +freebsd.bogus. 259200 IN MX 20 mail.friend.bogus. +freebsd.bogus. 259200 IN MX 10 mail.freebsd.bogus.freebsd.bogus. ;; AUTHORITY SECTION: -linux.bogus. 259200 IN NS ns.linux.bogus. +freebsd.bogus. 259200 IN NS ns.freebsd.bogus. ;; ADDITIONAL SECTION: -ns.linux.bogus. 259200 IN A 192.168.196.2 +ns.freebsd.bogus. 259200 IN A 192.168.196.2 ;; Query time: 4 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) @@ -949,29 +948,29 @@ <p>Upon careful examination you will discover a bug. The line <tscreen><verb> -linux.bogus. 259200 IN MX 10 mail.linux.bogus.linux.bogus. +freebsd.bogus. 259200 IN MX 10 mail.freebsd.bogus.freebsd.bogus. </verb></tscreen> <p>is all wrong. It should be <tscreen><verb> -linux.bogus. 259200 IN MX 10 mail.linux.bogus. +freebsd.bogus. 259200 IN MX 10 mail.freebsd.bogus. </verb></tscreen> <p>I deliberately made a mistake so you could learn from it :-) Looking in the zone file we find this line: <tscreen><verb> - MX 10 mail.linux.bogus ; Primary Mail Exchanger + MX 10 mail.freebsd.bogus ; Primary Mail Exchanger </verb></tscreen> -<p>It is missing a period. Or has a 'linux.bogus' too many. If a +<p>It is missing a period. Or has a 'freebsd.bogus' too many. If a machine name does not end in a period in a zone file the origin is -added to its end causing the double <tt/linux.bogus.linux.bogus/. So +added to its end causing the double <tt/freebsd.bogus.freebsd.bogus/. So either <code> - MX 10 mail.linux.bogus. ; Primary Mail Exchanger + MX 10 mail.freebsd.bogus. ; Primary Mail Exchanger </code> or @@ -996,19 +995,19 @@ <code> ; -; Zone file for linux.bogus +; Zone file for freebsd.bogus ; ; The full zone file ; $TTL 3D -@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( +@ IN SOA ns.freebsd.bogus. hostmaster.freebsd.bogus. ( 199802151 ; serial, todays date + todays serial # 8H ; refresh, seconds 2H ; retry, seconds 4W ; expire, seconds 1D ) ; minimum, seconds ; - TXT "Linux.Bogus, your DNS consultants" + TXT "FreeBSD.Bogus, your DNS consultants" NS ns ; Inet Address of name server NS ns.friend.bogus. MX 10 mail ; Primary Mail Exchanger @@ -1059,32 +1058,32 @@ named to read its files again. <tscreen><verb> -$ dig linux.bogus axfr +$ dig freebsd.bogus axfr -; <<>> DiG 9.1.3 <<>> linux.bogus axfr +; <<>> DiG 9.1.3 <<>> freebsd.bogus axfr ;; global options: printcmd -linux.bogus. 259200 IN SOA ns.linux.bogus. hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400 -linux.bogus. 259200 IN NS ns.linux.bogus. -linux.bogus. 259200 IN MX 10 mail.linux.bogus. -linux.bogus. 259200 IN MX 20 mail.friend.bogus. -donald.linux.bogus. 259200 IN A 192.168.196.3 -donald.linux.bogus. 259200 IN MX 10 mail.linux.bogus. -donald.linux.bogus. 259200 IN MX 20 mail.friend.bogus. -donald.linux.bogus. 259200 IN TXT "DEK" -ftp.linux.bogus. 259200 IN A 192.168.196.5 -ftp.linux.bogus. 259200 IN MX 10 mail.linux.bogus. -ftp.linux.bogus. 259200 IN MX 20 mail.friend.bogus. -gw.linux.bogus. 259200 IN A 192.168.196.1 -gw.linux.bogus. 259200 IN TXT "The router" -localhost.linux.bogus. 259200 IN A 127.0.0.1 -mail.linux.bogus. 259200 IN A 192.168.196.4 -mail.linux.bogus. 259200 IN MX 10 mail.linux.bogus. -mail.linux.bogus. 259200 IN MX 20 mail.friend.bogus. -ns.linux.bogus. 259200 IN MX 10 mail.linux.bogus. -ns.linux.bogus. 259200 IN MX 20 mail.friend.bogus. -ns.linux.bogus. 259200 IN A 192.168.196.2 -www.linux.bogus. 259200 IN CNAME ns.linux.bogus. -linux.bogus. 259200 IN SOA ns.linux.bogus. hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400 +freebsd.bogus. 259200 IN SOA ns.freebsd.bogus. hostmaster.freebsd.bogus. 199802151 28800 7200 2419200 86400 +freebsd.bogus. 259200 IN NS ns.freebsd.bogus. +freebsd.bogus. 259200 IN MX 10 mail.freebsd.bogus. +freebsd.bogus. 259200 IN MX 20 mail.friend.bogus. +donald.freebsd.bogus. 259200 IN A 192.168.196.3 +donald.freebsd.bogus. 259200 IN MX 10 mail.freebsd.bogus. +donald.freebsd.bogus. 259200 IN MX 20 mail.friend.bogus. +donald.freebsd.bogus. 259200 IN TXT "DEK" +ftp.freebsd.bogus. 259200 IN A 192.168.196.5 +ftp.freebsd.bogus. 259200 IN MX 10 mail.freebsd.bogus. +ftp.freebsd.bogus. 259200 IN MX 20 mail.friend.bogus. +gw.freebsd.bogus. 259200 IN A 192.168.196.1 +gw.freebsd.bogus. 259200 IN TXT "The router" +localhost.freebsd.bogus. 259200 IN A 127.0.0.1 +mail.freebsd.bogus. 259200 IN A 192.168.196.4 +mail.freebsd.bogus. 259200 IN MX 10 mail.freebsd.bogus. +mail.freebsd.bogus. 259200 IN MX 20 mail.friend.bogus. +ns.freebsd.bogus. 259200 IN MX 10 mail.freebsd.bogus. +ns.freebsd.bogus. 259200 IN MX 20 mail.friend.bogus. +ns.freebsd.bogus. 259200 IN A 192.168.196.2 +www.freebsd.bogus. 259200 IN CNAME ns.freebsd.bogus. +freebsd.bogus. 259200 IN SOA ns.freebsd.bogus. hostmaster.freebsd.bogus. 199802151 28800 7200 2419200 86400 ;; Query time: 41 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sun Dec 23 03:12:31 2001 @@ -1095,23 +1094,23 @@ Let's check what it says for <tt/www/ alone: <tscreen><verb> -$ dig www.linux.bogus +$ dig www.freebsd.bogus -; <<>> DiG 9.1.3 <<>> www.linux.bogus +; <<>> DiG 9.1.3 <<>> www.freebsd.bogus ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16633 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: -;www.linux.bogus. IN A +;www.freebsd.bogus. IN A ;; ANSWER SECTION: -www.linux.bogus. 259200 IN CNAME ns.linux.bogus. -ns.linux.bogus. 259200 IN A 192.168.196.2 +www.freebsd.bogus. 259200 IN CNAME ns.freebsd.bogus. +ns.freebsd.bogus. 259200 IN A 192.168.196.2 ;; AUTHORITY SECTION: -linux.bogus. 259200 IN NS ns.linux.bogus. +freebsd.bogus. 259200 IN NS ns.freebsd.bogus. ;; Query time: 5 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) @@ -1119,15 +1118,15 @@ ;; MSG SIZE rcvd: 80 </verb></tscreen> -<p>In other words, the real name of <tt/www.linux.bogus/ is -<tt/ns.linux.bogus/, and it gives you some of the information it has +<p>In other words, the real name of <tt/www.freebsd.bogus/ is +<tt/ns.freebsd.bogus/, and it gives you some of the information it has about ns as well, enough to connect to it if you were a program. <p>Now we're halfway. <sect1>The reverse zone -<p>Now programs can convert the names in linux.bogus to addresses +<p>Now programs can convert the names in freebsd.bogus to addresses which they can connect to. But also required is a reverse zone, one making DNS able to convert from an address to a name. This name is used by a lot of servers of different kinds (FTP, IRC, WWW and others) @@ -1150,19 +1149,19 @@ <code> $TTL 3D -@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( +@ IN SOA ns.freebsd.bogus. hostmaster.freebsd.bogus. ( 199802151 ; Serial, todays date + todays serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL - NS ns.linux.bogus. + NS ns.freebsd.bogus. -1 PTR gw.linux.bogus. -2 PTR ns.linux.bogus. -3 PTR donald.linux.bogus. -4 PTR mail.linux.bogus. -5 PTR ftp.linux.bogus. +1 PTR gw.freebsd.bogus. +2 PTR ns.freebsd.bogus. +3 PTR donald.freebsd.bogus. +4 PTR mail.freebsd.bogus. +5 PTR ftp.freebsd.bogus. </code> <p>Now you reload your named (<tt/rndc reload/) and examine your @@ -1178,13 +1177,13 @@ ;4.196.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: -4.196.168.192.in-addr.arpa. 259200 IN PTR mail.linux.bogus. +4.196.168.192.in-addr.arpa. 259200 IN PTR mail.freebsd.bogus. ;; AUTHORITY SECTION: -196.168.192.in-addr.arpa. 259200 IN NS ns.linux.bogus. +196.168.192.in-addr.arpa. 259200 IN NS ns.freebsd.bogus. ;; ADDITIONAL SECTION: -ns.linux.bogus. 259200 IN A 192.168.196.2 +ns.freebsd.bogus. 259200 IN A 192.168.196.2 ;; Query time: 4 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) @@ -1199,16 +1198,16 @@ ; <<>> DiG 9.1.3 <<>> 196.168.192.in-addr.arpa. AXFR ;; global options: printcmd -196.168.192.in-addr.arpa. 259200 IN SOA ns.linux.bogus. \ - hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400 -196.168.192.in-addr.arpa. 259200 IN NS ns.linux.bogus. -1.196.168.192.in-addr.arpa. 259200 IN PTR gw.linux.bogus. -2.196.168.192.in-addr.arpa. 259200 IN PTR ns.linux.bogus. -3.196.168.192.in-addr.arpa. 259200 IN PTR donald.linux.bogus. -4.196.168.192.in-addr.arpa. 259200 IN PTR mail.linux.bogus. -5.196.168.192.in-addr.arpa. 259200 IN PTR ftp.linux.bogus. -196.168.192.in-addr.arpa. 259200 IN SOA ns.linux.bogus. \ - hostmaster.linux.bogus. 199802151 28800 7200 2419200 86400 +196.168.192.in-addr.arpa. 259200 IN SOA ns.freebsd.bogus. \ + hostmaster.freebsd.bogus. 199802151 28800 7200 2419200 86400 +196.168.192.in-addr.arpa. 259200 IN NS ns.freebsd.bogus. +1.196.168.192.in-addr.arpa. 259200 IN PTR gw.freebsd.bogus. +2.196.168.192.in-addr.arpa. 259200 IN PTR ns.freebsd.bogus. +3.196.168.192.in-addr.arpa. 259200 IN PTR donald.freebsd.bogus. +4.196.168.192.in-addr.arpa. 259200 IN PTR mail.freebsd.bogus. +5.196.168.192.in-addr.arpa. 259200 IN PTR ftp.freebsd.bogus. +196.168.192.in-addr.arpa. 259200 IN SOA ns.freebsd.bogus. \ + hostmaster.freebsd.bogus. 199802151 28800 7200 2419200 86400 ;; Query time: 6 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sun Dec 23 03:16:58 2001 @@ -1258,7 +1257,7 @@ read it. Now. <p>The reverse zone also needs to be delegated. If you got the -<tt/192.168.196/ net with the <tt/linux.bogus/ domain from your +<tt/192.168.196/ net with the <tt/freebsd.bogus/ domain from your provider they need to put <tt/NS/ records in for your reverse zone as well as for your forward zone. If you follow the chain from <tt/in-addr.arpa/ and up to your net you will probably find a break in @@ -1322,9 +1321,9 @@ master. You set it up like this: <code> -zone "linux.bogus" { +zone "freebsd.bogus" { type slave; - file "sz/linux.bogus"; + file "sz/freebsd.bogus"; masters { 192.168.196.2; }; }; </code> @@ -1333,7 +1332,7 @@ zone transfer is controlled by your SOA record: <code> -@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( +@ IN SOA ns.freebsd.bogus. hostmaster.freebsd.bogus. ( 199802151 ; serial, todays date + todays serial # 8H ; refresh, seconds 2H ; retry, seconds @@ -1379,7 +1378,7 @@ adding yourself for debugging purposes: <code> -zone "linux.bogus" { +zone "freebsd.bogus" { allow-transfer { 192.168.1.4; localhost; }; }; </code> @@ -1400,7 +1399,7 @@ allow-query { 192.168.196.0/24; localhost; }; }; -zone "linux.bogus" { +zone "freebsd.bogus" { allow-query { any; }; }; @@ -1456,7 +1455,7 @@ here differs a bit from what you find if you query LAND-5's name servers now. -<sect1>/etc/named.conf (or /var/named/named.conf) +<sect1>/etc/namedb/named.conf <p>Here we find master zone sections for the two reverse zones needed: the 127.0.0 net, as well as LAND-5's <tt/206.6.177/ subnet, and a @@ -1468,7 +1467,7 @@ // Boot file for LAND-5 name server options { - directory "/var/named"; + directory "/etc/namedb"; }; controls { @@ -1505,7 +1504,7 @@ put ``<tt/notify no;/'' in the zone sections for the two <tt/land-5/ zones so as to avoid accidents. -<sect1>/var/named/root.hints +<sect1>/etc/namedbb/named.root <p>Keep in mind that this file is dynamic, and the one listed here is old. You're better off using a new one as explained earlier. @@ -1556,7 +1555,7 @@ ;; MSG SIZE sent: 17 rcvd: 436 </code> -<sect1>/var/named/zone/127.0.0 +<sect1>/etc/namedb/zone/127.0.0 <p>Just the basics, the obligatory SOA record, and a record that maps 127.0.0.1 to <tt/localhost/. Both are required. No more should be in @@ -1581,7 +1580,7 @@ before, and only version 8.2 of BIND has started to warn about its absence. BIND 9 <em/requires/ the <tt/$TTL/. -<sect1>/var/named/zone/land-5.com +<sect1>/etc/namedb/zone/land-5.com <p>Here we see the mandatory SOA record, the needed NS records. We can see that he has a secondary name server at <tt/ns2.psi.net/. This @@ -1672,7 +1671,7 @@ <p>We also see that <tt/funn.land-5.com/ is an alias for <tt/land-5.com/, but using an A record, not a CNAME record. -<sect1>/var/named/zone/206.6.177 +<sect1>/etc/namedb/zone/206.6.177 <p>I'll comment on this file below @@ -1797,10 +1796,10 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin: export PATH - # NOTE: /var/named must be writable only by trusted users or this script + # NOTE: /etc/namedb must be writable only by trusted users or this script # will cause root compromise/denial of service opportunities. - cd /var/named 2>/dev/null || { - echo "Subject: Cannot cd to /var/named, error $?" + cd /etc/namedb 2>/dev/null || { + echo "Subject: Cannot cd to /etc/namedb, error $?" echo echo "The subject says it all" exit 1 @@ -1849,7 +1848,7 @@ echo echo "The nameserver has been restarted to ensure that the update is complete." echo "The previous root.hints file is now called -/var/named/root.hints.old." +/etc/namedb/named.root" ) 2>&1 | /usr/lib/sendmail -t exit 0 </code> @@ -1912,9 +1911,9 @@ like this in the named.conf file of your secondary: <code> - zone "linux.bogus" { + zone "freebsd.bogus" { type slave; - file "sz/linux.bogus"; + file "freebsd.bogus"; masters { 127.0.0.1; }; }; </code> @@ -2082,7 +2081,7 @@ not recommended. <item>How can I get a domain? I want to set up my own domain called - (for example) <tt/linux-rules.net/. How can I get the domain I want + (for example) <tt/freebsd-rules.net/. How can I get the domain I want assigned to me? <p>Please contact your network service provider. They will be able