home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / NETWORK / ISP / bind.4.8.3.lzh / BIND483 / DOC / BOG / files.me < prev    next >
Text File  |  1993-08-24  |  20KB  |  476 lines

  1. .\" Copyright (c) 1986, 1988 Regents of the University of California.
  2. .\" All rights reserved.
  3. .\"
  4. .\" Redistribution and use in source and binary forms are permitted
  5. .\" provided that this notice is preserved and that due credit is given
  6. .\" to the University of California at Berkeley. The name of the University
  7. .\" may not be used to endorse or promote products derived from this
  8. .\" software without specific prior written permission. This software
  9. .\" is provided ``as is'' without express or implied warranty.
  10. .\"
  11. .\"    @(#)files.me    6.8 (Berkeley) 9/19/89
  12. .\"
  13. .sh 1 "Files
  14. .pp
  15. The name server uses several files to load its data base.
  16. This section covers the files and their formats needed for \fInamed\fP.
  17. .sh 2 "Boot File"
  18. .pp
  19. This is the file that is first read when \fInamed\fP starts up.
  20. This tells the server what type of server it is,
  21. which
  22. zones it has authority over and where to get its initial data.
  23. The default location for this file is \fI/\|etc\|/\|named\|.\|boot\fP\|.
  24. However this can be changed
  25. by setting the \fIBOOTFILE\fP variable when you compile \fInamed\fP 
  26. or by specifying
  27. the location on the command line when \fInamed\fP is started up.
  28. .sh 3 "Domain"
  29. .pp
  30. A default domain may be specified for the nameserver
  31. using a line such as
  32. .(b l
  33. .ta 0.5i +\w`secondary   `u +\w`berkeley.edu   `u +.5i +.5i
  34. \fIdomain     Berkeley\fP\fB\|.\|\fP\fIEdu\fP
  35. .)b
  36. .re
  37. The name server uses this information when it receives a query for a
  38. name without a ``\fB.\fP'' that is not known.
  39. When it receives one of these queries, it appends the name in the second
  40. field to the query name.
  41. This is an obsolete facility which will be removed from future releases.
  42. .sh 3 "Directory"
  43. .pp
  44. The directory line specifies the directory in which the nameserver should
  45. run, allowing the other file names in the boot file to use relative
  46. path names.
  47. .(b l
  48. .ta 0.5i +\w`secondary   `u +\w`berkeley.edu   `u +.5i +.5i
  49. \fIdirectory      /usr/local/domain\fP
  50. .)b
  51. .re
  52. If you have more than a couple of named files to be maintained,
  53. you may wish to place the named files in a directory such as
  54. /usr/local/domain and adjust the directory command properly.
  55. The main purposes of this command are to make sure named is
  56. in the proper directory when trying to include files by relative
  57. path names with $Include and to allow named to run in a location
  58. that is reasonable to dump core if it feels the urge.
  59. .sh 3 "Primary Master"
  60. .pp
  61. The line in the boot file that designates the server as a primary server 
  62. for a zone looks as follows:
  63. .(b l
  64. .ta 0.5i +\w`secondary   `u +\w`berkeley.edu   `u +.5i +.5i
  65. \fIprimary      Berkeley\fP\fB\|.\|\fP\fIEdu    ucbhosts\fP
  66. .)b
  67. .re
  68. The first field specifies that the server is a primary one for the zone 
  69. stated in the second field.
  70. The third field is the name of the file from which the data is read.
  71. .sh 3 "Secondary Master"
  72. .pp
  73. The line for a secondary server is similar to the primary except
  74. that it lists addresses of other servers (usually primary servers)
  75. from which the zone data will be obtained.
  76. .(b l
  77. .ta 0.5i +\w`secondary   `u +\w`berkeley.edu   `u +.5i +.5i
  78. \fIsecondary    Berkeley\fP\fB\|.\|\fP\fIEdu    128\fP\fB.\fP\fI32\fP\fB.\fP\fI0\fP\fB.\fP\fI10    \fP\fI128\fP\fB.\fP\fI32\fP\fB.\fP\fI0\fP\fB.\fP\fI4\fP \fIucbhosts.bak\fP
  79. .)b
  80. .re
  81. The first field specifies that the server is a secondary master server for
  82. the zone stated in the second field.
  83. The two network addresses 
  84. specify the name servers that are primary for the zone.
  85. The secondary server gets its data across the network from the listed servers.
  86. Each server is tried in the order listed until it successfully receives the data
  87. from a listed server.
  88. If a filename is present after the list of primary servers, data for the zone
  89. will be dumped into that file as a backup.
  90. When the server is first started, the data are loaded from the backup file
  91. if possible, and a primary server is then consulted to check that the zone
  92. is still up-to-date.
  93. .sh 3 "Caching Only Server"
  94. .pp
  95. You do not need a special line to designate that a server is a caching server.
  96. What denotes a caching only server is the absence of authority
  97. lines, such as \fIsecondary\fP or \fIprimary\fP in the boot file.
  98. .pp
  99. All servers should have a line as follows in the boot file to
  100. prime the name servers cache:
  101. .(b l
  102. \fIcache        \fP\fB.\fP\fI    root\fP\fB.\fP\fIcache\fP
  103. .)b
  104. All cache files listed will be read in at named boot time and
  105. any values still valid will be reinstated in the cache and the root
  106. nameserver information in the cache files will always be used.
  107. For information on cache file see section on \fICache Initialization\fP.
  108. .sh 3 "Forwarders"
  109. Any server can make use of \fIforwarders\fP.  A \fIforwarder\fP is another
  110. server capable of processing recursive queries that is willing to try
  111. resolving queries on behalf of other systems.  The \fIforwarders\fP
  112. command specifies forwarders by internet address as follows:
  113. .(b l
  114. \fIforwarders        \fI128\fP\fB.\fP\fI32\fP\fB.\fP\fI0\fP\fB.\fP\fI10    \fP\fI128\fP\fB.\fP\fI32\fP\fB.\fP\fI0\fP\fB.\fP\fI4\fP
  115. .)b
  116. .re
  117. There are two main reasons
  118. for wanting to do so.  First, the other systems may not have full network
  119. access and may be prevent from sending any IP packets into the rest of
  120. the network and therefore must rely on a forwarder which does have
  121. access to the full net.  The second reason is that the forwarder sees
  122. a union of all queries as they pass through his server and therefore he
  123. builds up a very rich cache of data compared to the cache in a typical
  124. workstation nameserver.  In effect, the \fIforwarder\fP becomes a meta-cache
  125. that all hosts can benefit from, thereby reducing the total number of queries
  126. from that site to the rest of the net.
  127. .sh 3 "Slave Mode"
  128. .pp
  129. Slave mode is used if the use of forwarders is the only possible way
  130. to resolve queries due to lack of full net access or if you wish to prevent
  131. the nameserver from using other than the listed forwarders.
  132. Slave mode is activated by placing the simple command
  133. .(b l
  134. \fIslave\fP
  135. .)b
  136. in the bootfile.  If \fIslave\fP is used, then you must specify forwarders.
  137. When in slave mode, the server will forward each query to each of the
  138. the forwarders until an answer is found or the list of forwarders is
  139. exhausted.
  140. .sh 3 "Remote Server"
  141. .pp
  142. To set up a host that will use a remote server instead of a local
  143. server to answer queries, the file \fI/\|etc/\|resolv\|.\|conf\fP 
  144. needs to be created.
  145. This file designates the name servers on the network that should 
  146. be sent queries.
  147. It is not advisable to create this file if you have a local server
  148. running.  If this file exists it is read almost every time
  149. \fIgethostbyname\|()\fP or \fIgethostbyaddr\|()\fP is called.
  150. .sh 2 "Cache Initialization"
  151. .sh 3 root.cache
  152. .pp
  153. The name server needs to know the servers that are the authoritative 
  154. name servers for the root domain of the network.
  155. To do this we have to prime the name server's cache with the addresses
  156. of these higher authorities.  
  157. The location of this file is specified in the boot file.
  158. This file uses the Standard Resource Record Format (aka. Masterfile Format)
  159. covered further on
  160. in this paper.
  161. .sh 2 "Domain Data Files"
  162. .pp
  163. There are three standard files for specifying the data for a 
  164. domain.  These are \fInamed\|.\|local\fP, \fIhosts\fP and \fIhost\|.\|rev\fP.
  165. These files use the Standard Resource Record Format covered later
  166. in this paper.
  167. .sh 3 named\|.\|local
  168. .pp
  169. This file specifies the address for the local loopback interface,
  170. better known as \fIlocalhost\fP with the network address 127.0.0.1.
  171. The location of this file is specified in the boot file.
  172. .sh 3 hosts
  173. .pp
  174. This file contains all the data about the machines in this zone.
  175. The location of this file is specified in the boot file.
  176. .sh 3 hosts\|.\|rev
  177. .pp
  178. This file specifies the IN-ADDR\|.\|ARPA domain.
  179. This is a special domain for allowing address to name mapping.
  180. As internet host addresses do not fall within domain boundaries,
  181. this special domain was formed to allow inverse mapping.
  182. The IN-ADDR\|.\|ARPA domain has four
  183. labels preceding it. These labels correspond to the 4 octets of
  184. an Internet address. 
  185. All four octets must be specified even if an octets is zero.
  186. The Internet address 128.32.0.4 is located in the domain
  187. 4\|.\|0\|.\|32\|.\|128\|.\|IN-ADDR\|.\|ARPA.
  188. This reversal of the address is awkward to read but allows 
  189. for the natural grouping of hosts in a network.
  190. .sh 2 "Standard Resource Record Format"
  191. .pp
  192. The records in the name server data files are called resource records.
  193. The Standard Resource Record Format (RR) is specified in RFC1035.
  194. The following is a general description of these records:
  195. .TS
  196. l l l l l.
  197. \fI{name}    {ttl}    addr-class    Record Type    Record Specific data\fP 
  198. .TE
  199. Resource records have a standard format shown above.
  200. The first field is always the name of the domain record
  201. and it must always start in column 1.
  202. For some RR's the name may be left blank;
  203. in that case it takes on the name of the previous RR.
  204. The second field is an optional time to live field.
  205. This specifies how long this data will be stored in the data base.
  206. By leaving this field blank the default time to live is specified
  207. in the \fIStart Of Authority\fP resource record (see below).
  208. The third field is the address class; currently, only one class is supported:
  209. \fIIN\fP for internet addresses and other information.
  210. The fourth field states the type of the resource record.
  211. The fields after that are dependent on the type of the RR.
  212. Case is preserved in names and data fields when loaded into the name server.
  213. All comparisons and lookups in the name server data base are case insensitive.
  214. .bl
  215. .b
  216. The following characters have special meanings:
  217. .ip \fB.\fP
  218. A free standing dot in the name field refers to the current domain.
  219. .ip @
  220. A free standing @ in the name field denotes the current origin.
  221. .ip "\fB.\|.\fP"
  222. Two free standing dots represent the null domain name of the root when used in 
  223. the name field.
  224. .ip "\\\X"
  225. Where X is any character other than a digit (0-9),
  226. quotes that character so that its special meaning does not apply.
  227. For example, ``\e.'' can be used to place a dot character in a label.
  228. .ip "\\\DDD"
  229. Where each D is a digit, is the octet corresponding to the
  230. decimal number described by DDD.  
  231. The resulting octet is assumed to be text and 
  232. is not checked for special meaning.
  233. .ip "( )"
  234. Parentheses are used to group data that crosses a line.  
  235. In effect, line terminations are not recognized within parentheses.
  236. .ip ";"
  237. Semicolon starts a comment; the remainder of the line is ignored.
  238. .ip "*"
  239. An asterisk signifies wildcarding.
  240. .pp
  241. Most resource records will have the current origin appended to names if they
  242. are not terminated by a ``\fB.\fP''.  
  243. This is useful for appending the current domain name to the data,
  244. such as machine names, but may cause problems where you do not want 
  245. this to happen.
  246. A good rule of thumb is that, if the name is not in of the domain for which
  247. you are creating the data file, end the name with a ``\fB.\fP''.
  248. .sh 3 $INCLUDE
  249. .pp
  250. An include line begins with $INCLUDE, starting in column 1,
  251. and is followed by a file name.
  252. This feature is
  253. particularly useful for separating different types of data into multiple files.
  254. An example would be:
  255. .(b l
  256. $INCLUDE /usr/named/data/mailboxs
  257. .)b
  258. The line would be interpreted as a request to load the file
  259. \fI/usr/named/data/mailboxes\fP.
  260. The $INCLUDE command does not cause data to be loaded into a
  261. different zone or tree. This is simply a way to allow data for a
  262. given zone to be organized in separate files.  For example,
  263. mailbox data might be kept separately from host data using this
  264. mechanism.
  265. .sh 3 $ORIGIN
  266. .pp
  267. The origin is a way of changing the origin in a data file. 
  268. The line starts in column 1, and is followed by a domain origin. 
  269. This is useful for putting more then one domain in a data file.
  270. .sh 3 "SOA - Start Of Authority"
  271. .(b L
  272. .TS
  273. l l l l l l.
  274. \fIname    {ttl}    addr-class    SOA    Origin    Person in charge\fP
  275. @        IN    SOA    ucbvax\fB.\fPBerkeley\fB.\fPEdu\fB.\fP    kjd\fB.\fPucbvax\fB.\fPBerkeley\fB.\fPEdu\fB.\fP (
  276.             1\|.\|1    ; Serial
  277.             10800    ; Refresh
  278.             1800    ; Retry
  279.             3600000    ; Expire
  280.             86400 )    ; Minimum
  281. .TE
  282. .)b
  283. The \fIStart of Authority, SOA,\fP record designates the start of a zone.
  284. The name is the name of the zone.  
  285. Origin is the name of the host on which this data file resides.
  286. Person in charge is the mailing address for the person responsible
  287. for the name server.
  288. The serial number is the version number of this data file,
  289. this number should be incremented whenever a change is made to the data.
  290. The name server cannot handle numbers over 9999 after the decimal point.
  291. The refresh indicates how often, in seconds, a secondary name servers
  292. is to check with the primary name server to see if an update is needed.
  293. The retry indicates how long, in seconds, a secondary server is to retry 
  294. after a failure to check for a refresh.
  295. Expire is the upper limit, in seconds, that a secondary name server
  296. is to use the data before it expires for lack of getting a refresh.
  297. Minimum is the default number of seconds to be used for the time to live
  298. field on resource records.
  299. There should only be one \fISOA\fP record per zone.
  300. .sh 3 "NS - Name Server"
  301. .TS
  302. l l l l l.
  303. \fI{name}    {ttl}    addr-class    NS    Name servers name\fP
  304.         IN    NS    ucbarpa\fB\|.\|\fPBerkeley\fB\|.\|\fPEdu\fB.\fP
  305. .TE
  306. The \fIName Server\fP record, \fINS\fP, lists a name server responsible 
  307. for a given domain.
  308. The first name field lists the domain that is serviced by 
  309. the listed name server.
  310. There should be one \fINS\fP record for each Primary Master 
  311. server for the domain.
  312. .sh 3 "A - Address"
  313. .TS
  314. l l l l l.
  315. \fI{name}    {ttl}    addr-class    A    address\fP
  316. ucbarpa        IN    A    128\fB.\fP32\fB.\fP0\fB.\fP4
  317.         IN    A    10\fB.\fP0\fB.\fP0\fB.\fP78
  318. .TE
  319. The \fIAddress\fP record, \fIA\fP, lists the address for a given machine. 
  320. The name field is the machine name and the address is the network address.
  321. There should be one \fIA\fP record for each address of the machine. 
  322. .sh 3 "HINFO - Host Information"
  323. .TS
  324. l l l l l l. 
  325. \fI{name}    {ttl}    addr-class    HINFO    Hardware    OS\fP
  326.         IN    HINFO    VAX-11/780    UNIX
  327. .TE
  328. \fIHost Information\fP resource record, \fIHINFO\fP, is for host specific data.
  329. This lists the hardware and operating system that are running at
  330. the listed host.
  331. It should be noted that only a single space separates the hardware info
  332. and the operating system info. 
  333. If you want to include a space in the machine name you must quote the name.
  334. There should be one \fIHINFO\fP record for each host.
  335. .(b L
  336. .sh 3 "WKS - Well Known Services"
  337. .TS
  338. l l l l l l l.
  339. \fI{name}    {ttl}    addr-class    WKS    address    protocol    list of services\fP
  340.         IN    WKS    128\fB.\fP32\fB.\fP0\fB.\fP10    UDP    who route timed domain
  341.         IN    WKS    128\fB.\fP32\fB.\fP0\fB.\fP10    TCP    ( echo telnet
  342.                         discard sunrpc sftp
  343.                         uucp-path systat daytime
  344.                         netstat qotd nntp
  345.                         link chargen ftp 
  346.                         auth time whois mtp
  347.                         pop rje finger smtp
  348.                         supdup hostnames 
  349.                         domain
  350.                         nameserver )
  351. .TE
  352. The \fIWell Known Services\fP record, \fIWKS\fP, 
  353. describes the well known services
  354. supported by a particular protocol at a specified address.
  355. The list of services and port numbers come from the list of services 
  356. specified in \fI/etc/services.\fP
  357. There should be only one \fIWKS\fP record per protocol per address.
  358. .)b
  359. .sh 3 "CNAME - Canonical Name"
  360. .TS
  361. l l l l l. 
  362. \fIaliases    {ttl}    addr-class    CNAME    Canonical name\fP
  363. ucbmonet        IN    CNAME    monet
  364. .TE
  365. \fICanonical Name\fP resource record, \fICNAME\fP, specifies an 
  366. alias for a canonical name.
  367. An alias should be the only record associated with the alias name;
  368. all other resource records should be
  369. associated with the canonical name and not with the alias.
  370. Any resource records that include a domain name as their value (e.g. NS or MX)
  371. should list the canonical name, not the alias.
  372. .sh 3 "PTR - Domain Name Pointer"
  373. .TS
  374. l l l l l. 
  375. \fIname    {ttl}    addr-class    PTR    real name\fP
  376. 7.0        IN    PTR    monet\fB\|.\|\fPBerkeley\fB\|.\|\fPEdu\fB\|.\fP
  377. .TE
  378. A \fIDomain Name Pointer\fP record, \fIPTR\fP, allows special names 
  379. to point to some other location in the domain.  
  380. The above example of a \fIPTR\fP record is used in setting up reverse pointers
  381. for the special \fIIN-ADDR\fP\fB\|.\|\fP\fIARPA\fP domain. This line is from the example
  382. \fIhosts.rev\fP file.
  383. \fIPTR\fP names should be unique to the zone.
  384. .sh 3 "MB - Mailbox"
  385. .TS
  386. l l l l l. 
  387. \fIname    {ttl}    addr-class    MB    Machine \fP
  388. miriam        IN    MB    vineyd\fB.\fPDEC\fB.\fPCOM\fB.\fP
  389. .TE
  390. \fIMB\fP is the \fIMailbox\fP record.
  391. This lists the machine where a user wants to receive mail.
  392. The name field is the users login; the machine field denotes the machine
  393. to which mail is to be delivered.
  394. Mail Box names should be unique to the zone.
  395. (These records are currently for experimental use only.)
  396. .sh 3 "MR - Mail Rename Name"
  397. .TS
  398. l l l l l. 
  399. \fIname    {ttl}    addr-class    MR    corresponding MB\fP
  400. Postmistress        IN    MR    miriam 
  401. .TE
  402. \fIMain Rename, MR,\fP can be used to list aliases for a user.
  403. The name field lists the alias for the name listed in the fourth field,
  404. which should have a corresponding \fIMB\fP record.
  405. (These records are currently for experimental use only.)
  406. .sh 3 "MINFO - Mailbox Information"
  407. .TS
  408. l l l l l l. 
  409. \fIname    {ttl}    addr-class    MINFO    requests    maintainer\fP
  410. BIND        IN    MINFO    BIND-REQUEST    kjd\fB\|.\|\fPBerkeley\fB\|.\|\fPEdu\fB\|.\fP
  411. .TE
  412. \fIMail Information\fP record, \fIMINFO\fP, creates a mail 
  413. group for a mailing list.
  414. This resource record is usually associated with a mail group \fIMail Group\fP,
  415. but may be used with a \fIMail Box\fP record.
  416. The \fIname\fP specifies the name of the mailbox.
  417. The \fIrequests\fP field
  418. is where mail such as requests to be added to a mail group should be sent.
  419. The \fImaintainer\fP is a mailbox that should receive error messages.
  420. This is particularly appropriate for mailing lists when
  421. errors in members names should be reported to a person other than
  422. the sender.
  423. (These records are currently for experimental use only.)
  424. .sh 3 "MG - Mail Group Member"
  425. .TS
  426. l l l l l l. 
  427. \fI{mail group name}    {ttl}    addr-class    MG    member name\fP
  428.         IN    MG    Bloom
  429. .TE
  430. \fIMail Group, MG\fP lists members of a mail group.
  431. (These records are currently for experimental use only.)
  432.  
  433. An example for setting up a mailing list is as follows:
  434. .TS
  435. l l l l l l. 
  436. Bind        IN    MINFO    Bind-Request    kjd\fB\|.\|\fPBerkeley\fB\|.\|\fPEdu\fB\|.\fP
  437.         IN    MG    Ralph\fB\|.\|\fPBerkeley\fB\|.\|\fPEdu\fB\|.\fP
  438.         IN    MG    Zhou\fB\|.\|\fPBerkeley\fB\|.\|\fPEdu\fB\|.\fP
  439.         IN    MG    Painter\fB\|.\|\fPBerkeley\fB\|.\|\fPEdu\fB\|.\fP
  440.         IN    MG    Riggle\fB\|.\|\fPBerkeley\fB\|.\|\fPEdu\fB\|.\fP
  441.         IN    MG    Terry\fB\|.\|\fPpa\fB\|.\|\fPXerox\fB\|.\|\fPCom\fB\|.\fP
  442. .TE
  443. .sh 3 "MX - Mail Exchanger"
  444. .TS
  445. l l l l l l. 
  446. \fIname    {ttl}    addr-class    MX    preference value    mailer exchanger\fP
  447. Munnari\fB\|.\|\fPOZ\fB\|.\|\fPAU\fB\|.\fP        IN    MX    0    Seismo\fB\|.\|\fPCSS\fB\|.\|\fPGOV\fB\|.\fP
  448. *\fB\|.\|\fPIL\fB\|.\fP        IN    MX    0    RELAY\fB\|.\|\fPCS\fB\|.\|\fPNET\fB\|.\fP
  449. .TE
  450. \fIMain Exchanger\fP records, \fIMX\fP, are used to specify a
  451. machine that knows how to deliver
  452. mail to a machine that is not directly connected to the network.
  453. In the first example, above, Seismo\fB\|.\|\fPCSS\fB\|.\|\fPGOV\fB\|.\fP is a mail gateway 
  454. that knows how to 
  455. deliver mail to Munnari\fB\|.\|\fPOZ\fB\|.\|\fPAU\fB\|.\fP but other machines 
  456. on the network can not deliver mail directly to Munnari. 
  457. These two machines may have a private connection or use a different
  458. transport medium.
  459. The preference value is the order that a mailer should follow
  460. when there is more then one way to deliver mail to a single machine.
  461. See RFC974 for more detailed information.
  462. .pp
  463. Wildcard names containing the character ``*'' may be
  464. used for mail routing with \fIMX\fP records.
  465. There are likely to be servers on the network
  466. that simply state that any mail to a domain is to be routed through a relay. 
  467. Second example, above, all mail to hosts in the domain IL is routed through RELAY.CS.NET.
  468. This is done by creating a wildcard resource record,
  469. which states that *.IL has an \fIMX\fP
  470. of RELAY.CS.NET.  
  471. .sh 2 "Sample Files"
  472. .pp
  473. The following section contains sample files for the name server.
  474. This covers example boot files for the different types of servers
  475. and example domain data base files.
  476.