diff --git a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
index 6cde4ef3a6..cd443d65b5 100644
--- a/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
+++ b/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -1,7 +1,7 @@
@@ -2703,9 +2703,649 @@ dhcp_flags=""
+
+DNS
+Written by Chern Lee clee@serenivision.com, April 12, 2001.
+
+
+
+
+ Overview
+ FreeBSD utilizes, by default, a version of BIND (Berkeley Internet Name
+ Domain), which is the most common implementation of the DNS protocol. DNS
+ is the protocol through which names are mapped to ips, and vice
+ versa. For example, a query for www.freebsd.org will send back a reply
+ for the IP address of The FreeBSD Project's webpage, whereas, a query for
+ ftp.freebsd.org will return the IP of the corresponding ftp
+ machine. Likewise, the opposite can happen. A query for an ip address
+ can resolve its hostname.
+
+
+ DNS is coordinated across the Internet through a somewhat complex system
+ of authoritative root name servers, and other smaller-scale nameservers
+ who host and relay individual domain information.
+
+
+
+ This document refers to BIND 8.x, as it is the most current, stable
+ version used in FreeBSD.
+
+
+
+ RFC1034 and RFC1035 dictates the DNS protocol.
+
+
+
+ Currently, BIND is maintained by the
+ Internet Software Consortium (www.isc.org)
+
+
+
+
+ Terminology Used
+
+ zone - Each individual domain, subdomain,
+ or 'area' dictated by DNS is considered a zone.
+
+
+ Examples of zones:
+
+
+
+ . is the root zone
+
+
+ org. is a zone under the root zone
+
+
+ foobardomain.org is a zone under the org. zone
+
+
+ foo.foobardomain.org. is a subdomain, a zone under the
+ foobardomain.org. zone
+
+
+
+
+ 1.2.3.in-addr.arpa is a zone referencing all ips which fall under
+ the 3.2.1.* ip space.
+
+
+
+
+ named, bind, name server - these are all common
+ names for the BIND name server package within FreeBSD.
+
+
+ resolver - a network process by which a system
+ queries a nameserver for answers
+
+
+ root zone - literally, a '.', refers to the root,
+ or beginning zone. All zones fall under this, as do all files in fall
+ under the root directory. It is the beginning of the Internet zone
+ hierarchy
+
+
+ origin - refers to the point of start for the
+ particular zone
+
+
+ forward dns - mapping of hostnames to ip addresses
+
+
+ reverse dns - the opposite, mapping of ip
+ addresses to hostnames
+
+
+
+
+ Reasons to run a name server
+
+
+
+ You need your machine to host DNS information to the world
+
+
+
+ An authoritative nameserver replies exclusively
+ to requests.
+
+
+
+ For example, you register foobardomain.org and wish to assign
+ hostnames to its proper ip addresses.
+
+
+
+ A slave nameserver, which replies to queries for a
+ domain when the primary is down or inaccessible.
+
+
+
+ The above two can also be done with in-addr.arpa, ip to
+ hostname entries
+
+
+
+
+
+
+ You wish your machine to act as a local relay of DNS
+ information
+
+
+
+ DNS traffic has been measured to be about 5% or more of
+ the total Internet traffic.
+
+
+
+ A local DNS server may have some added benefit by
+ providing a local cache of DNS information.
+
+
+
+
+ For example, when one queries for www.freebsd.org, their
+ resolver goes out to (usually) your ISP's name server, and
+ retreives the query.
+
+
+
+
+ With a local, caching DNS server, the query only has to be
+ made once to the outside world. Every additional query will
+ not have to go outside of the local network, since the
+ information is cached.
+
+
+
+
+
+
+
+
+How it works
+
+ A DNS server in FreeBSD relies on the BIND daemon. This daemon is
+ called 'named' for obvious reasons.
+
+
+ named - the bind daemon
+ ndc - name daemon control program
+
+
+ /etc/namedb - directory where all the bind information
+ resides
+
+
+ /etc/namedb/named.conf - daemon configuration file
+
+
+
+ zone files are usually contained within the /etc/namedb
+ directory, and contain the information (query answers from your site)
+ served by your name server.
+
+
+
+
+ Starting BIND
+
+ Since bind is installed by default, configuring it all is relatively
+ simple.
+
+
+ To ensure the named daemon is started at boot, put the following
+ modifications in your /etc/rc.conf
+
+ named_enable="YES"
+ To start the daemon manually (after configuring it)
+ &prompt.root; ndc start
+
+
+
+ Configuration files
+
+ make-localhost
+ Be sure to
+
+
+ &prompt.root; cd /etc/namedb
+ &prompt.root; sh make-localhost
+
+ to properly create your local reverse dns zone file in
+ /etc/namedb/localhost.rev.
+
+
+
+
+ /etc/namedb/named.conf
+
+
+// $FreeBSD: src/etc/namedb/named.conf,v 1.6.2.1 2000/07/15 07:49:29 kris Exp $
+//
+// Refer to the named(8) man page for details. If you are ever going
+// to setup a primary server, make sure you've understood the hairy
+// details of how DNS is working. Even with simple mistakes, you can
+// break connectivity for affected parties, or cause huge amount of
+// useless Internet traffic.
+
+options {
+ directory "/etc/namedb";
+
+// In addition to the "forwarders" clause, you can force your name
+// server to never initiate queries of its own, but always ask its
+// forwarders only, by enabling the following line:
+//
+// forward only;
+
+// If you've got a DNS server around at your upstream provider, enter
+// its IP address here, and enable the line below. This will make you
+// benefit from its cache, thus reduce overall DNS traffic in the
+Internet.
+/*
+ forwarders {
+ 127.0.0.1;
+ };
+*/
+
+
+
+ Just as the comment says, if you want to benefit from your uplink's
+ cache, you can enable this section of the config file.
+
+ Normally, your nameserver will recursively query different nameservers
+ until it finds the answer it is looking for. Having this enabled will
+ have it automatically see if your uplink's (or whatever provided) ns
+ has the requested query.
+
+ If your uplink has a heavily trafficked, fast nameserver, enabling
+ this properly could work to your advantage.
+
+ 127.0.0.1 will *NOT* work here; change this to the ip of a nameserver
+ at your uplink.
+
+
+
+ /*
+ * If there is a firewall between you and nameservers you want
+ * to talk to, you might need to uncomment the query-source
+ * directive below. Previous versions of BIND always asked
+ * questions using port 53, but BIND 8.1 uses an unprivileged
+ * port by default.
+ */
+ // query-source address * port 53;
+
+ /*
+ * If running in a sandbox, you may have to specify a different
+ * location for the dumpfile.
+ */
+ // dump-file "s/named_dump.db";
+};
+
+// Note: the following will be supported in a future release.
+/*
+host { any; } {
+ topology {
+ 127.0.0.0/8;
+ };
+};
+*/
+
+// Setting up secondaries is way easier and the rough picture for this
+// is explained below.
+//
+// If you enable a local name server, don't forget to enter 127.0.0.1
+// into your /etc/resolv.conf so this server will be queried first.
+// Also, make sure to enable it in /etc/rc.conf.
+
+zone "." {
+ type hint;
+ file "named.root";
+};
+
+zone "0.0.127.IN-ADDR.ARPA" {
+ type master;
+ file "localhost.rev";
+};
+
+zone
+"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" {
+ type master;
+ file "localhost.rev";
+};
+
+// NB: Do not use the IP addresses below, they are faked, and only
+// serve demonstration/documentation purposes!
+//
+// Example secondary config entries. It can be convenient to become
+// a secondary at least for the zone where your own domain is in. Ask
+// your network administrator for the IP address of the responsible
+// primary.
+//
+// Never forget to include the reverse lookup (IN-ADDR.ARPA) zone!
+// (This is the first bytes of the respective IP address, in reverse
+// order, with ".IN-ADDR.ARPA" appended.)
+//
+// Before starting to setup a primary zone, better make sure you fully
+// understand how DNS and BIND works, however. There are sometimes
+// unobvious pitfalls. Setting up a secondary is comparably simpler.
+//
+// NB: Don't blindly enable the examples below. :-) Use actual names
+// and addresses instead.
+//
+// NOTE!!! FreeBSD runs bind in a sandbox (see named_flags in rc.conf).
+// The directory containing the secondary zones must be write accessible
+// to bind. The following sequence is suggested:
+//
+// mkdir /etc/namedb/s
+// chown bind.bind /etc/namedb/s
+// chmod 750 /etc/namedb/s
+
+/*
+zone "domain.com" {
+ type slave;
+ file "s/domain.com.bak";
+ masters {
+ 192.168.1.1;
+ };
+};
+
+zone "0.168.192.in-addr.arpa" {
+ type slave;
+ file "s/0.168.192.in-addr.arpa.bak";
+ masters {
+ 192.168.1.1;
+ };
+};
+*/
+
+
+ These are example slave entries, read below to see more.
+
+
+ For each new domain added to your nameserver, you must add one of
+ these entries to your named.conf
+
+
+ The simplest zone entry, can look like
+
+
+zone "foobardomain.org" {
+ type master;
+ file "foorbardomain.org";
+};
+
+
+ For a master entry with the zone information within
+ foobardomain.org, or
+
+
+
+zone "foobardomain.org" {
+ type slave;
+ file "foobardomain.org";
+};
+
+
+
+ for a slave. Note that slave zones automatically query the listed
+ master (authoritative) name servers for the zone file.
+
+
+
+
+ Zone files
+
+ An example master 'foobardomain.org' (existing within
+ /etc/namedb/foobardomain.org) is as follows:
+
+
+
+$TTL 3600
+
+foobardomain.org. IN SOA ns1.foobardomain.org. admin.foobardomain.org. (
+ 5 ; Serial
+ 10800 ; Refresh
+ 3600 ; Retry
+ 604800 ; Expire
+ 86400 ) ; Minimum TTL
+
+; DNS Servers
+@ IN NS ns1.foobardomain.org.
+@ IN NS ns2.foobardomain.org.
+
+; Machine Names
+localhost IN A 127.0.0.1
+ns1 IN A 3.2.1.2
+ns2 IN A 3.2.1.3
+mail IN A 3.2.1.10
+@ IN A 3.2.1.30
+
+; Aliases
+www IN CNAME @
+
+; MX Record
+@ IN MX 10 mail.foobardomain.org.
+
+
+
+ Note that every hostname ending in a '.' is an exact hostname, whereas
+ everything without a trailing '.' is referenced to the origin. For
+ example, www is transalated into www + origin. In our ficitious zone
+ file, our origin is foobardomain.org, so www would be
+ www.foobardomain.org.
+
+
+
+ The format of this file follows:
+
+ recordname IN recordtype value
+
+
+ The most commonly used DNS records:
+
+ SOA - start of zone authority
+ NS - an authoritative nameserver
+ A - A host address
+ CNAME - the canonical name for an alias
+ MX - mail exchange
+ PTR - a domain name pointer (used in reverse
+ dns)
+
+foobardomain.org. IN SOA ns1.foobardomain.org. admin.foobardomain.org. (
+ 5 ; Serial
+ 10800 ; Refresh after 3 hours
+ 3600 ; Retry after 1 hour
+ 604800 ; Expire after 1 week
+ 86400 ) ; Minimum TTL of 1 day
+
+
+ foobardomain.org. - the domain name, also the
+ origin for this zone file.
+
+ ns1.foobardomain.org. - the
+ primary/authoritative nameserver for this zone
+
+ admin.foobardomain.org. - the responsible
+ person for this zone, e-mail address with @ replaced.
+ (admin@foobardomain.org becomes admin.foobardomain.org)
+
+
+ 5 - the serial number of the file. this must be
+ incremented each time the zone file is modified. Nowadays, many
+ admins prefer a yyyymmddrr format for the serial number. 2001041002
+ would mean last modified 04/10/2001, the latter 02 being the second
+ time the zone file has been modified this day. The serial number is
+ important as it alerts slave nameservers for a zone when it is updated.
+
+
+
+@ IN NS ns1.foobardomain.org.
+
+
+ This is an NS entry. Every nameserver that is going to reply
+ authoritatively for the zone must have one of these entries. The @
+ is seen here could have been 'foobardomain.org.' The @ transalates to
+ the origin.
+
+
+
+localhost IN A 127.0.0.1
+ns1 IN A 3.2.1.2
+ns2 IN A 3.2.1.3
+mail IN A 3.2.1.10
+@ IN A 3.2.1.30
+
+
+ The A record indicates machine names. As seen above,
+ ns1.foobardomain.org would resolve to 3.2.1.2. Again, the origin
+ symbol, @, is used here, thus meaning foobardomain.org would resolve
+ to 3.2.1.30.
+
+
+
+www IN CNAME @
+
+
+ The canonical name record is usually used for giving aliases to a
+ machine. In the example, www is aliased to the machine addressed to
+ the origin, or foobardomain.org (3.2.1.30). CNAMEs can be used to
+ provide alias hostnames, or round robin one hostname among multiple
+ machines.
+
+
+
+@ IN MX 10 mail.foobardomain.org.
+
+
+
+ The MX record indictes which mail servers are responsible for handling
+ incoming mail for the zone. mail.foobardomain.org is the hostname of
+ the mail server, and 10 being the priority of that mailserver.
+
+
+
+ One can have several mailservers, with priorities of 3, 2, 1. A mail
+ server attempting to deliver to foobardomain.org would first try the
+ highest priority MX, then the second highest, etc, until the mail can
+ be properly delivered.
+
+
+
+ For in-addr.arpa zone files (reverse dns), the same format is used,
+ except with PTR entries instead of A or CNAME.
+
+
+
+$TTL 3600
+
+1.2.3.in-addr.arpa. IN SOA ns1.foobardomain.org. admin.foobardomain.org. (
+ 5 ; Serial
+ 10800 ; Refresh
+ 3600 ; Retry
+ 604800 ; Expire
+ 3600 ) ; Minimum
+
+@ IN NS ns1.foobardomain.org.
+@ IN NS ns2.foobardomain.org.
+
+2 IN PTR ns1.foobardomain.org.
+3 IN PTR ns2.foobardomain.org.
+10 IN PTR mail.foobardomain.org.
+30 IN PTR foobardomain.org.
+
+
+ This file gives the proper ip to hostname mappings of our above
+ ficticious domain.
+
+
+
+
+
+ Caching Name Server
+
+ A caching nameserver is simply a nameserver that is not authoritative for
+ any zones. It simply asks queries of its own, and remembers them for
+ later use. To set one up, just configure the name server as usual, omitting any inclusions of zones.
+
+
+
+
+ How to use the nameserver
+
+ If setup properly, the nameserver should be accessible through the
+ network and locally. /etc/resolv.conf must contain
+ a nameserver entry with the local ip so it will query the local name
+ server first.
+
+
+
+ To access it over the network, the machine must have the nameserver's ip
+ set properly in its own nameserver configuration options.
+
+
+
+
+ Security
+
+ Although BIND is the most common implementation of DNS, there is
+ always the issue of security. Possible and exploitable security holes
+ are sometimes found.
+
+
+
+ It is a good idea to subscribe to CERT
+ and
+ freebsd-announce
+ to stay up to date with the current Internet and FreeBSD security issues.
+
+
+
+ If a problem arises, keeping your sources up to date and having a fresh
+ build of named can't hurt.
+
+
+
+
+ Further Reading
+
+ &man.ndc.8; &man.named.8; &man.named.conf.5;
+
+
+
+ Official ISC BIND Page
+ http://www.isc.org/products/BIND/
+
+
+
+ BIND FAQ
+
+ http://www.nominum.com/resources/faqs/bind-faqs.html
+
+
+
+ O'Reilly DNS and BIND 4th Edition
+
+
+
+ RFC1034 - Domain Names -
+ Concepts and Facilities
+
+
+
+ RFC1035 - Domain Names -
+ Implementation and Specification
+
+
+
+
+
-
@@ -2703,9 +2703,649 @@ dhcp_flags=""
+
+DNS
+Written by Chern Lee clee@serenivision.com, April 12, 2001.
+
+
+
+
+ Overview
+ FreeBSD utilizes, by default, a version of BIND (Berkeley Internet Name
+ Domain), which is the most common implementation of the DNS protocol. DNS
+ is the protocol through which names are mapped to ips, and vice
+ versa. For example, a query for www.freebsd.org will send back a reply
+ for the IP address of The FreeBSD Project's webpage, whereas, a query for
+ ftp.freebsd.org will return the IP of the corresponding ftp
+ machine. Likewise, the opposite can happen. A query for an ip address
+ can resolve its hostname.
+
+
+ DNS is coordinated across the Internet through a somewhat complex system
+ of authoritative root name servers, and other smaller-scale nameservers
+ who host and relay individual domain information.
+
+
+
+ This document refers to BIND 8.x, as it is the most current, stable
+ version used in FreeBSD.
+
+
+
+ RFC1034 and RFC1035 dictates the DNS protocol.
+
+
+
+ Currently, BIND is maintained by the
+ Internet Software Consortium (www.isc.org)
+
+
+
+
+ Terminology Used
+
+ zone - Each individual domain, subdomain,
+ or 'area' dictated by DNS is considered a zone.
+
+
+ Examples of zones:
+
+
+
+ . is the root zone
+
+
+ org. is a zone under the root zone
+
+
+ foobardomain.org is a zone under the org. zone
+
+
+ foo.foobardomain.org. is a subdomain, a zone under the
+ foobardomain.org. zone
+
+
+
+
+ 1.2.3.in-addr.arpa is a zone referencing all ips which fall under
+ the 3.2.1.* ip space.
+
+
+
+
+ named, bind, name server - these are all common
+ names for the BIND name server package within FreeBSD.
+
+
+ resolver - a network process by which a system
+ queries a nameserver for answers
+
+
+ root zone - literally, a '.', refers to the root,
+ or beginning zone. All zones fall under this, as do all files in fall
+ under the root directory. It is the beginning of the Internet zone
+ hierarchy
+
+
+ origin - refers to the point of start for the
+ particular zone
+
+
+ forward dns - mapping of hostnames to ip addresses
+
+
+ reverse dns - the opposite, mapping of ip
+ addresses to hostnames
+
+
+
+
+ Reasons to run a name server
+
+
+
+ You need your machine to host DNS information to the world
+
+
+
+ An authoritative nameserver replies exclusively
+ to requests.
+
+
+
+ For example, you register foobardomain.org and wish to assign
+ hostnames to its proper ip addresses.
+
+
+
+ A slave nameserver, which replies to queries for a
+ domain when the primary is down or inaccessible.
+
+
+
+ The above two can also be done with in-addr.arpa, ip to
+ hostname entries
+
+
+
+
+
+
+ You wish your machine to act as a local relay of DNS
+ information
+
+
+
+ DNS traffic has been measured to be about 5% or more of
+ the total Internet traffic.
+
+
+
+ A local DNS server may have some added benefit by
+ providing a local cache of DNS information.
+
+
+
+
+ For example, when one queries for www.freebsd.org, their
+ resolver goes out to (usually) your ISP's name server, and
+ retreives the query.
+
+
+
+
+ With a local, caching DNS server, the query only has to be
+ made once to the outside world. Every additional query will
+ not have to go outside of the local network, since the
+ information is cached.
+
+
+
+
+
+
+
+
+How it works
+
+ A DNS server in FreeBSD relies on the BIND daemon. This daemon is
+ called 'named' for obvious reasons.
+
+
+ named - the bind daemon
+ ndc - name daemon control program
+
+
+ /etc/namedb - directory where all the bind information
+ resides
+
+
+ /etc/namedb/named.conf - daemon configuration file
+
+
+
+ zone files are usually contained within the /etc/namedb
+ directory, and contain the information (query answers from your site)
+ served by your name server.
+
+
+
+
+ Starting BIND
+
+ Since bind is installed by default, configuring it all is relatively
+ simple.
+
+
+ To ensure the named daemon is started at boot, put the following
+ modifications in your /etc/rc.conf
+
+ named_enable="YES"
+ To start the daemon manually (after configuring it)
+ &prompt.root; ndc start
+
+
+
+ Configuration files
+
+ make-localhost
+ Be sure to
+
+
+ &prompt.root; cd /etc/namedb
+ &prompt.root; sh make-localhost
+
+ to properly create your local reverse dns zone file in
+ /etc/namedb/localhost.rev.
+
+
+
+
+ /etc/namedb/named.conf
+
+
+// $FreeBSD: src/etc/namedb/named.conf,v 1.6.2.1 2000/07/15 07:49:29 kris Exp $
+//
+// Refer to the named(8) man page for details. If you are ever going
+// to setup a primary server, make sure you've understood the hairy
+// details of how DNS is working. Even with simple mistakes, you can
+// break connectivity for affected parties, or cause huge amount of
+// useless Internet traffic.
+
+options {
+ directory "/etc/namedb";
+
+// In addition to the "forwarders" clause, you can force your name
+// server to never initiate queries of its own, but always ask its
+// forwarders only, by enabling the following line:
+//
+// forward only;
+
+// If you've got a DNS server around at your upstream provider, enter
+// its IP address here, and enable the line below. This will make you
+// benefit from its cache, thus reduce overall DNS traffic in the
+Internet.
+/*
+ forwarders {
+ 127.0.0.1;
+ };
+*/
+
+
+
+ Just as the comment says, if you want to benefit from your uplink's
+ cache, you can enable this section of the config file.
+
+ Normally, your nameserver will recursively query different nameservers
+ until it finds the answer it is looking for. Having this enabled will
+ have it automatically see if your uplink's (or whatever provided) ns
+ has the requested query.
+
+ If your uplink has a heavily trafficked, fast nameserver, enabling
+ this properly could work to your advantage.
+
+ 127.0.0.1 will *NOT* work here; change this to the ip of a nameserver
+ at your uplink.
+
+
+
+ /*
+ * If there is a firewall between you and nameservers you want
+ * to talk to, you might need to uncomment the query-source
+ * directive below. Previous versions of BIND always asked
+ * questions using port 53, but BIND 8.1 uses an unprivileged
+ * port by default.
+ */
+ // query-source address * port 53;
+
+ /*
+ * If running in a sandbox, you may have to specify a different
+ * location for the dumpfile.
+ */
+ // dump-file "s/named_dump.db";
+};
+
+// Note: the following will be supported in a future release.
+/*
+host { any; } {
+ topology {
+ 127.0.0.0/8;
+ };
+};
+*/
+
+// Setting up secondaries is way easier and the rough picture for this
+// is explained below.
+//
+// If you enable a local name server, don't forget to enter 127.0.0.1
+// into your /etc/resolv.conf so this server will be queried first.
+// Also, make sure to enable it in /etc/rc.conf.
+
+zone "." {
+ type hint;
+ file "named.root";
+};
+
+zone "0.0.127.IN-ADDR.ARPA" {
+ type master;
+ file "localhost.rev";
+};
+
+zone
+"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" {
+ type master;
+ file "localhost.rev";
+};
+
+// NB: Do not use the IP addresses below, they are faked, and only
+// serve demonstration/documentation purposes!
+//
+// Example secondary config entries. It can be convenient to become
+// a secondary at least for the zone where your own domain is in. Ask
+// your network administrator for the IP address of the responsible
+// primary.
+//
+// Never forget to include the reverse lookup (IN-ADDR.ARPA) zone!
+// (This is the first bytes of the respective IP address, in reverse
+// order, with ".IN-ADDR.ARPA" appended.)
+//
+// Before starting to setup a primary zone, better make sure you fully
+// understand how DNS and BIND works, however. There are sometimes
+// unobvious pitfalls. Setting up a secondary is comparably simpler.
+//
+// NB: Don't blindly enable the examples below. :-) Use actual names
+// and addresses instead.
+//
+// NOTE!!! FreeBSD runs bind in a sandbox (see named_flags in rc.conf).
+// The directory containing the secondary zones must be write accessible
+// to bind. The following sequence is suggested:
+//
+// mkdir /etc/namedb/s
+// chown bind.bind /etc/namedb/s
+// chmod 750 /etc/namedb/s
+
+/*
+zone "domain.com" {
+ type slave;
+ file "s/domain.com.bak";
+ masters {
+ 192.168.1.1;
+ };
+};
+
+zone "0.168.192.in-addr.arpa" {
+ type slave;
+ file "s/0.168.192.in-addr.arpa.bak";
+ masters {
+ 192.168.1.1;
+ };
+};
+*/
+
+
+ These are example slave entries, read below to see more.
+
+
+ For each new domain added to your nameserver, you must add one of
+ these entries to your named.conf
+
+
+ The simplest zone entry, can look like
+
+
+zone "foobardomain.org" {
+ type master;
+ file "foorbardomain.org";
+};
+
+
+ For a master entry with the zone information within
+ foobardomain.org, or
+
+
+
+zone "foobardomain.org" {
+ type slave;
+ file "foobardomain.org";
+};
+
+
+
+ for a slave. Note that slave zones automatically query the listed
+ master (authoritative) name servers for the zone file.
+
+
+
+
+ Zone files
+
+ An example master 'foobardomain.org' (existing within
+ /etc/namedb/foobardomain.org) is as follows:
+
+
+
+$TTL 3600
+
+foobardomain.org. IN SOA ns1.foobardomain.org. admin.foobardomain.org. (
+ 5 ; Serial
+ 10800 ; Refresh
+ 3600 ; Retry
+ 604800 ; Expire
+ 86400 ) ; Minimum TTL
+
+; DNS Servers
+@ IN NS ns1.foobardomain.org.
+@ IN NS ns2.foobardomain.org.
+
+; Machine Names
+localhost IN A 127.0.0.1
+ns1 IN A 3.2.1.2
+ns2 IN A 3.2.1.3
+mail IN A 3.2.1.10
+@ IN A 3.2.1.30
+
+; Aliases
+www IN CNAME @
+
+; MX Record
+@ IN MX 10 mail.foobardomain.org.
+
+
+
+ Note that every hostname ending in a '.' is an exact hostname, whereas
+ everything without a trailing '.' is referenced to the origin. For
+ example, www is transalated into www + origin. In our ficitious zone
+ file, our origin is foobardomain.org, so www would be
+ www.foobardomain.org.
+
+
+
+ The format of this file follows:
+
+ recordname IN recordtype value
+
+
+ The most commonly used DNS records:
+
+ SOA - start of zone authority
+ NS - an authoritative nameserver
+ A - A host address
+ CNAME - the canonical name for an alias
+ MX - mail exchange
+ PTR - a domain name pointer (used in reverse
+ dns)
+
+foobardomain.org. IN SOA ns1.foobardomain.org. admin.foobardomain.org. (
+ 5 ; Serial
+ 10800 ; Refresh after 3 hours
+ 3600 ; Retry after 1 hour
+ 604800 ; Expire after 1 week
+ 86400 ) ; Minimum TTL of 1 day
+
+
+ foobardomain.org. - the domain name, also the
+ origin for this zone file.
+
+ ns1.foobardomain.org. - the
+ primary/authoritative nameserver for this zone
+
+ admin.foobardomain.org. - the responsible
+ person for this zone, e-mail address with @ replaced.
+ (admin@foobardomain.org becomes admin.foobardomain.org)
+
+
+ 5 - the serial number of the file. this must be
+ incremented each time the zone file is modified. Nowadays, many
+ admins prefer a yyyymmddrr format for the serial number. 2001041002
+ would mean last modified 04/10/2001, the latter 02 being the second
+ time the zone file has been modified this day. The serial number is
+ important as it alerts slave nameservers for a zone when it is updated.
+
+
+
+@ IN NS ns1.foobardomain.org.
+
+
+ This is an NS entry. Every nameserver that is going to reply
+ authoritatively for the zone must have one of these entries. The @
+ is seen here could have been 'foobardomain.org.' The @ transalates to
+ the origin.
+
+
+
+localhost IN A 127.0.0.1
+ns1 IN A 3.2.1.2
+ns2 IN A 3.2.1.3
+mail IN A 3.2.1.10
+@ IN A 3.2.1.30
+
+
+ The A record indicates machine names. As seen above,
+ ns1.foobardomain.org would resolve to 3.2.1.2. Again, the origin
+ symbol, @, is used here, thus meaning foobardomain.org would resolve
+ to 3.2.1.30.
+
+
+
+www IN CNAME @
+
+
+ The canonical name record is usually used for giving aliases to a
+ machine. In the example, www is aliased to the machine addressed to
+ the origin, or foobardomain.org (3.2.1.30). CNAMEs can be used to
+ provide alias hostnames, or round robin one hostname among multiple
+ machines.
+
+
+
+@ IN MX 10 mail.foobardomain.org.
+
+
+
+ The MX record indictes which mail servers are responsible for handling
+ incoming mail for the zone. mail.foobardomain.org is the hostname of
+ the mail server, and 10 being the priority of that mailserver.
+
+
+
+ One can have several mailservers, with priorities of 3, 2, 1. A mail
+ server attempting to deliver to foobardomain.org would first try the
+ highest priority MX, then the second highest, etc, until the mail can
+ be properly delivered.
+
+
+
+ For in-addr.arpa zone files (reverse dns), the same format is used,
+ except with PTR entries instead of A or CNAME.
+
+
+
+$TTL 3600
+
+1.2.3.in-addr.arpa. IN SOA ns1.foobardomain.org. admin.foobardomain.org. (
+ 5 ; Serial
+ 10800 ; Refresh
+ 3600 ; Retry
+ 604800 ; Expire
+ 3600 ) ; Minimum
+
+@ IN NS ns1.foobardomain.org.
+@ IN NS ns2.foobardomain.org.
+
+2 IN PTR ns1.foobardomain.org.
+3 IN PTR ns2.foobardomain.org.
+10 IN PTR mail.foobardomain.org.
+30 IN PTR foobardomain.org.
+
+
+ This file gives the proper ip to hostname mappings of our above
+ ficticious domain.
+
+
+
+
+
+ Caching Name Server
+
+ A caching nameserver is simply a nameserver that is not authoritative for
+ any zones. It simply asks queries of its own, and remembers them for
+ later use. To set one up, just configure the name server as usual, omitting any inclusions of zones.
+
+
+
+
+ How to use the nameserver
+
+ If setup properly, the nameserver should be accessible through the
+ network and locally. /etc/resolv.conf must contain
+ a nameserver entry with the local ip so it will query the local name
+ server first.
+
+
+
+ To access it over the network, the machine must have the nameserver's ip
+ set properly in its own nameserver configuration options.
+
+
+
+
+ Security
+
+ Although BIND is the most common implementation of DNS, there is
+ always the issue of security. Possible and exploitable security holes
+ are sometimes found.
+
+
+
+ It is a good idea to subscribe to CERT
+ and
+ freebsd-announce
+ to stay up to date with the current Internet and FreeBSD security issues.
+
+
+
+ If a problem arises, keeping your sources up to date and having a fresh
+ build of named can't hurt.
+
+
+
+
+ Further Reading
+
+ &man.ndc.8; &man.named.8; &man.named.conf.5;
+
+
+
+ Official ISC BIND Page
+ http://www.isc.org/products/BIND/
+
+
+
+ BIND FAQ
+
+ http://www.nominum.com/resources/faqs/bind-faqs.html
+
+
+
+ O'Reilly DNS and BIND 4th Edition
+
+
+
+ RFC1034 - Domain Names -
+ Concepts and Facilities
+
+
+
+ RFC1035 - Domain Names -
+ Implementation and Specification
+
+
+
+
+
-