home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / n / bind / bind-4.001 / bind-4~ / bind-4.9.3-BETA9 / doc / bog / build.me < prev    next >
Text File  |  1994-06-25  |  11KB  |  215 lines

  1. .\" ++Copyright++ 1986, 1988
  2. .\" -
  3. .\" Copyright (c) 1986, 1988
  4. .\"    The Regents of the University of California.  All rights reserved.
  5. .\" 
  6. .\" Redistribution and use in source and binary forms, with or without
  7. .\" modification, are permitted provided that the following conditions
  8. .\" are met:
  9. .\" 1. Redistributions of source code must retain the above copyright
  10. .\"    notice, this list of conditions and the following disclaimer.
  11. .\" 2. Redistributions in binary form must reproduce the above copyright
  12. .\"    notice, this list of conditions and the following disclaimer in the
  13. .\"    documentation and/or other materials provided with the distribution.
  14. .\" 3. All advertising materials mentioning features or use of this software
  15. .\"    must display the following acknowledgement:
  16. .\"     This product includes software developed by the University of
  17. .\"     California, Berkeley and its contributors.
  18. .\" 4. Neither the name of the University nor the names of its contributors
  19. .\"    may be used to endorse or promote products derived from this software
  20. .\"    without specific prior written permission.
  21. .\" 
  22. .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  23. .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24. .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25. .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  26. .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  27. .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  28. .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  29. .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  30. .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  31. .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  32. .\" SUCH DAMAGE.
  33. .\" -
  34. .\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
  35. .\" 
  36. .\" Permission to use, copy, modify, and distribute this software for any
  37. .\" purpose with or without fee is hereby granted, provided that the above
  38. .\" copyright notice and this permission notice appear in all copies, and that
  39. .\" the name of Digital Equipment Corporation not be used in advertising or
  40. .\" publicity pertaining to distribution of the document or software without
  41. .\" specific, written prior permission.
  42. .\" 
  43. .\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
  44. .\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
  45. .\" OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL DIGITAL EQUIPMENT
  46. .\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  47. .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  48. .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
  49. .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  50. .\" SOFTWARE.
  51. .\" -
  52. .\" --Copyright--
  53. .\"
  54. .\"    @(#)build.me    6.3 (Berkeley) 9/19/89
  55. .\"
  56. .sh 1 "Building A System with a Name Server"
  57. .pp
  58. BIND is composed of two parts.  One is the user interface called the 
  59. \fIresolver\fP
  60. which consists of a group of routines that reside in the C library 
  61. \fI/lib/libc.a\fP.
  62. Second is the actual server called \fInamed\fP.
  63. This is a daemon that runs in the background and services queries on a 
  64. given network port. The standard port for UDP and TCP is specified in 
  65. \fI/\|etc/\|services\fP.
  66. .sh 2 "Resolver Routines in libc"
  67. .pp
  68. When building your 4.3BSD system you may either
  69. build the C library to use the name server resolver routines 
  70. or use the host table lookup routines to do host name and address resolution.
  71. The default resolver for 4.3BSD uses the name server.  Newer BSD systems
  72. include both name server and host table functionality with preference given
  73. to the name server if there is one or if there is a \fI/etc/resolv.conf\fP
  74. file.
  75. .pp
  76. Building the C library to use the name server changes the way
  77. \fIgethostbyname\fP\|(3N), \fIgethostbyaddr\fP\|(3N), and
  78. \fIsethostent\fP\|(3N) do their functions.  The name server renders
  79. \fIgethostent\fP\|(3N) obsolete, since it has no concept of a next line in
  80. the database.  These library calls are built with the resolver routines
  81. needed to query the name server.
  82. .pp
  83. The \fIresolver\fP contains functions that build query
  84. packets and exchange them with name servers.
  85. .pp
  86. Before building the 4.3BSD C library, set the variable \fIHOSTLOOKUP\fP
  87. equal to \fInamed\fP in \fI/\|usr/\|src/\|lib/\|libc/\|Makefile\fP.  You
  88. then make and install the C library and compiler and then compile the rest
  89. of the 4.3BSD system.  For more information see section 6.6 of ``Installing
  90. and Operating 4.3BSD on the VAX\(dd''.
  91. .(f
  92. \(ddVAX is a Trademark of Digital Equipment Corporation
  93. .)f
  94. .pp
  95. If your operating system isn't VAX\(dd 4.3BSD, it is probably the case that
  96. your vendor has included \fIresolver\fP support in the supplied C Library.
  97. You should consult your vendor's documentation to find out what has to be
  98. done to enable \fIresolver\fP support.  Note that your vendor's \fIresolver\fP
  99. may be out of date with respect to the one shipped with \s-1BIND\s+1, and that
  100. you might want to build \s-1BIND\s+1's resolver library and install it, and
  101. its include files, into your system's compile/link path so that your own
  102. network applications will be able to use the newer features.
  103.  
  104. .sh 2 "The Name Service"
  105. .pp
  106. The basic function of the name server is to provide information about network
  107. objects by answering queries.  The specifications for this name server are
  108. defined in RFC1034, RFC1035 and RFC974.  These documents can be found in
  109. \fI/usr/src/etc/named/doc\fP in 4.3BSD or \fIftp\fPed from 
  110. \fBftp.rs.internic.net\fP.
  111. It is also recommended that you read the related manual pages,
  112. \fInamed\fP\|(8),
  113. \fIresolver\fP\|(3),
  114. and \fIresolver\fP\|(5).
  115. .pp
  116. The advantage of using a name server over the host table lookup for host
  117. name resolution is to avoid the need for a single centralized clearinghouse
  118. for all names.  The authority for this information can be delegated to the
  119. different organizations on the network responsible for it.
  120. .pp
  121. The host table lookup routines require that the master file for the entire
  122. network be maintained at a central location by a few people.  This works
  123. fine for small networks where there are only a few machines and the
  124. different organizations responsible for them cooperate.  But this does not
  125. work well for large networks where machines cross organizational boundaries.
  126. .pp
  127. With the name server, the network can be broken into a hierarchy of domains. 
  128. The name space is organized as a tree according to organizational or
  129. administrative boundaries. 
  130. Each node, called a \fIdomain\fP, is given a label, and the name of the
  131. domain is the concatenation of all the labels of the domains from
  132. the root to the current domain, listed from right to left separated by dots.
  133. A label need only be unique within its domain.
  134. The whole space is partitioned into several areas called \fIzones\fP,
  135. each starting at a domain and extending down to the leaf domains or to
  136. domains where other zones start.  
  137. Zones usually represent administrative boundaries.
  138. An example of a host address for a host at the University of California,
  139. Berkeley would look as follows:
  140. .(b
  141. \fImonet\fP\|\fB.\fP\|\fIBerkeley\fP\|\fB.\fP\|\fIEDU\fP
  142. .)b
  143. The top level domain for educational organizations is EDU;
  144. Berkeley is a subdomain of EDU and monet is the name of the host.
  145.  
  146. .sh 2 "About Hesiod, and HS-class Resource Records
  147. .pp
  148. Hesiod, developed by \s-1MIT\s+1 Project Athena, is an information service
  149. built upon \s-1BIND\s+1.  Its intent is similar to that of Sun's
  150. \s-1NIS\s+1: to furnish information about users, groups, network-accessible
  151. file systems, printcaps, and mail service throughout an installation.  Aside
  152. from its use of \s-1BIND\s+1 rather than separate server code another
  153. important difference between Hesiod and \s-1NIS\s+1 is that Hesiod is not
  154. intended to deal with passwords and authentication, but only with data that
  155. are not security sensitive.  Hesiod servers can be implemented by adding
  156. resource records to \s-1BIND\s+1 servers; or they can be implemented as
  157. separate servers separately administered.
  158. .pp
  159. To learn about and obtain Hesiod make an anonymous \s-1FTP\s+1 connection to
  160. host \s-1ATHENA-DIST.MIT.EDU\s+1 and retrieve the compressed tar file
  161. \fBpub/ATHENA/hesiod.tar.Z\fP.  You will not need the named and resolver
  162. library portions of the distribution because their functionality has already
  163. been integrated into \s-1BIND as of 4.9\s+1.  To learn how Hesiod functions
  164. as part of the Athena computing environment obtain the paper
  165. \fB/pub/ATHENA/usenix/athena-changes.PS\fP from the above \s-1FTP\s+1 server
  166. host.  There is also a tar file of sample Hesiod resource files.
  167. .pp
  168. Whether one should use Hesiod class is open to question, since the same
  169. services can probably be provided with class IN, type TXT and type
  170. CNAME records.  In either case, the code and documents for Hesiod will
  171. suggest how to set up and use the service.
  172. .pp
  173. Note that while \s-1BIND\s+1 includes support for \fIHS\fP-class queries,
  174. the zone transfer logic for non-\fIIN\fP-class zones is still experimental.
  175.  
  176. .sh 2 "About ``secure zones''
  177. .pp
  178. Secure zones implement named security on a zone by zone basis.  It is
  179. designed to use a permission list of networks or hosts which may obtain
  180. particular information from the zone.
  181. .pp
  182. In order to use zone security, \fInamed\fP must be compiled with SECURE_ZONES
  183. defined and you must have at least one secure_zone TXT RR.  Unless a
  184. \fIsecure_zone\fP record exists for a given zone, no restrictions will be
  185. applied to the data in that zone.  The format of the secure_zone TXT RR is:
  186. .lp
  187. secure_zone\h'0.5i'addr-class\h'0.5i'TXT\h'0.5i'string
  188. .pp
  189. The addr-class may be either \fIHS\fP or \fIIN\fP.  The syntax for the TXT
  190. string is either ``network address:netmask'' or ``host IP address:H''.
  191. .pp
  192. ``network address:netmask'' allows queries from an entire network.  If the
  193. netmask is omitted, named will use the default netmask for the network
  194. address specified.
  195. .pp
  196. ``host IP address:H'' allows queries from a host.  The ``H'' after the ``:''
  197. is required to differentiate the host address from a network address.
  198. Multiple secure_zone TXT RRs are allowed in the same zone file.
  199. .pp
  200. For example, you can set up a zone to only answer hesiod requests from the
  201. masked class B network 130.215.0.0 and from host 128.23.10.56 by adding the
  202. following two TXT RR's:
  203. .lp
  204. secure_zone\h'0.5i'HS\h'0.5i'TXT\h'0.5i'``130.215.0.0:255.255.0.0''
  205. secure_zone\h'0.5i'HS\h'0.5i'TXT\h'0.5i'``128.23.10.56:H''
  206. .pp
  207. This feature can be used to restrict access to a Hesiod password map or to
  208. seperate internal and external internet address resolution on a firewall
  209. machine without needing to run a seperate named for internal and external
  210. address resolution.
  211. .pp
  212. Note that you will need to include your loopback interface (127.0.0.1) in
  213. your secure_zone record, or your local clients won't be able to resolve
  214. names.
  215.