Commit | Line | Data |
---|---|---|
b4588d5c GP |
1 | .TH tinydns-data 8 |
2 | ||
3 | .SH NAME | |
4 | tinydns-data \- data tool for tinydns | |
5 | ||
6 | .SH DESCRIPTION | |
7 | This is a reference page. | |
8 | For tutorial information, see the instructions for | |
9 | .br | |
10 | .B running a DNS server | |
11 | (http://cr.yp.to/djbdns/run-server.html). | |
12 | ||
13 | .B tinydns-data | |
14 | reads local DNS information | |
15 | from a file named | |
16 | .I data | |
17 | in the current directory. | |
18 | It creates | |
19 | .I data.cdb | |
20 | in a binary format designed for | |
21 | fast access by | |
22 | .BR tinydns (8). | |
23 | It may also create some other files | |
24 | with names beginning with | |
25 | .IR data . | |
26 | ||
27 | .B tinydns-data | |
28 | updates | |
29 | .I data.cdb | |
30 | atomically, | |
31 | so you can use it safely while | |
32 | .BR tinydns (8) | |
33 | is running. | |
34 | If anything goes wrong with the creation of | |
35 | .IR data.cdb , | |
36 | .B tinydns-data | |
37 | stops and leaves the old | |
38 | .I data.cdb | |
39 | in place. | |
40 | ||
41 | .SH Data format | |
42 | The DNS information in | |
43 | .I data | |
44 | is a series of lines. | |
45 | There are several types of lines, as shown below. | |
46 | ||
47 | Each line starts with a special character | |
48 | and continues with a series of colon-separated fields. | |
49 | In some cases the fields may be omitted; | |
50 | however, all colons must be included except at the end of the line. | |
51 | Spaces and tabs at the end of a line are ignored. | |
52 | Blank lines are ignored. | |
53 | ||
54 | Each line contains a | |
55 | .I ttl | |
56 | (``time to live'') | |
57 | specifying the number of seconds that the line's DNS records may be cached. | |
58 | Beware that cache times below 300 seconds | |
59 | will be treated as 300 by some clients, | |
60 | and NS cache times below 2 seconds can cause lookup failures. | |
61 | You may omit | |
62 | .IR ttl ; | |
63 | .B tinydns-data | |
64 | will use default cache times, | |
65 | carefully selected to work well in normal situations. | |
66 | ||
67 | You may include a timestamp on each line. | |
68 | If | |
69 | .I ttl | |
70 | is nonzero (or omitted), | |
71 | the timestamp is a starting time | |
72 | for the information in the line; | |
73 | the line will be ignored before that time. | |
74 | If | |
75 | .I ttl | |
76 | is zero, | |
77 | the timestamp is an ending time (``time to die'') | |
78 | for the information in the line; | |
79 | .BR tinydns (8) | |
80 | dynamically adjusts | |
81 | .I ttl | |
82 | so that the line's DNS records are not cached for more than a few seconds | |
83 | past the ending time. | |
84 | A timestamp is an | |
85 | external TAI64 timestamp, | |
86 | printed as 16 lowercase hexadecimal characters. | |
87 | For example, the lines | |
88 | ||
89 | +www.heaven.af.mil:1.2.3.4:0:4000000038af1379 | |
90 | +www.heaven.af.mil:1.2.3.7::4000000038af1379 | |
91 | ||
92 | specify that | |
93 | .I www.heaven.af.mil | |
94 | will have address | |
95 | .I 1.2.3.4 | |
96 | until time | |
97 | .I 4000000038af1379 | |
98 | (2000-02-19 22:04:31 UTC) | |
99 | and will then switch to IP address | |
100 | .IR 1.2.3.7 . | |
101 | ||
102 | For versions 1.04 and above: | |
103 | You may include a client location on each line. | |
104 | The line is ignored for clients outside that location. | |
105 | Client locations are specified by | |
106 | .B % | |
107 | lines: | |
108 | ||
109 | %\fIlo\fR:\fIipprefix\fR | |
110 | ||
111 | means that IP addresses starting with | |
112 | .I ipprefix | |
113 | are in location | |
114 | .IR lo . | |
115 | .I lo | |
116 | is a sequence of one or two ASCII letters. | |
117 | A client is in only one location; | |
118 | longer prefixes override shorter prefixes. | |
119 | For example, | |
120 | ||
121 | %in:192.168 | |
122 | %ex | |
123 | +jupiter.heaven.af.mil:192.168.1.2:::in | |
124 | +jupiter.heaven.af.mil:1.2.3.4:::ex | |
125 | ||
126 | specifies that | |
127 | .I jupiter.heaven.af.mil | |
128 | has address | |
129 | .I 192.168.1.2 | |
130 | for clients in the | |
131 | .I 192.168.* | |
132 | network | |
133 | and address | |
134 | .I 1.2.3.4 | |
135 | for everyone else. | |
136 | ||
137 | .SH Common data lines | |
138 | ||
139 | .RI \. fqdn\fR:\fIip\fR:\fIx\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
140 | ||
141 | Name server for our domain | |
142 | .IR fqdn . | |
143 | ||
144 | .B tinydns-data | |
145 | creates | |
146 | .IP | |
147 | an NS (``name server'') record | |
148 | showing | |
149 | .IR x .ns.\fIfqdn\fR | |
150 | as a name server for | |
151 | .IR fqdn ; | |
152 | .P | |
153 | .IP | |
154 | an A (``address'') record showing | |
155 | .I ip | |
156 | as the IP address | |
157 | of | |
158 | .IR x\fR.ns.\fIfqdn ; | |
159 | and | |
160 | .P | |
161 | .IP | |
162 | an SOA (``start of authority'') record for | |
163 | .I fqdn | |
164 | listing | |
165 | .IR x\fR.ns.\fIfqdn | |
166 | as the primary name server | |
167 | and hostmaster@\fIfqdn\fR | |
168 | as the contact address. | |
169 | .P | |
170 | ||
171 | You may have several name servers for one domain, | |
172 | with a different | |
173 | .I x | |
174 | for each server. | |
175 | ||
176 | .BR tinydns (8) | |
177 | will return only one SOA record per domain. | |
178 | ||
179 | If | |
180 | .I x | |
181 | contains a dot | |
182 | then | |
183 | .B tinydns-data | |
184 | will use | |
185 | .I x | |
186 | as the server name | |
187 | rather than | |
188 | .IR x\fR.ns.\fIfqdn . | |
189 | This feature is provided only for compatibility reasons; | |
190 | names not ending with | |
191 | .I fqdn | |
192 | will force clients to contact parent servers | |
193 | much more often than they otherwise would, | |
194 | and will reduce the overall reliability of DNS. | |
195 | You should omit | |
196 | .I ip | |
197 | if | |
198 | .I x | |
199 | has IP addresses assigned elsewhere in | |
200 | .IR data ; | |
201 | in this case, | |
202 | .B tinydns-data | |
203 | will omit the A record. | |
204 | .P | |
205 | Examples: | |
206 | ||
207 | .panic.mil:1.8.7.55:a | |
208 | ||
209 | creates an NS record showing | |
210 | .I a.ns.panic.mil | |
211 | as a name server for | |
212 | .IR panic.mil , | |
213 | an A record showing | |
214 | .I 1.8.7.55 | |
215 | as the IP address of | |
216 | .IR a.ns.panic.mil , | |
217 | and an SOA record for | |
218 | .IR panic.mil . | |
219 | ||
220 | .panic.mil:1.8.7.56:dns2.panic.mil | |
221 | ||
222 | creates an NS record showing | |
223 | .I dns2.panic.mil | |
224 | as a name server for | |
225 | .IR panic.mil , | |
226 | an A record showing | |
227 | .I 1.8.7.56 | |
228 | as the IP address of | |
229 | .IR dns2.panic.mil , | |
230 | and an SOA record for | |
231 | .IR panic.mil . | |
232 | ||
233 | .panic.mil::a.ns.heaven.af.mil | |
234 | ||
235 | creates an NS record showing | |
236 | .I a.ns.heaven.af.mil | |
237 | as a name server for | |
238 | .IR panic.mil , | |
239 | and an SOA record for | |
240 | .IR panic.mil . | |
241 | ||
242 | .RI & fqdn\fR:\fIip\fR:\fIx\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
243 | ||
244 | Name server for domain | |
245 | .IR fqdn . | |
246 | ||
247 | .B tinydns-data | |
248 | creates | |
249 | .IP | |
250 | an NS record | |
251 | showing | |
252 | .IR x\fR.ns.\fIfqdn | |
253 | as a name server for | |
254 | .IR fqdn | |
255 | and | |
256 | .P | |
257 | .IP | |
258 | an A record showing | |
259 | .I ip | |
260 | as the IP address | |
261 | of | |
262 | .IR x\fR.ns.\fIfqdn . | |
263 | .P | |
264 | ||
265 | If | |
266 | .I x | |
267 | contains a dot | |
268 | then it is treated specially; see above. | |
269 | ||
270 | You may have several name servers for one domain, | |
271 | with a different | |
272 | .I x | |
273 | for each server. | |
274 | ||
275 | Normally | |
276 | .I & | |
277 | is used | |
278 | for domains delegated by this server to child servers, | |
279 | while | |
280 | .I . | |
281 | is used for domains delegated to this server. | |
282 | .P | |
283 | Examples: | |
284 | ||
285 | &serious.panic.mil:1.8.248.6:a | |
286 | ||
287 | creates an NS record showing | |
288 | .I a.ns.serious.panic.mil | |
289 | as a name server for | |
290 | .IR serious.panic.mil , | |
291 | and an A record showing | |
292 | .I 1.8.248.6 | |
293 | as the IP address of | |
294 | .IR a.ns.serious.panic.mil . | |
295 | ||
296 | &serious.panic.mil:1.8.248.7:ns7.panic.mil | |
297 | ||
298 | creates an NS record showing | |
299 | .I ns7.panic.mil | |
300 | as a name server for | |
301 | .IR serious.panic.mil , | |
302 | and an A record showing | |
303 | .I 1.8.248.7 | |
304 | as the IP address of | |
305 | .IR ns7.panic.mil . | |
306 | ||
307 | .RI = fqdn\fR:\fIip\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
308 | ||
309 | Host | |
310 | .I fqdn | |
311 | with IP address | |
312 | .IR ip . | |
313 | ||
314 | .B tinydns-data | |
315 | creates | |
316 | .IP | |
317 | an A record showing | |
318 | .I ip | |
319 | as | |
320 | the IP address of | |
321 | .IR fqdn | |
322 | and | |
323 | .P | |
324 | .IP | |
325 | a PTR (``pointer'') record showing | |
326 | .I fqdn | |
327 | as | |
328 | the name of | |
329 | .IR d.c.b.a .in-addr.arpa | |
330 | if | |
331 | .I ip | |
332 | is | |
333 | .IR a.b.c.d . | |
334 | .P | |
335 | ||
336 | Remember to specify name servers for some suffix of | |
337 | .IR fqdn ; | |
338 | otherwise | |
339 | .BR tinydns (8) | |
340 | will not respond | |
341 | to queries about | |
342 | .IR fqdn . | |
343 | The same comment applies to other records described below. | |
344 | Similarly, remember to specify name servers for some suffix of | |
345 | .IR d.c.b.a .in-addr.arpa, | |
346 | if that domain has been delegated to you. | |
347 | .P | |
348 | Example: | |
349 | ||
350 | =button.panic.mil:1.8.7.108 | |
351 | ||
352 | creates an A record showing | |
353 | .I 1.8.7.108 | |
354 | as the IP address of | |
355 | .IR button.panic.mil , | |
356 | and a PTR record showing | |
357 | .I button.panic.mil | |
358 | as the name of | |
359 | .IR 108.7.8.1.in-addr.arpa . | |
360 | ||
361 | .RI + fqdn\fR:\fIip\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
362 | ||
363 | Alias | |
364 | .I fqdn | |
365 | with IP address | |
366 | .IR ip . | |
367 | This is just like | |
368 | .RI = fqdn\fR:\fIip\fR:\fIttl\fR | |
369 | except that | |
370 | .B tinydns-data | |
371 | does not create the PTR record. | |
372 | ||
373 | For versions 1.04 and above: | |
374 | .BR tinydns (8) | |
375 | returns addresses | |
376 | (from | |
377 | .I + | |
378 | or | |
379 | .I = | |
380 | or | |
381 | .I @ | |
382 | or | |
383 | .I . | |
384 | or | |
385 | .I & | |
386 | lines) | |
387 | in a random order in the answer section. | |
388 | If there are more than 8 records, | |
389 | it returns a random set of 8. | |
390 | .P | |
391 | Example: | |
392 | ||
393 | +button.panic.mil:1.8.7.109 | |
394 | ||
395 | creates an A record showing | |
396 | .I 1.8.7.109 | |
397 | as another IP address for | |
398 | .IR button.panic.mil . | |
399 | ||
400 | .RI @ fqdn\fR:\fIip\fR:\fIx\fR:\fIdist\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
401 | ||
402 | Mail exchanger for | |
403 | .IR fqdn . | |
404 | ||
405 | .B tinydns-data | |
406 | creates | |
407 | .IP | |
408 | an MX (``mail exchanger'') record | |
409 | showing | |
410 | .IR x\fR.mx.\fIfqdn | |
411 | as a mail exchanger for | |
412 | .I fqdn | |
413 | at distance | |
414 | .I dist | |
415 | and | |
416 | .P | |
417 | .IP | |
418 | an A record showing | |
419 | .I ip | |
420 | as the IP address | |
421 | of | |
422 | .IR x\fR.mx.\fIfqdn . | |
423 | .P | |
424 | You may omit | |
425 | .IR dist ; | |
426 | the default distance is 0. | |
427 | ||
428 | If | |
429 | .I x | |
430 | contains a dot | |
431 | then it is treated specially; see above. | |
432 | ||
433 | You may create several MX records for | |
434 | .IR fqdn , | |
435 | with a different | |
436 | .I x | |
437 | for each server. | |
438 | Make sure to arrange for the SMTP server on each IP address | |
439 | to accept mail for | |
440 | .IR fqdn . | |
441 | .P | |
442 | Example: | |
443 | ||
444 | @panic.mil:1.8.7.88:mail.panic.mil | |
445 | ||
446 | creates an MX record showing | |
447 | .I mail.panic.mil | |
448 | as a mail exchanger for | |
449 | .I panic.mil | |
450 | at distance 0, and an A record showing | |
451 | .I 1.8.7.88 | |
452 | as the IP address of | |
453 | .IR mail.panic.mil . | |
454 | ||
455 | .RI # comment | |
456 | ||
457 | Comment line. The line is ignored. | |
458 | ||
459 | .SH Uncommon data lines | |
460 | ||
461 | .RI - fqdn\fR:\fIs\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
462 | ||
463 | For versions 1.04 and above: | |
464 | This type of line is used by | |
465 | programs that automatically edit | |
466 | .B + | |
467 | lines in | |
468 | .I data | |
469 | to temporarily exclude addresses of overloaded or dead machines. | |
470 | The line is ignored. | |
471 | ||
472 | .RI ' fqdn\fR:\fIs\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
473 | ||
474 | TXT (``text'') record for | |
475 | .IR fqdn . | |
476 | .B tinydns-data | |
477 | creates a TXT record for | |
478 | .I fqdn | |
479 | containing the string | |
480 | .IR s . | |
481 | You may use octal | |
482 | .RI \ nnn | |
483 | codes | |
484 | to include arbitrary bytes inside | |
485 | .IR s ; | |
486 | for example, | |
487 | .RI \ 072 | |
488 | is a colon. | |
489 | ||
490 | .RI ^ fqdn\fR:\fIp\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
491 | ||
492 | PTR record for | |
493 | .IR fqdn . | |
494 | .B tinydns-data | |
495 | creates a PTR record for | |
496 | .I fqdn | |
497 | pointing to the domain name | |
498 | .IR p . | |
499 | ||
500 | .RI C fqdn\fR:\fIp\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
501 | ||
502 | CNAME (``canonical name'') record for | |
503 | .IR fqdn . | |
504 | .B tinydns-data | |
505 | creates a CNAME record for | |
506 | .I fqdn | |
507 | pointing to the domain name | |
508 | .IR p . | |
509 | ||
510 | Don't use | |
511 | .RI C fqdn | |
512 | if there are any other records for | |
513 | .I fqdn | |
514 | Don't use | |
515 | .RI C fqdn | |
516 | for common aliases; | |
517 | use | |
518 | .RI + fqdn | |
519 | instead. | |
520 | Remember the wise words of Inigo Montoya: | |
521 | ``You keep using CNAME records. | |
522 | I do not think they mean what you think they mean.'' | |
523 | ||
524 | .RI Z fqdn\fR:\fImname\fR:\fIrname\fR:\fIser\fR:\fIref\fR:\fIret\fR:\fIexp\fR:\fImin\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
525 | ||
526 | SOA record for | |
527 | .I fqdn | |
528 | showing | |
529 | .I mname | |
530 | as the primary name server, | |
531 | .I rname | |
532 | (with the first | |
533 | .I . | |
534 | converted to | |
535 | .IR @ ) | |
536 | as the contact address, | |
537 | .I ser | |
538 | as the serial number, | |
539 | .I ref | |
540 | as the refresh time, | |
541 | .I ret | |
542 | as the retry time, | |
543 | .I exp | |
544 | as the expire time, and | |
545 | .I min | |
546 | as the minimum time. | |
547 | .IR ser , | |
548 | .IR ref , | |
549 | .IR ret , | |
550 | .IR exp , | |
551 | and | |
552 | .I min | |
553 | may be omitted; | |
554 | they default to, respectively, | |
555 | the modification time of the | |
556 | .I data | |
557 | file, | |
558 | 16384 seconds, | |
559 | 2048 seconds, | |
560 | 1048576 seconds, and | |
561 | 2560 seconds. | |
562 | ||
563 | .RI : fqdn\fR:\fIn\fR:\fIrdata\fR:\fIttl\fR:\fItimestamp\fR:\fIlo\fR | |
564 | ||
565 | Generic record for | |
566 | .IR fqdn . | |
567 | .B tinydns-data | |
568 | creates a record of type | |
569 | .I n | |
570 | for | |
571 | .I fqdn | |
572 | showing | |
573 | .IR rdata . | |
574 | .I n | |
575 | must be an integer between 1 and 65535; | |
576 | it must not be 2 (NS), 5 (CNAME), 6 (SOA), 12 (PTR), 15 (MX), or 252 (AXFR). | |
577 | The proper format of | |
578 | .I rdata | |
579 | depends on | |
580 | .IR n . | |
581 | You may use octal | |
582 | .RI \ nnn | |
583 | codes | |
584 | to include arbitrary bytes inside | |
585 | .IR rdata . | |
586 | ||
587 | .SH Wildcards | |
588 | ||
589 | .I tinydns | |
590 | supports wildcards of the form | |
591 | .IR *.fqdn . | |
592 | Information for | |
593 | .I *.fqdn | |
594 | is provided for every name ending with | |
595 | .IR .fqdn , | |
596 | .I except | |
597 | names that have their own records | |
598 | and names that are covered by more specific wildcards. | |
599 | ||
600 | For example, the lines | |
601 | ||
602 | +pink.floyd.u.heaven.af.mil:1.2.3.4 | |
603 | +*.u.heaven.af.mil:1.2.3.200 | |
604 | ||
605 | have the same effect as | |
606 | ||
607 | +pink.floyd.u.heaven.af.mil:1.2.3.4 | |
608 | +joe.u.heaven.af.mil:1.2.3.200 | |
609 | +bill.u.heaven.af.mil:1.2.3.200 | |
610 | +floyd.u.heaven.af.mil:1.2.3.200 | |
611 | +ishtar.u.heaven.af.mil:1.2.3.200 | |
612 | +joe.bob.u.heaven.af.mil:1.2.3.200 | |
613 | +sally.floyd.u.heaven.af.mil:1.2.3.200 | |
614 | +post.pink.floyd.u.heaven.af.mil:1.2.3.200 | |
615 | ||
616 | and so on. | |
617 | ||
618 | As another example, the lines | |
619 | ||
620 | +pink.floyd.u.heaven.af.mil:1.2.3.4 | |
621 | @*.u.heaven.af.mil::mail.heaven.af.mil | |
622 | ||
623 | have the same effect as | |
624 | ||
625 | +pink.floyd.u.heaven.af.mil:1.2.3.4 | |
626 | @joe.u.heaven.af.mil::mail.heaven.af.mil | |
627 | @bill.u.heaven.af.mil::mail.heaven.af.mil | |
628 | @floyd.u.heaven.af.mil::mail.heaven.af.mil | |
629 | @ishtar.u.heaven.af.mil::mail.heaven.af.mil | |
630 | @joe.bob.u.heaven.af.mil::mail.heaven.af.mil | |
631 | @sally.floyd.u.heaven.af.mil::mail.heaven.af.mil | |
632 | @post.pink.floyd.u.heaven.af.mil::mail.heaven.af.mil | |
633 | ||
634 | and so on. | |
635 | Notice that the wildcard does not apply to | |
636 | .IR pink.floyd.u.heaven.af.mil , | |
637 | because that name has its own records. | |
638 | ||
639 | .SH A typical data file: | |
640 | ||
641 | =lion.heaven.af.mil:1.2.3.4 | |
642 | @heaven.af.mil:1.2.3.4 | |
643 | @3.2.1.in-addr.arpa:1.2.3.4 | |
644 | ||
645 | =tiger.heaven.af.mil:1.2.3.5 | |
646 | \.heaven.af.mil:1.2.3.5:a | |
647 | \.3.2.1.in-addr.arpa:1.2.3.5:a | |
648 | ||
649 | =bear.heaven.af.mil:1.2.3.6 | |
650 | \.heaven.af.mil:1.2.3.6:b | |
651 | \.3.2.1.in-addr.arpa:1.2.3.6:b | |
652 | ||
653 | =cheetah.heaven.af.mil:1.2.3.248 | |
654 | =panther.heaven.af.mil:1.2.3.249 | |
655 | ||
656 | Here is the same information in BIND zone-file format | |
657 | with the two zones merged: | |
658 | ||
659 | heaven.af.mil. 2560 IN SOA a.ns.heaven.af.mil. hostmaster.heaven.af.mil. ... | |
660 | heaven.af.mil. 259200 IN NS a.ns.heaven.af.mil. | |
661 | heaven.af.mil. 259200 IN NS b.ns.heaven.af.mil. | |
662 | heaven.af.mil. 86400 IN MX mx.heaven.af.mil. | |
663 | ||
664 | 3.2.1.in-addr.arpa. 2560 IN SOA a.ns.3.2.1.in-addr.arpa. hostmaster.3.2.1.in-addr.arpa. ... | |
665 | 3.2.1.in-addr.arpa. 259200 IN NS a.ns.3.2.1.in-addr.arpa. | |
666 | 3.2.1.in-addr.arpa. 259200 IN NS b.ns.3.2.1.in-addr.arpa. | |
667 | 3.2.1.in-addr.arpa. 86400 IN MX mx.3.2.1.in-addr.arpa. | |
668 | ||
669 | 4.3.2.1.in-addr.arpa. 86400 IN PTR lion.heaven.af.mil. | |
670 | lion.heaven.af.mil. 86400 IN A 1.2.3.4 | |
671 | mx.heaven.af.mil. 86400 IN A 1.2.3.4 | |
672 | mx.3.2.1.in-addr.arpa. 86400 IN A 1.2.3.4 | |
673 | ||
674 | 5.3.2.1.in-addr.arpa. 86400 IN PTR tiger.heaven.af.mil. | |
675 | tiger.heaven.af.mil. 86400 IN A 1.2.3.5 | |
676 | a.ns.heaven.af.mil. 259200 IN A 1.2.3.5 | |
677 | a.ns.3.2.1.in-addr.arpa. 259200 IN A 1.2.3.5 | |
678 | ||
679 | 6.3.2.1.in-addr.arpa. 86400 IN PTR bear.heaven.af.mil. | |
680 | bear.heaven.af.mil. 86400 IN A 1.2.3.6 | |
681 | b.ns.heaven.af.mil. 259200 IN A 1.2.3.6 | |
682 | b.ns.3.2.1.in-addr.arpa. 259200 IN A 1.2.3.6 | |
683 | ||
684 | 248.3.2.1.in-addr.arpa. 86400 IN PTR cheetah.heaven.af.mil. | |
685 | cheetah.heaven.af.mil. 86400 IN A 1.2.3.248 | |
686 | ||
687 | 249.3.2.1.in-addr.arpa. 86400 IN PTR panther.heaven.af.mil. | |
688 | panther.heaven.af.mil. 86400 IN A 1.2.3.249 | |
689 | ||
690 | .SH Design notes | |
691 | The | |
692 | .I data | |
693 | format is very easy for programs to edit, | |
694 | and reasonably easy for humans to edit, | |
695 | unlike the traditional zone-file format. | |
696 | ||
697 | .B tinydns-data | |
698 | could support a name wherever an IP address is required; | |
699 | it would look up the name in DNS and use the resulting address. | |
700 | This would reliably track changes in offsite IP addresses | |
701 | if the database were rebuilt periodically. | |
702 | ||
703 | .SH SEE ALSO | |
704 | tinydns(8) | |
705 | ||
706 | http://cr.yp.to/djbdns.html |