File: DNS-HOWTO

package info (click to toggle)
doc-linux-it 2000.01-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 8,136 kB
  • ctags: 19
  • sloc: perl: 249; makefile: 50; sh: 42
file content (2574 lines) | stat: -rw-r--r-- 85,151 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
  DNS HOWTO
  Nicolai Langfeldt janl@linpro.no
  Versione 2.2.1, 18 luglio 1999

  Come diventare un piccolo amministratore DNS.  Traduzione di Federico
  Cossu (f.cossu@trident.nettuno.it), flug-firenze.

  1.  Preambolo

  Parole-chiave: DNS, bind, bind-4, bind-8, named, dialup, ppp, slip,
  isdn, Internet, domain, name, hosts, resolving, caching.


  Questo documento fa parte del Linux Documentation Project.


  1.1.  Note Legali

  (C)opyright 1995-1999 Nicolai Langfeldt. Do not modify without
  amending copyright, distribute freely but retain copyright message.


  (C)opyright 1995-1999 Nicolai Langfeldt. Non modificare senza emendare
  il copyright, si pu distribuire liberamente ma includendo il
  messaggio di copyright.


  1.2.  Crediti e richieste di aiuto

  Voglio ringraziare Arnt Gulbrandsen al quale ho provocato qualche
  disagio a causa di questo lavoro e che ha provveduto a fornire utili
  suggerimenti. Voglio anche ringraziare le numerose persone che mi
  hanno mandato in email suggerimenti e note.




  Questo non sar mai un documento finito. Vi prego di mandarmi delle
  email se avete incontrato problemi o successi, questo contribuir a
  migliorare l'HOWTO. Cos Vi prego di mandare commenti e/o domande o
  soldi a janl@math.uio.no. Nel caso in cui mandaste delle email e
  attendiate delle risposte per favore assicuratevi che il return-
  address sia corretto e operatvo.  Inoltre, per favore leggete la
  sezione ``Domande e Risposte'' prima di scrivermi. Un'altra cosa,
  comprendo solo il Norvegese e l'Inglese.


  Se vi venisse in mente di tradurre questo HOWTO fatemelo sapere in
  modo che possa tener traccia delle lingue in cui  stato pubblicato, e
  in modo che possa avvisarvi quando l'HOWTO  stato aggiornato.


  1.3.  Dediche

  Questo HOWTO  dedicato a Anne Line Norheim Langfeldt. Anche se lei
  non lo legger mai poich non  quel tipo di ragazza.


  2.  Introduzione.

  Cos' e cosa non .


  DNS  il Domain Name System. DNS converte i nomi delle macchine negli
  indirizzi IP che queste macchine hanno nella rete. In pratica fa
  corrispondere i nomi agli indirizzi e viceversa, e in pi fa qualche
  altra cosa. Questo HOWTO spiega come definire questa corrispondenza
  (mapping) usando un sistema Linux. Il "mapping"  semplicemente
  un'associazione tra due cose, in questo caso si tratta del nome di una
  macchina, come ftp.linux.org, e il numero IP (o indirizzo) della
  stessa macchina 199.249.150.4.


  DNS , per i non iniziati (voi ;-), una delle pi opache aree
  dell'amministrazione delle reti. Questo HOWTO cercher di rendere pi
  chiare alcune cose. Esso descrive come impostare un semplice name
  server DNS. Partendo da un server "caching only" per poi avviarsi
  all'impostazione di un server DNS primario per un dominio. Per delle
  configurazioni pi complesse date uno sguardo alla sezione ``Domande e
  Risposte'' di questo documento. Se non fosse descritto qui avrete
  bisogno di leggere la Vera Documentazione.  Torner pi tardi su che
  cosa questa Vera Documentazione consista nell'``ultimo capitolo''


  Prima che cominciate dovrete configurare la vostra macchina in modo
  che possa fare "telnet" dentro e fuori di essa, e che possa
  connettersi con successo alla rete, e in particolar modo dovreste
  poter fare telnet 127.0.0.1 e ottenere la vostra stessa macchina
  (provate subito!). Avrete anche bisogno di un buon /etc/nsswitch.conf
  (oppure /etc/host.conf), e dei file /etc/resolv.conf e /etc/hosts come
  punto di partenza, finch non spiegher la loro funzione. Se non avete
  gi tutto questo impostato e funzionante il NET-3-HOWTO e il PPP-HOWTO
  spiegano come farlo. Leggeteli.


  Quando dico "la vostra macchina" intendo la macchina sulla quale state
  cercando di impostare il DNS. Nessun'altra macchina che potreste avere
   coinvolta nel vostro lavoro.


  Assumer che non siate dietro un qualche tipo di firewall che blocca
  le richieste di nomi. Se invece lo siete, avrete bisogno di una
  speciale configurazione. Guardate la sezione ``Domande e Risposte''.


  Il servizio di risoluzione dei nomi su Unix  fatto da un programma
  chiamato named. Questo fa parte del pacchetto ``bind'' che 
  coordinato da Paul Vixie dell'Internet Software Consortium. Named 
  incluso in molte distribuzioni Linux e usualmente  installato come
  /usr/sbin/named. Se avete named probabilmente potrete usarlo; se non
  l'avete potrete prendere i binari da un qualunque sito ftp su Linux,
  altrimenti prenderete i pi recenti e grandiosi sorgenti da
  ftp.isc.org:/isc/bind/src/cur/bind-8/. Questo HOWTO  riferito alla
  versione 8 di bind. Le vecchie versioni dell'HOWTO che riferiscono a
  bind 4 sono ancora disponibili presso
  http://www.math.uio.no/~janl/DNS/ nel caso utilizzaste bind 4.  Se la
  man page di named fa riferimento (per precisione alla fine, nella
  sezione FILES) a named.conf avete bind 8, se fa riferimento a
  named.boot avete bind 4. Se avete il 4 e siete coscienti del problema
  sicurezza dovreste aggiornare alla versione 8.


  DNS  un database distribuito sulla rete (net-wide). Fate attenzione a
  cosa ci metterete dentro. Se ci metterete spazzatura, voi e gli altri
  ne ricaverete solo quella. Mantenete il vostro DNS snello e
  consistente e cos otterrete un buon servizio da esso. Imparate ad
  usarlo, ad amministrarlo, a risolverne eventuali problemi, e
  diventerete un altro buon amministratore che impedisce alla rete di
  cadere sulle proprie ginocchia a causa della cattiva manutenzione.



  In questo documento dichiaro nettamente una manciata di cose che non
  sono prorpio corrette (sono comunque delle mezze verit). Tutto ci
  nell'interesse della semplificazione. Le cose (probabilmente ;-)
  funzioneranno se crederete a quello che dico.


  Suggerimento: Fate una copia di backup di tutti i file che vi chieder
  di modificare e che gi avete, cosicch possiate tornare operativi
  dopo aver visto che nulla funzionava.


  3.  Un name server caching only.

  Una prima pugnalata alla configurazione del DNS, molto utile per gli
  utenti dial-up.


  Un name server caching only trover le risposte alle richieste di nomi
  e ricorder le risposte quando la prossima volta ne avrete bisogno.
  Questo abbrevier signficativamente il tempo di attesa per le volte
  successive, specialmente se avete una connessione lenta.


  Prima di tutto vi occorre un file chiamato /etc/named.conf.  Questo
  viene letto quando named parte. Per adesso dovrebbe contenere
  semplicemente:


  ______________________________________________________________________
  // File di configurazione per un name server caching only

  options {
          directory "/var/named";

          // Decommentatare questa cosa potrebbe aiutare se di deve passare
          // attraverso un firewall e le cose non funzionano bene

          // query-source port 53;
  };

  zone "." {
          type hint;
          file "root.hints";
  };

  zone "0.0.127.in-addr.arpa" {
          type master;
          file "pz/127.0.0";
  };
  ______________________________________________________________________




  La linea `directory' dice a named dove guardare per i file.  Tutti i
  file nominati in seguito saranno relativi a questa directory.  Perci
  pz  una directory sotto /var/named, i.e., /var/named/pz. /var/named 
  la giusta directory in accordo con il Linux File system Standard.


  In questo  citato il file chiamato /var/named/root.hints.
  /var/named/root.hints dovrebbe contenere questo:(Se avete intenzione
  di fare copia e incolla di questo file da una versione elettronica di
  questo documento per favore notate che non ci devono essere spazi
  vuoti all'inizio del file, i.e. tutte le linee devono cominciare con
  un carattere non-blank (non deve essere il carattere "spazio").
  Alcuni software per il processing dei documenti inseriranno spazi
  all'inizio delle linee, causando confusione. In questo caso rimuovete
  i 2 spazi vuoti iniziali)


  ______________________________________________________________________
  ;
  ; There might be opening comments here if you already have this file.
  ; If not don't worry.
  ;
  .                     6D IN NS        G.ROOT-SERVERS.NET.
  .                     6D IN NS        J.ROOT-SERVERS.NET.
  .                     6D IN NS        K.ROOT-SERVERS.NET.
  .                     6D IN NS        L.ROOT-SERVERS.NET.
  .                     6D IN NS        M.ROOT-SERVERS.NET.
  .                     6D IN NS        A.ROOT-SERVERS.NET.
  .                     6D IN NS        H.ROOT-SERVERS.NET.
  .                     6D IN NS        B.ROOT-SERVERS.NET.
  .                     6D IN NS        C.ROOT-SERVERS.NET.
  .                     6D IN NS        D.ROOT-SERVERS.NET.
  .                     6D IN NS        E.ROOT-SERVERS.NET.
  .                     6D IN NS        I.ROOT-SERVERS.NET.
  .                     6D IN NS        F.ROOT-SERVERS.NET.

  G.ROOT-SERVERS.NET.     5w6d16h IN A    192.112.36.4
  J.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.10
  K.ROOT-SERVERS.NET.     5w6d16h IN A    193.0.14.129
  L.ROOT-SERVERS.NET.     5w6d16h IN A    198.32.64.12
  M.ROOT-SERVERS.NET.     5w6d16h IN A    202.12.27.33
  A.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.4
  H.ROOT-SERVERS.NET.     5w6d16h IN A    128.63.2.53
  B.ROOT-SERVERS.NET.     5w6d16h IN A    128.9.0.107
  C.ROOT-SERVERS.NET.     5w6d16h IN A    192.33.4.12
  D.ROOT-SERVERS.NET.     5w6d16h IN A    128.8.10.90
  E.ROOT-SERVERS.NET.     5w6d16h IN A    192.203.230.10
  I.ROOT-SERVERS.NET.     5w6d16h IN A    192.36.148.17
  F.ROOT-SERVERS.NET.     5w6d16h IN A    192.5.5.241
  ______________________________________________________________________




  Questo file descrive i root name server nel mondo. Esso cambia col
  tempo e deve essere aggiornato se necessario. Leggete la sezione
  ``Manutenzione'' per sapere come fare.



  La sezione successiva in named.conf  l'ultima zone.  Spiegher il suo
  utilizzo nell'ultimo capitolo, per adesso create solo un file chiamato
  127.0.0 nella subdirectory pz:(Ancora, se fate copia e incolla
  rimuovete gli spazi iniziali)


  ______________________________________________________________________
  @               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                                  1       ; Serial
                                  8H      ; Refresh
                                  2H      ; Retry
                                  1W      ; Expire
                                  1D)     ; Minimum TTL
                          NS      ns.linux.bogus.
  1                       PTR     localhost.
  ______________________________________________________________________


  Poi, avrete bisogno di un /etc/resolv.conf che somiglia vagamente a
  questo:(Togliete gli spazi!)


  ______________________________________________________________________
  search sottodominio.proprio-dominio.edu proprio-dominio.edu
  nameserver 127.0.0.1
  ______________________________________________________________________




  La linea `search' specifica su quali domini deve avvenire la ricerca
  per ogni nome di host al quale volete collegarvi. La linea nameserver
  specifica l'indirizzo del vostro nameserver, in questo caso la vostra
  stessa macchina poich  qui che named lavora (127.0.0.1  corretto,
  non importa se la macchina ha gi un altro indirizzo). Se volete
  inserire pi name server mettete una linea `nameserver' per ognuno di
  essi. (Nota: named non legge mai questo file, il risolutore che usa
  named invece s.)


  Vediamo cosa fa questo file: se un client cerca la macchina pippo,
  allora il primo tentativo che verr fatto sar
  pippo.sottodominio.proprio-dominio.edu, poi pippo.proprio-dominio.edu
  e infine pippo. Se un client cerca sunsite.unc.edu, il primo tentativo
  sar sunsite.unc.edu.sottodominio.proprio-dominio.edu, poi
  sunsite.unc.edu.proprio-dominio.edu e infine sunsite.unc.edu. Potreste
  non voler mettere troppi domini nella linea di ricerca, si impiega del
  tempo a provarli tutti.


  L'esempio assume che voi facciate parte del dominio
  sottodominio.proprio-dominio.edu, quindi, probabilmente, la vostra
  macchina sar propria-macchina.sottodominio.proprio-dominio.edu. La
  linea di ricerca non dovrebbe contenere il vostro TLD (Top Level
  Domain, `edu' in questo caso). Se avete spesso bisogno di collegarvi a
  host in una altro dominio, potete aggiungere questo dominio in una
  linea di ricerca come questa: (Ricordate di togliere gli spazi
  iniziali, se presenti)


  ______________________________________________________________________
  search sottodominio.proprio-dominio.edu proprio-dominio.edu altro-dominio.com
  ______________________________________________________________________



  e cos via. Ovviamente dovrete metterci domini reali.  Per favore
  notate l'assenza del punto alla fine dei nomi di dominio.  Questo 
  importante.


  In seguito, a seconda della versione di libc che avete ci sar bisogno
  di sistemare /etc/nsswitch.conf o /etc/host.conf.  Se avete gi
  nsswitch.conf sar questo che sistemerete, altrimenti sar host.conf.


  /etc/nsswitch.conf


  Questo  un grosso file che specifica dove ottenere diversi tipi di
  dati, da quale file o database. Solitamente all'inizio contiene utili
  commenti, che dovreste leggere. Poi cercate la linea che comincia per
  `hosts:', si dovrebbe leggere:

  ______________________________________________________________________
  hosts:      files dns
  ______________________________________________________________________



  (avete ricordato cosa fare degli eventuali spazi iniziali, vero? non
  lo dir pi.)


  Se non ci fosse una tale linea (che comincia per `hosts:') dovrete
  metterla. Questa linea dice che i programmi devono per prima cosa
  guardare nel file /etc/hosts, dopo devono usare il DNS in accordo con
  resolv.conf.


  /etc/host.conf


  Probabilmente contiene numerose linee, una di queste dovrebbe
  cominciare con order e somigliare a questa:


  ______________________________________________________________________
  order hosts,bind
  ______________________________________________________________________




  Se la linea `order' non ci fosse la dovrete aggiungere. Questa linea
  dice alle routine predisposte alla risoluzione dei nomi che devono per
  prima cosa guardare nel file /etc/hosts, dopo devono chiedere al name
  server (che voi avete indicato in resolv.conf all'indirizzo
  127.0.0.1).


  3.1.  Far partire Named.

  Adesso  ora di far partire named. Se state usando una connessione
  dial-up, per prima cosa collegatevi. Fate `ndc start',e premete
  return, senza opzioni. Se non funziona provate `/usr/sbin/ndc start'.
  Se non va leggete la sezione ``Domande e Risposte''. Se andate a
  leggere il file che contiene il log di sistema (usualmente chiamato
  /var/adm/messages, ma controllate anche la directory /var/log e un
  altro file da controllare in questa  syslog) quando named parte (fate
  tail -f /var/log/messages) dovreste leggere qualcosa di simile a:


  (le linee che terminano per \ continuano sulla linea successiva)



       Feb 15 01:26:17 roke named[6091]: starting.  named 8.1.1 Sat Feb 14 \
         00:18:20 MET 1998 ^Ijanl@roke.uio.no:/var/tmp/bind-8.1.1/src/bin/named
       Feb 15 01:26:17 roke named[6091]: cache zone "" (IN) loaded (serial 0)
       Feb 15 01:26:17 roke named[6091]: master zone "0.0.127.in-addr.arpa" \
         (IN) loaded (serial 1)
       Feb 15 01:26:17 roke named[6091]: listening [127.0.0.1].53 (lo)
       Feb 15 01:26:17 roke named[6091]: listening [129.240.230.92].53 (ippp0)
       Feb 15 01:26:17 roke named[6091]: Forwarding source address is [0.0.0.0].1040
       Feb 15 01:26:17 roke named[6092]: Ready to answer queries.




  Se ci sono messaggi d'errore significa che c' un problema.  Named
  dir il nome del file scorretto (uno tra named.conf e root.hints spero
  :-) Uccidete named e tornate indietro per controllare quel file.


  Adesso potete testare la vostra configurazione. Usate nslookup per
  esaminare il vostro lavoro.



       $ nslookup
       Default Server:  localhost
       Address:  127.0.0.1

       >





  Se corrisponde a quello che vedete significa che sta funzionando.
  Altrimenti tornate indietro e ricontrollate tutto. Ogni volta che
  cambiate il file named.conf dovete far ripartire named con il comando
  ndc restart.


  Adesso potete immettere una interrogazione (query). Cercate di fare il
  look-up di macchine vicine a voi. pat.uio.no  vicina a me,
  all'universit di Oslo:



       > pat.uio.no
       Server:  localhost
       Address:  127.0.0.1

       Name:    pat.uio.no
       Address:  129.240.130.16





  nslookup adesso ha chiesto al vostro named di cercare la macchina
  pat.uio.no. Poi contatta una delle macchine name server indicate nel
  file root.hints, e chiede loro la strada per arrivarci.  Potrebbe
  essere necessario un po' di tempo prima che sia disponibile il
  risultato, come potrebbe essere necessario cercare in tutti i domini
  elencati in /etc/resolv.conf.


  Se lo chiederete nuovamente otterrete questo:



       > pat.uio.no
       Server:  localhost
       Address:  127.0.0.1

       Non-authoritative answer:
       Name:    pat.uio.no
       Address:  129.240.2.50




  Notate la linea ``Non-authoritative answer:'' che abbiamo ottenuto
  questa volta. Significa che named non  uscito sulla rete per fare la
  richiesta: l'informazione era gi nella cache. Ma questa informazione
  (memorizzata nella cache) potrebbe essere non aggiornata (scaduta).
  Verrete informati di questa possibilit (molto piccola) con il
  messaggio `Non-authorative answer:'. Quando nslookup risponde in
  questo modo alla seconda richiesta per uno stesso host  sicuro che
  named ha messo nella cache l'informazione e che sta funzionando. Si
  esce da nslookup dando il comando `exit'.


  3.2.  Migliorarlo ancora.

  Nelle reti grosse, ben organizzate, accademiche o relative a ISP
  (Internet Service Provider) scoprirete che a volte le persone che
  lavorano sulla rete mettono a punto una gerarchia di impiego dei
  server DNS, che aiuta ad alleggerire il carico sulla rete interna e
  sui server esterni. Non  facile capire se vi trovate dentro o fuori
  una rete.  Comunque non  importante e usando il server DNS del vostro
  provider come ``forwarder''  farete in modo che le risposte alle
  vostre richieste siano pi veloci e meno pesanti per la vostra rete.
  Se usate un modem questa pu essere una piccola vittoria. Tanto per
  fare un esempio assumeremo che il vostro provider di rete (network
  provider) abbia due name server e che voglia farveli usare, con numeri
  IP 10.0.0.1 e 10.1.0.1. Allora nel vostro file named.conf, all'interno
  della sezione d'apertura chiamata ``options'' inserite queste linee:


  ______________________________________________________________________
             forward first;
             forwarders {
                  10.0.0.1;
                  10.1.0.1;
              };
  ______________________________________________________________________




  C' anche un trucco carino per le macchine dial-up che usano i
  forwarder,  descritto nella sezione ``Domande e Risposte''.


  Fate ripartire il vostro name server e testatelo con nslookup.
  Dovrebbe funzionare bene.


  3.3.  Congratulazioni

  Adesso sapete come impostare una versione con cache di named.
  Prendetevi una birra, del latte o qualunque cosa vi piaccia per
  celebrare l'evento.


  4.  Un semplice  dominio.

  Come impostare il vostro dominio.


  4.1.  Ma prima un po' di asciutta teoria

  Prima di iniziare veramente con questa sezione vi proporr un po' di
  teoria e un esempio su come il DNS lavora. E voi dovrete leggerlo
  perch vi sar utile. Se non ne avete voglia dovrete almeno dargli uno
  sguardo veloce. Fate invece attenzione alle parti che dovrebbero
  andare nel vostro file named.conf.
  DNS  un sistema gerarchico, strutturato ad albero. L'apice  indicato
  come `.' e pronunciato `root'. Al di sotto di . c' un gran numero di
  Top Level Domains (TLD), i pi noti sono ORG, COM,EDU and NET, ma ce
  ne sono molti altri. Proprio come in un albero esso ha la radice e si
  dirama verso l'esterno. Se avete qualche conoscenza d'informatica
  riconoscerete nel DNS un albero di ricerca, e scoprirete nodi, nodi-
  foglia e spigoli.


  Quando comincia la ricerca di una macchina la richiesta procede
  ricorsivamente nella gerarchia, iniziando dall'apice. Se volete
  trovare prep.ai.mit.edu il vostro name server dovr prima scoprire
  quale name server gestisce edu. Esso dunque chiede a uno dei .  server
  (sa gi quali sono i server .  ,  a questo che serve il file
  root.hints), e il . fornisce una lista dei server edu:



       $ nslookup
       Default Server:  localhost
       Address:  127.0.0.1





  Iniziate a interrogare un name server:



       > server c.root-servers.net.
       Default Server:  c.root-servers.net
       Address:  192.33.4.12




  Impostate il tipo di interrogazione (query type) su NS (name server
  records):



       > set q=ns




  interrogate su edu:



       > edu.




  Il . finale qui  significativo, dice a nslookup che la nostra
  richiesta  relativa a edu  direttamente sotto a . (e non sotto un
  altro dominio presente nel search, questo velocizza la ricerca)







  edu     nameserver = A.ROOT-SERVERS.NET
  edu     nameserver = H.ROOT-SERVERS.NET
  edu     nameserver = B.ROOT-SERVERS.NET
  edu     nameserver = C.ROOT-SERVERS.NET
  edu     nameserver = D.ROOT-SERVERS.NET
  edu     nameserver = E.ROOT-SERVERS.NET
  edu     nameserver = I.ROOT-SERVERS.NET
  edu     nameserver = F.ROOT-SERVERS.NET
  edu     nameserver = G.ROOT-SERVERS.NET
  A.ROOT-SERVERS.NET      internet address = 198.41.0.4
  H.ROOT-SERVERS.NET      internet address = 128.63.2.53
  B.ROOT-SERVERS.NET      internet address = 128.9.0.107
  C.ROOT-SERVERS.NET      internet address = 192.33.4.12
  D.ROOT-SERVERS.NET      internet address = 128.8.10.90
  E.ROOT-SERVERS.NET      internet address = 192.203.230.10
  I.ROOT-SERVERS.NET      internet address = 192.36.148.17
  F.ROOT-SERVERS.NET      internet address = 192.5.5.241
  G.ROOT-SERVERS.NET      internet address = 192.112.36.4





  Questo significa che tutti i server ROOT-SERVERS.NET risolvono EDU.,
  cos potremo interrogare uno qualunque di essi. Continueremo a usare
  il C. Adesso vogliamo sapere chi risolve il prossimo livello del
  nostro nome di dominio: mit.edu.:



       > mit.edu.
       Server:  c.root-servers.net
       Address:  192.33.4.12

       Non-authoritative answer:
       mit.edu nameserver = W20NS.mit.edu
       mit.edu nameserver = BITSY.mit.edu
       mit.edu nameserver = STRAWB.mit.edu

       Authoritative answers can be found from:
       W20NS.mit.edu   internet address = 18.70.0.160
       BITSY.mit.edu   internet address = 18.72.0.3
       STRAWB.mit.edu  internet address = 18.71.0.151




  steawb, w20ns e bitsy risolvono mit.edu, ne sceglieremo uno e lo
  interrogheremo sul prossimo livello ancora: ai.mit.edu:



       > server W20NS.mit.edu.




  I nomi di host non sono case sensitive, ma io uso il mouse per
  tagliare e incollare cos come vengono dallo schermo.







  Server:  W20NS.mit.edu
  Address:  18.70.0.160

  > ai.mit.edu.
  Server:  W20NS.mit.edu
  Address:  18.70.0.160

  Non-authoritative answer:
  ai.mit.edu      nameserver = ALPHA-BITS.AI.MIT.EDU
  ai.mit.edu      nameserver = GRAPE-NUTS.AI.MIT.EDU
  ai.mit.edu      nameserver = TRIX.AI.MIT.EDU
  ai.mit.edu      nameserver = MUESLI.AI.MIT.EDU
  ai.mit.edu      nameserver = LIFE.AI.MIT.EDU
  ai.mit.edu      nameserver = BEET-CHEX.AI.MIT.EDU
  ai.mit.edu      nameserver = MINI-WHEATS.AI.MIT.EDU
  ai.mit.edu      nameserver = COUNT-CHOCULA.AI.MIT.EDU
  ai.mit.edu      nameserver = MINTAKA.LCS.MIT.EDU

  Authoritative answers can be found from:
  AI.MIT.EDU      nameserver = ALPHA-BITS.AI.MIT.EDU
  AI.MIT.EDU      nameserver = GRAPE-NUTS.AI.MIT.EDU
  AI.MIT.EDU      nameserver = TRIX.AI.MIT.EDU
  AI.MIT.EDU      nameserver = MUESLI.AI.MIT.EDU
  AI.MIT.EDU      nameserver = LIFE.AI.MIT.EDU
  AI.MIT.EDU      nameserver = BEET-CHEX.AI.MIT.EDU
  AI.MIT.EDU      nameserver = MINI-WHEATS.AI.MIT.EDU
  AI.MIT.EDU      nameserver = COUNT-CHOCULA.AI.MIT.EDU
  AI.MIT.EDU      nameserver = MINTAKA.LCS.MIT.EDU
  ALPHA-BITS.AI.MIT.EDU   internet address = 128.52.32.5
  GRAPE-NUTS.AI.MIT.EDU   internet address = 128.52.36.4
  TRIX.AI.MIT.EDU internet address = 128.52.37.6
  MUESLI.AI.MIT.EDU       internet address = 128.52.39.7
  LIFE.AI.MIT.EDU internet address = 128.52.32.80
  BEET-CHEX.AI.MIT.EDU    internet address = 128.52.32.22
  MINI-WHEATS.AI.MIT.EDU  internet address = 128.52.54.11
  COUNT-CHOCULA.AI.MIT.EDU        internet address = 128.52.38.22
  MINTAKA.LCS.MIT.EDU     internet address = 18.26.0.36





  Quindi muesli.ai.mit.edu  un nameserver per ai.mit.edu:



       > server MUESLI.AI.MIT.EDU
       Default Server:  MUESLI.AI.MIT.EDU
       Address:  128.52.39.7





  Adesso cambio il tipo di interrogazione (query): abbiamo trovato il
  name server e quindi vogliamo chiedere tutto ci che muesli sa a
  proposito di prep.ai.mit.edu.









  > set q=any
  > prep.ai.mit.edu.
  Server:  MUESLI.AI.MIT.EDU
  Address:  128.52.39.7

  prep.ai.mit.edu CPU = dec/decstation-5000.25    OS = unix
  prep.ai.mit.edu
          inet address = 18.159.0.42, protocol = tcp
            ftp  telnet  smtp  finger
  prep.ai.mit.edu preference = 1, mail exchanger = gnu-life.ai.mit.edu
  prep.ai.mit.edu internet address = 18.159.0.42
  ai.mit.edu      nameserver = beet-chex.ai.mit.edu
  ai.mit.edu      nameserver = alpha-bits.ai.mit.edu
  ai.mit.edu      nameserver = mini-wheats.ai.mit.edu
  ai.mit.edu      nameserver = trix.ai.mit.edu
  ai.mit.edu      nameserver = muesli.ai.mit.edu
  ai.mit.edu      nameserver = count-chocula.ai.mit.edu
  ai.mit.edu      nameserver = mintaka.lcs.mit.edu
  ai.mit.edu      nameserver = life.ai.mit.edu
  gnu-life.ai.mit.edu     internet address = 128.52.32.60
  beet-chex.ai.mit.edu    internet address = 128.52.32.22
  alpha-bits.ai.mit.edu   internet address = 128.52.32.5
  mini-wheats.ai.mit.edu  internet address = 128.52.54.11
  trix.ai.mit.edu internet address = 128.52.37.6
  muesli.ai.mit.edu       internet address = 128.52.39.7
  count-chocula.ai.mit.edu        internet address = 128.52.38.22
  mintaka.lcs.mit.edu     internet address = 18.26.0.36
  life.ai.mit.edu internet address = 128.52.32.80





  E cos partendo da . abbiamo scoperto i name server successivi per
  ogni livello nel nome di dominio. Se usavate il vostro server DNS
  invece di tutti questi altri, il vostro named avrebbe naturalmente
  messo nella propria cache tutte le informazioni trovate durante la
  ricerca, e per un bel pezzo non le avrebbe pi richieste.


  Nell'analogo albero ogni ``.'' del nome rappresenta un punto di
  diramazione. E le parti che stanno tra i ``.'' sono i nomi dei singoli
  rami dell'albero.


  Abbiamo scalato l'albero scegliendo un nome a piacere
  (prep.ai.mit.edu), prima abbiamo scoperto la radice (.) e poi siamo
  andati alla ricerca del prossimo ramo da scalare, nel nostro caso edu.
  Una volta trovato questo, l'abbiamo scalato passando per il server che
  conosceva questa parte di nome. Dopo abbiamo ricercato il ramo mit
  sopra il ramo edu (per avere mit.edu) e abbiamo scalato anch'esso
  sfruttando il server che conosceva mit.edu.  Ancora, abbiamo cercato
  ai.mit.edu come prossimo ramo, e per scalarlo abbiamo sfruttato il
  server che lo conosceva. Adesso siamo arrivati al giusto server, al
  giusto punto di diramazione. L'ultimo passo da fare  scoprire
  prep.ai.mit.edu, ma  molto semplice. In informatica solitamente si
  dice che prep  una foglia dell'albero.



  Un dominio poco discusso in precedenza  in-addr.arpa.  Anch'esso 
  gestito come i domini normali. in-addr.arpa ci permette di ricavare il
  nome dell'host quando abbiamo il suo indirizzo.  Una cosa importante
  da notare qua  che gli indirizzi IP sono scritti in ordine inverso
  nel dominio in-addr.arpa. Se avete un indirizzo di una macchina:
  192.128.52.43 named procede come nell'esempio prep.ai.mit.edu: scopre
  il server arpa.. Scopre il server in-addr.arpa., scopre il server
  192.in-addr.arpa., scopre il server 128.192.in-addr.arpa., scopre il
  server 52.128.192.in-addr.arpa.. Scopre i record richiesti per
  ricavare il nome di 43.52.128.192.in-addr.arpa..  Geniale ehh?? (dite
  `S') Tuttavia, a livello teorico, la conversione dei numeri potr
  risultare difficoltosa per anni.


  Ho detto una bugia. DNS non funziona precisamente come ho descritto.
  Ma comunque in maniera simile a questa.


  4.2.  Il nostro dominio.

  Adesso definiremo il nostro dominio. Stiamo per creare il dominio
  linux.bogus e per definire le macchine in esso. Utilizzo nomi di
  dominio completamente fasulli per essere sicuro di non disturbare
  nessuno. (nessuno L Fuori.)


  Un'ultima cosa prima di iniziare: Non tutti i caratteri sono permessi
  nei nomi degli host. Siamo limitati ai caratteri dell'alfabeto
  inglese: a-z, numeri: 0-9 e al carattere '-' (dash, trattino).
  Ricordatevelo. Maiuscole e minuscole hanno lo stesso valore per il
  DNS, cos pat.uio.no  identico a Pat.UiO.No.



  Abbiamo gi iniziato questa parte con questa linea in named.conf:


  ______________________________________________________________________
  zone "0.0.127.in-addr.arpa" {
          type master;
          file "pz/127.0.0";
  };
  ______________________________________________________________________




  Per favore notate in questo file l'assenza del `.' alla fine dei nomi
  del dominio. Questo significa che ora definiremo la zona 0.0.127.in-
  addr.arpa, che siamo il master server per essa e che essa  descritta
  nel file chiamato pz/127.0.0. Abbiamo gi impostato questo file:


  ______________________________________________________________________
  @               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                                  1       ; Serial
                                  8H      ; Refresh
                                  2H      ; Retry
                                  1W      ; Expire
                                  1D)     ; Minimum TTL
                          NS      ns.linux.bogus.
  1                       PTR     localhost.
  ______________________________________________________________________




  Per favore notate in questo file il `.' alla fine di tutti i nomi di
  dominio completi, in contrasto col file named.conf di prima. Alcune
  persone hanno l'abitudine di iniziare ogni file relativo a una zona
  con una direttiva $ORIGIN , ma questo  superfluo.  L'origine (che
  appartiene alla gerarchia del DNS) di un file zona  specificata nella
  sezione delle zone nel file named.conf, in questo caso  0.0.127.in-
  addr.arpa.


  Questo `file di zona' contiene 3 `record di risorse' (RR): un RR SOA,
  un RR NS e un RR PTR. SOA  l'acronimo di Start Of Authority (Inizio
  dell'Autorit). La `@'  una notazione speciale che indica l'origine,
  e poich la colonna `dominio' di questo file dice 0.0.127.in-addr.arpa
  la prima linea in realt significa:



       0.0.127.in-addr.arpa.   IN      SOA ...






  NS  il RR Name Server. Non c' la '@' all'inizio di questa linea: 
  implicita perch l'ultima linea comincia con la '@'. Questo fa
  risparmiare un po' di battute sulla tastiera. In questo modo la line
  NS pu essere scritta:



       0.0.127.in-addr.arpa.   IN      NS      ns.linux.bogus





  Essa dice al DNS quale macchina  il name server per il dominio
  0.0.127.in-addr.arpa:  appunto ns.linux.bogus.  consuetudine
  associare a `ns' la parola name server, analogamente ai web server che
  di solito sono associati a www.qualcosa; il nome pu per essere
  qualunque.

  E alla fine il record PTR dice che l'host all'indirizzo 1 nella
  sottorete tt/0.0.127.in-addr.arpa/,i.e., 127.0.0.1  chiamato
  localhost.


  Il record SOA  il preambolo di tutti i file di zona, e deve esisterne
  esattamente uno in ogni file di zona. Questo record descrive la zona,
  da dove esso viene (una macchina chiamata ns.linux.bogus), chi 
  responsabile per i suoi contenuti (hostmaster@linux.bogus, dovrete
  inserire il vostro indirizzo e-mail qui), quale  la versione del file
  di zona (serial: 1), e altre cose che riguardano il server DNS
  secondario o quello che fa da cache. Per il resto dei campi (refresh,
  retry, expire e minimum) usate pure i valori indicati in questo HOWTO
  e sarete a posto.


  Adesso fate ripartire named (il comando  ndc restart) e usate
  nslookup per esaminare cosa avete fatto:










  $ nslookup

  Default Server:  localhost
  Address:  127.0.0.1

  > 127.0.0.1
  Server:  localhost
  Address:  127.0.0.1

  Name:    localhost
  Address:  127.0.0.1




  si ottiene localhost da 127.0.0.1, bene. Ora per il nostro scopo
  principale, il dominio linux.bogus, inserite una nuova 'zona' in
  named.conf:


  ______________________________________________________________________
  zone "linux.bogus" {
          notify no;
          type master;
          file "pz/linux.bogus";
  };
  ______________________________________________________________________




  Notate ancora l'assenza del `.' finale nel nome del dominio nel file
  named.conf.


  Nel file di zona linux.bogus metteremo dei dati completamente fasulli:


  ______________________________________________________________________
  ;
  ; File di zona per linux.bogus
  ;
  ; File di zona completo
  ;
  @       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                          199802151       ; numero di serie, data di oggi + # di serie di oggi
                          8H              ; refresh, secondi
                          2H              ; retry, secondi
                          1W              ; expire, secondi
                          1D )            ; minimum, secondi
  ;
                  NS      ns              ; Indirizzo Inet del name server
                  MX      10 mail.linux.bogus     ; Mail Exchanger Primario
                  MX      20 mail.friend.bogus.   ; Mail Exchanger Secondario
  ;
  localhost       A       127.0.0.1
  ns              A       192.168.196.2
  mail            A       192.168.196.4
  ______________________________________________________________________




  Bisogna notare due cose a proposito del record SOA. ns.linux.bogus
  deve essere una macchina effettiva con un record A. Non  legale avere
  un record CNAME per la macchina indicata nel record SOA. Il suo nome
  non deve essere per forza `ns', pu essere un qualsiasi nome legale di
  host. La seconda cosa, hostmaster.linux.bogus deve essere interpretato
  come hostmaster@linux.bogus, questo dovr essere un alias per un
  indirizzo email vero, o una mailbox, purch la/le persona/e che
  mantengono il DNS leggano la posta frequentemente.  Ogni mail che
  riguarda il dominio sar spedita all'indirizzo indicato in questo
  record. Il nome non deve essere per forza `hostmaster' , potr essere
  un normale indirizzo email, di solito ci si aspetta che `hostmaster'
  funzioni a dovere (cio che la posta indirizzata ad esso arrivi da
  qualche parte).


  C' un nuovo tipo di RR in questo file, MX o RR Mail eXchanger.  Esso
  indica ai sistemi adibiti allo smistamento della posta dove mandarla,
  quando  ad esempio indirizzata a qualcuno@linux.bogus; nel nostro
  caso si tratta di mail.linux.bogus o mail.friend.bogus.  Il numero che
  precede ogni nome di macchina indica la priorit del RR MX. Il RR con
  il numero pi basso (10)  quello che indica il mail server al quale,
  se possibile, deve essere mandata la posta per primo.  Se non
  funzionasse la posta potr essere spedita a un server con un numero
  pi alto, un mail server secondario, i.e. mail.friend.bogus che
  appunto ha priorit 20 nel nostro caso.


  Fate ripartire named con ndc restart. Esaminate i risultati con
  nslookup:



       $ nslookup
       > set q=any
       > linux.bogus
       Server:  localhost
       Address:  127.0.0.1

       linux.bogus
               origin = ns.linux.bogus
               mail addr = hostmaster.linux.bogus
               serial = 199802151
               refresh = 28800 (8 hours)
               retry   = 7200 (2 hours)
               expire  = 604800 (7 days)
               minimum ttl = 86400 (1 day)
       linux.bogus     nameserver = ns.linux.bogus
       linux.bogus     preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
       linux.bogus     preference = 20, mail exchanger = mail.friend.bogus
       linux.bogus     nameserver = ns.linux.bogus
       ns.linux.bogus  internet address = 192.168.196.2
       mail.linux.bogus        internet address = 192.168.196.4





  Con un accurato esame scoprirete un bug (un errore). La linea



       linux.bogus     preference = 10, mail exchanger = mail.linux.bogus.linux.bogus




   sbagliata. Dovrebbe essere:


       linux.bogus     preference = 10, mail exchanger = mail.linux.bogus





  Ho deliberatamente fatto quest'errore in modo che impariate da esso
  :-). Cercando nel file di zona scopriremo che alla linea



                       MX      10 mail.linux.bogus     ; Mail Exchanger Primario




  manca un punto. Oppure che ha un 'linux.bogus' di troppo. Se un nome
  di macchina non finisce con il punto nel file di zona, l'origine viene
  aggiunta alla sua fine causando il doppione linux.bogus.linux.bogus.
  Dunque sia:


  ______________________________________________________________________
                  MX      10 mail.linux.bogus.    ; Mail Exchanger Primario
  ______________________________________________________________________



  o


  ______________________________________________________________________
                  MX      10 mail                 ; Mail Exchanger Primario
  ______________________________________________________________________



   corretto. Io preferisco il secondo modo perch  pi breve da
  scrivere. Ci sono alcuni esperti di bind che non approvano, altri
  invece s. Quindi in un file di zona il dominio dovrebbe essere
  scritto per intero e fatto terminare da un `.' o dovrebbe essere
  escluso del tutto, in questo caso verrebbe sostituito dall'origine.


  Devo stressarvi con la storia del file named.conf, non ci devono
  essere `.' alla fine dei nomi di dominio. Non avete idea di quante
  volte un `.' di troppo (o la sua assenza) abbia ingarbugliato le cose
  e confuso delle indiavolate persone.



  Dunque ecco qua il nuovo file di zona, con qualche informazione extra
  messa nel modo giusto:













  ______________________________________________________________________
  ;
  ; File di zona per linux.bogus
  ;
  ; Il file di zona completo
  ;
  @       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                          199802151       ; # di serie, data di oggi + # di serie di oggi
                          8H              ; refresh, secondi
                          2H              ; retry, secondi
                          1W              ; expire, secondi
                          1D )            ; minimum, secondi
  ;
                  TXT     "Linux.Bogus, il proprio consulente DNS"
                  NS      ns              ; Indirizzo Inet del name server
                  NS      ns.friend.bogus.
                  MX      10 mail         ; Mail Exchanger Primario
                  MX      20 mail.friend.bogus. ; Mail Exchanger Secondario

  localhost       A       127.0.0.1

  gw              A       192.168.196.1
                  HINFO   "Cisco" "IOS"
                  TXT     "Il router"

  ns              A       192.168.196.2
                  MX      10 mail
                  MX      20 mail.friend.bogus.
                  HINFO   "Pentium" "Linux 2.0"
  www             CNAME   ns

  donald          A       192.168.196.3
                  MX      10 mail
                  MX      20 mail.friend.bogus.
                  HINFO   "i486"      "Linux 2.0"
                  TXT     "DEK"

  mail            A       192.168.196.4
                  MX      10 mail
                  MX      20 mail.friend.bogus.
                  HINFO   "386sx" "Linux 1.2"

  ftp             A       192.168.196.5
                  MX      10 mail
                  MX      20 mail.friend.bogus.
                  HINFO   "P6" "Linux 2.1.86"
  ______________________________________________________________________




  Ci sono un sacco di nuovi RR qua: HINFO (Host Information)  composto
  da due parti,  buona cosa dividerle entrambe con le virgolette. La
  prima parte indica l'hardware o la CPU della macchina, e la seconda
  parte il software o il S(istema)O(perativo) della macchina.  La
  macchina chiamata `ns' ha una CPU Pentium e Linux 2.0 come SO. CNAME
  (Canonical Name)  un modo per dare a ogni macchina diversi nomi. Cos
  www  un alias per ns.


  L'utilizzo del record CNAME  un po' controverso. Ma  bene seguire la
  regola per cui un record MX, CNAME o SOA non dovrebbero mai riferirsi
  a un record CNAME, dovrebbero far rifimento soltanto a qualcosa che
  abbia un record A, cio non  auspicabile avere


  ______________________________________________________________________
  foobar          CNAME   www                     ; NO!
  ______________________________________________________________________



  ma  corretto avere


  ______________________________________________________________________
  foobar          CNAME   ns                      ; S!
  ______________________________________________________________________




   anche consigliabile assumere che un CNAME non  un nome di host
  legale per un indirizzo email: webmaster@www.linux.bogus  un
  indirizzo email illegale generato dall'impostazione errata di cui
  sopra.  Anche se per voi funziona, qualche amministratore di server di
  posta vi far rispettare questa regola.  Il modo per impedire tutto
  questo  usare un record A (o anche un record tipo MX):


  ______________________________________________________________________
  www             A       192.168.196.2
  ______________________________________________________________________




  Alcuni maghi-dell'architettura-di-bind raccomandano di non usare CNAME
  per nulla. Ma la discussione sul perch o sul perch no va oltre
  questo HOWTO.


  Ma coma potrete notare, questo HOWTO e molti siti non seguono questa
  regola.


  Caricate il nuovo database facendo ndc reload, questo imporr a named
  di rileggere i suoi file.



       $ nslookup
       Default Server:  localhost
       Address:  127.0.0.1

       > ls -d linux.bogus





  Questo fa s che vengano elencati tutti i record, risulta cos:










  [localhost]
  $ORIGIN linux.bogus.
  @                       1D IN SOA       ns hostmaster (
                                          199802151       ; serial
                                          8H              ; refresh
                                          2H              ; retry
                                          1W              ; expiry
                                          1D )            ; minimum

                          1D IN NS        ns
                          1D IN NS        ns.friend.bogus.
                          1D IN TXT       "Linux.Bogus, your DNS consultants"
                          1D IN MX        10 mail
                          1D IN MX        20 mail.friend.bogus.
  gw                      1D IN A         192.168.196.1
                          1D IN HINFO     "Cisco" "IOS"
                          1D IN TXT       "Il router"
  mail                    1D IN A         192.168.196.4
                          1D IN MX        10 mail
                          1D IN MX        20 mail.friend.bogus.
                          1D IN HINFO     "386sx" "Linux 1.0.9"
  localhost               1D IN A         127.0.0.1
  www                     1D IN CNAME     ns
  donald                  1D IN A         192.168.196.3
                          1D IN MX        10 mail
                          1D IN MX        20 mail.friend.bogus.
                          1D IN HINFO     "i486" "Linux 1.2"
                          1D IN TXT       "DEK"
  ftp                     1D IN A         192.168.196.5
                          1D IN MX        10 mail
                          1D IN MX        20 mail.friend.bogus.
                          1D IN HINFO     "P6" "Linux 1.3.59"
  ns                      1D IN A         192.168.196.2
                          1D IN MX        10 mail
                          1D IN MX        20 mail.friend.bogus.
                          1D IN HINFO     "Pentium" "Linux 1.2"





   buono. Come potete vedere somiglia un sacco allo stesso file di
  zona. Vediamo cosa dice per www da solo:



       > set q=any
       > www.linux.bogus.
       Server:  localhost
       Address:  127.0.0.1

       www.linux.bogus canonical name = ns.linux.bogus
       linux.bogus     nameserver = ns.linux.bogus
       linux.bogus     nameserver = ns.friend.bogus
       ns.linux.bogus  internet address = 192.168.196.2





  In altre parole, il vero nome diwww.linux.bogus  ns.linux.bogus, e vi
  da qualche informazione a proposito di ns, abbastanza per connettervi
  ad esso se voi foste un programma.



  Ora siamo a met strada.


  4.3.  La zona inversa (reverse zone)

  Adesso i programmi possono convertire i nomi di linux.bogus negli
  indirizzi a cui vorrebbero connettersi. Ma c' bisogno anche della
  zona inversa, un DNS tale da poter covertire un indirizzo in un nome.
  Questo nome  utile a un sacco di server di diversi tipi (FTP, IRC,
  WWW e altri) per decidere se colloquiare con voi o meno, e se si,
  anche quanta priorit dovr essere assegnata loro.  Per un pieno
  accesso a tutti i servizi su Internet  richiesta una zona inversa.


  Mettete questo in named.conf:


  ______________________________________________________________________
  zone "196.168.192.in-addr.arpa" {
          notify no;
          type master;
          file "pz/192.168.196";
  };
  ______________________________________________________________________




   esattamente come per 0.0.127.in-addr.arpa, e i contenuti sono
  simili:


  ______________________________________________________________________
  @       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                          199802151 ; # di serie, data di oggi + # di serie di oggi
                          8H      ; Refresh
                          2H      ; Retry
                          1W      ; Expire
                          1D)     ; Minimum TTL
                  NS      ns.linux.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.
  ______________________________________________________________________




  Adesso fate ripartire named (ndc restart) e esaminate ancora il lavoro
  con nslookup :


  ______________________________________________________________________
  > 192.168.196.4
  Server:  localhost
  Address:  127.0.0.1

  Name:    mail.linux.bogus
  Address:  192.168.196.4
  ______________________________________________________________________



  pare OK, elencate tutto per fare un esame accurato:


  ______________________________________________________________________
  > ls -d 196.168.192.in-addr.arpa
  [localhost]
  $ORIGIN 196.168.192.in-addr.arpa.
  @                       1D IN SOA       ns.linux.bogus. hostmaster.linux.bogus. (
                                          199802151       ; serial
                                          8H              ; refresh
                                          2H              ; retry
                                          1W              ; expiry
                                          1D )            ; minimum

                          1D IN NS        ns.linux.bogus.
  1                       1D IN PTR       gw.linux.bogus.
  2                       1D IN PTR       ns.linux.bogus.
  3                       1D IN PTR       donald.linux.bogus.
  4                       1D IN PTR       mail.linux.bogus.
  5                       1D IN PTR       ftp.linux.bogus.
  @                       1D IN SOA       ns.linux.bogus. hostmaster.linux.bogus. (
                                          199802151       ; serial
                                          8H              ; refresh
                                          2H              ; retry
                                          1W              ; expiry
                                          1D )            ; minimum
  ______________________________________________________________________




  Sembra buono! Se il vostro output non viene simile a questo guardate i
  messaggi d'errore nel vostro syslog. Ho spiegato come farlo all'inizio
  del capitolo.


  4.4.  Qualche parola di avvertimento.

  Ci sono delle cose che a questo punto vorrei aggiungere. I numeri IP
  usati negli esempi sono stati presi dai blocchi delle "reti private" ,
  i.e., non  permesso usarli esplicitamente su internet. Per questo
  sono comodi da usare in un HOWTO. La seconda cosa riguarda la linea
  notify no;. Dice a named che non deve notificare al suo server
  secondario (slave, schiavo) quando riceve un aggiornamento di uno dei
  suoi file di zona. In bind-8 named pu notificare agli altri server
  quando riceve un aggiornamento dei file di zona. Questo  utile
  nell'uso comune, ma per gli esperimenti privati con le zone questa
  possibilit deve essere esclusa, non vogliamo che i nostri esperimenti
  inquinino internet vero??


  E naturalmente, questo dominio  veramente fasullo, e cos tutti gli
  indirizzi in esso. Per un vero esempio tratto dalla vita reale leggete
  il prossimo capitolo.


  4.5.  Perch non funziona il lookup inverso (reverse lookup).

  Ci sono un paio di ``grattacapi'' che possono essere normalmente
  evitati quando si fa il lookup sempre degli stessi nomi (o dei nomi
  per cui lo si fa pi spesso) quando si imposta la zona inversa. Prima
  che andiate avanti c' bisogno che il lookup inverso funzioni bene sul
  vostro nameserver. Se cos non fosse, tornate indietro e mettetelo a
  posto prima di continuare.


  Discuter due problematiche del lookup inverso viste dall'esterno
  della vostra rete:


  4.5.1.  La zona inversa non  delegata.

  Quando chiedete a un provider di servizi un dominio e un intervallo di
  indirizzi di rete, il dominio  normalmente delegato di conseguenza.
  Una delega  quel record NS che tiene assieme il tutto, che vi
  permette di passare da un nameserver all'altro come  stato spiegato
  nella sezione teorica di sopra. L'avete letta vero? Se la zona inversa
  non vi funziona tornate indietro e leggetela. Ora.


  Anche la zona inversa deve essere delegata. Se avete ottenuto la rete
  192.168.196 con il dominio linux.bogus dal vostro provider di servizi,
  loro dovranno mettere un record NS nella vostra zona inversa cos come
  per la vostra zona di forward.  Se seguirete la catena partendo da in-
  addr.arpa fino alla vostra rete, probabilmente troverete
  un'interruzione nella catena.  Molto probabilmente a livello del
  vostro service provider.  Una volta scoperta l'interruzione contattate
  il provider e chiedetegli di correggere l'errore.


  4.5.2.  Vi hanno dato una sottorete classless.

  Questo sarebbe un argomento un po' avanzato, ma le sottoreti classless
  (senza classe) ormai sono molto comuni e probabilmente ne avete una a
  meno che non siate un'azienda di media grandezza.


  Una sottorete classless  ci che oggi manda avanti Internet.  Qualche
  anno fa si  fatto molto rumore a causa della scarsit di numeri IP.
  Le brillanti persone che lavorano al IETF (l'Internet Engineering Task
  Force, sono loro che mantengono la funzionalit di Internet) unirono
  le loro menti e risolsero il problema. Ma bisogna pagare un prezzo. Il
  prezzo  che avrete meno che una sottorete di classe ``C'' e qualche
  cosa potrebbe non funzionare. Leggete per favore Ask Mr. DNS at
  http://www.acmebw.com/askmrdns/00007.htm per una buona spiegazione e
  per come trattare il problema.


  L'avete letto? Non sto per spiegarlo quindi leggetelo.


  La prima parte del problema  costituita dal fatto che il vostro ISP
  deve capire la tecnica descritta da Mr. DNS. Non tutti i piccoli ISP
  hanno una chiara visione di questa. Se sar il caso dovrete spiegar
  loro come fare ed essere insistenti. Ma anche voi assicuratevi di aver
  capito bene prima ;-). A questo punto loro imposteranno una buona zona
  inversa sui loro server, e voi potrete esaminarla correttamente con
  nslookup.


  La seconda e ultima parte del problema  costituita dal fatto che voi
  dovete comprendere la tecnica. Se non siete sicuri rileggetela ancora.
  Dopo potrete impostare le zone inverse della vostra sottorete
  classless come descritto da Mr. DNS.


  Nei dontorni c' un'altra trappola in agguato. I vecchi risolutori non
  sono abilitati a sfruttare il trucco del CNAME nella catena della
  risoluzione e falliranno nel tentativo di risolvere inversamente
  (reverse-resolving) la vostra macchina. Questo problema pu portare ad
  assegnare al servizio una scorretta classe di accesso, all'accesso
  negato o a qualcosa del genere.  Se inciampaste in un servizio di
  questo tipo l'unica soluzione (che io conosca)  che il vostro ISP
  inserisca direttamente nel suo file di zona truccato (il file relativo
  alla vostra zona classless) il vostro record PTR anzich il record
  CNAME truccato ( un modo per ingannare il DNS e per fargli accettare
  qualcosa per cui non  preparato).


  Altri ISP offriranno diversi modi per risolvere questo problema, come
  dei form via web (Web-based) che permettono di inserire i vostri dati
  sulla zona inversa , oppure con altri sistemi "automagici".


  5.  Esempio di un vero dominio

  Dove si elencano alcuni veri file di zona


  Gli utenti mi hanno suggerito di includere un esempio reale di un
  dominio funzionante come l'esempio di tutorial.


  Utilizzo questo esempio col permesso concessomi da David Bullock di
  LAND-5. Questi file risalgono al 24 Settembre 1996, successivamente
  vennero da me modificati perch si adattassero alle restrizioni di
  bind 8 e perch comprendessero delle estensioni. Questo implica che
  quello che leggerete qua differisce un po' da quello che otterreste
  facendo una query sul nameserver di LAND-5.


  5.1.  /etc/named.conf (o /var/named/named.conf)

  Qui troveremo le sezioni relative alle due zone inverse richieste: la
  rete 127.0.0, e la sottorete LAND-5 206.6.177. Poi c' la linea
  relativa alla zona di forward per land-5, land-5.com. Si noti come i
  file siano stati sistemati nella directory chiamata zone anzich in pz
  come ho fatto in questo HOWTO.






























  ______________________________________________________________________
  // Boot file for LAND-5 name server

  options {
          directory "/var/named";
  };

  zone "." {
          type hint;
          file "root.hints";
  };

  zone "0.0.127.in-addr.arpa" {
          type master;
          file "zone/127.0.0";
  };

  zone "land-5.com" {
          type master;
          file "zone/land-5.com";
  };

  zone "177.6.206.in-addr.arpa" {
          type master;
          file "zone/206.6.177";
  };
  ______________________________________________________________________




  Se aveste intenzione di usare queste righe nel vostro named.conf (ma
  solo per gioco) PER FAVORE mettete ``notify no;'' nelle sezioni
  relative alle due zone land-5 cos da evitare incidenti.


  5.2.  /var/named/root.hints

  Tenete a mente che questo  un file dinamico, e quello che c' qua
  sar vecchio.  meglio che ne procuriate uno recente, con dig, come
  verr presto spiegato.

























  ______________________________________________________________________
  ; <<>> DiG 8.1 <<>> @A.ROOT-SERVERS.NET.
  ; (1 server found)
  ;; res options: init recurs defnam dnsrch
  ;; got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10
  ;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
  ;; QUERY SECTION:
  ;;      ., type = NS, class = IN

  ;; ANSWER SECTION:
  .                     6D IN NS        G.ROOT-SERVERS.NET.
  .                     6D IN NS        J.ROOT-SERVERS.NET.
  .                     6D IN NS        K.ROOT-SERVERS.NET.
  .                     6D IN NS        L.ROOT-SERVERS.NET.
  .                     6D IN NS        M.ROOT-SERVERS.NET.
  .                     6D IN NS        A.ROOT-SERVERS.NET.
  .                     6D IN NS        H.ROOT-SERVERS.NET.
  .                     6D IN NS        B.ROOT-SERVERS.NET.
  .                     6D IN NS        C.ROOT-SERVERS.NET.
  .                     6D IN NS        D.ROOT-SERVERS.NET.
  .                     6D IN NS        E.ROOT-SERVERS.NET.
  .                     6D IN NS        I.ROOT-SERVERS.NET.
  .                     6D IN NS        F.ROOT-SERVERS.NET.

  ;; ADDITIONAL SECTION:
  G.ROOT-SERVERS.NET.     5w6d16h IN A    192.112.36.4
  J.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.10
  K.ROOT-SERVERS.NET.     5w6d16h IN A    193.0.14.129
  L.ROOT-SERVERS.NET.     5w6d16h IN A    198.32.64.12
  M.ROOT-SERVERS.NET.     5w6d16h IN A    202.12.27.33
  A.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.4
  H.ROOT-SERVERS.NET.     5w6d16h IN A    128.63.2.53
  B.ROOT-SERVERS.NET.     5w6d16h IN A    128.9.0.107
  C.ROOT-SERVERS.NET.     5w6d16h IN A    192.33.4.12
  D.ROOT-SERVERS.NET.     5w6d16h IN A    128.8.10.90
  E.ROOT-SERVERS.NET.     5w6d16h IN A    192.203.230.10
  I.ROOT-SERVERS.NET.     5w6d16h IN A    192.36.148.17
  F.ROOT-SERVERS.NET.     5w6d16h IN A    192.5.5.241

  ;; Total query time: 215 msec
  ;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET.  198.41.0.4
  ;; WHEN: Sun Feb 15 01:22:51 1998
  ;; MSG SIZE  sent: 17  rcvd: 436
  ______________________________________________________________________




  5.3.  /var/named/zone/127.0.0

  Solo lo stretto necessario, il record obbligatorio SOA, e un record
  che mette in corrispondenza 127.0.0.1 con localhost. Entrambi sono
  richiesti. Non deve esserci nient'altro in questo file. Probabilmente
  non ci sar mai bisogno di aggiornare questo file, a meno che non
  cambino gli indirizzi del nameserver o hostmaster.










  ______________________________________________________________________
  @               IN      SOA     land-5.com. root.land-5.com. (
                                  199609203       ; Serial
                                  28800   ; Refresh
                                  7200    ; Retry
                                  604800  ; Expire
                                  86400)  ; Minimum TTL
                          NS      land-5.com.

  1                       PTR     localhost.
  ______________________________________________________________________




  5.4.  /var/named/zone/land-5.com

  Qui possiamo vedere il record obbligatorio SOA e i record NS
  richiesti. Si pu vedere che  presente un nameserver secondario in
  ns2.psi.net. Questo  come dovrebbe essere,  bene avere sempre un
  server secondario fuori dalla vostra rete che faccia da backup. Si pu
  notare anche la presenza di un host principale (master host) chiamato
  land-5 che si prende cura della maggior parte dei servizi Internet, e
  questo  fatto tramite i record CNAME (alternativamente si possono
  usare i record A)


  Come si pu vedere dal record SOA, il file di zona comincia con
  land-5.com, la persona da contattare  root@land-5.com.  Anche
  hostmaster  spesso utilizzato per il responsabile di zona.  Il numero
  seriale  nel formato standard yyyymmdd (aaaammgg) con il numero che
  indica il giorno (todays serial number) a seguire. Questa  forse la
  sesta versione del file di zona del 20 settembre 1996.  Ricordate che
  il serial number deve essere incrementato in maniera monotonica , qui
  c' solo una cifra per i todays serial #, cos dopo 9 volte che si 
  editato il file bisogna aspettare il giorno successivo prima che si
  possa editarlo di nuovo. Comunque considerate che si possono usare 2
  cifre.




























  ______________________________________________________________________
  @       IN      SOA     land-5.com. root.land-5.com. (
                          199609206       ; serial, todays date + todays serial #
                          8H              ; refresh, seconds
                          2H              ; retry, seconds
                          1W              ; expire, seconds
                          1D )            ; minimum, seconds
                  NS      land-5.com.
                  NS      ns2.psi.net.
                  MX      10 land-5.com.  ; Primary Mail Exchanger
                  TXT     "LAND-5 Corporation"

  localhost       A       127.0.0.1

  router          A       206.6.177.1

  land-5.com.     A       206.6.177.2
  ns              A       206.6.177.3
  www             A       207.159.141.192

  ftp             CNAME   land-5.com.
  mail            CNAME   land-5.com.
  news            CNAME   land-5.com.

  funn            A       206.6.177.2

  ;
  ;       Workstations
  ;
  ws-177200       A       206.6.177.200
                  MX      10 land-5.com.   ; Primary Mail Host
  ws-177201       A       206.6.177.201
                  MX      10 land-5.com.   ; Primary Mail Host
  ws-177202       A       206.6.177.202
                  MX      10 land-5.com.   ; Primary Mail Host
  ws-177203       A       206.6.177.203
                  MX      10 land-5.com.   ; Primary Mail Host
  ws-177204       A       206.6.177.204
                  MX      10 land-5.com.   ; Primary Mail Host
  ws-177205       A       206.6.177.205
                  MX      10 land-5.com.   ; Primary Mail Host
  ; {Many repetitive definitions deleted - SNIP}
  ws-177250       A       206.6.177.250
                  MX      10 land-5.com.   ; Primary Mail Host
  ws-177251       A       206.6.177.251
                  MX      10 land-5.com.   ; Primary Mail Host
  ws-177252       A       206.6.177.252
                  MX      10 land-5.com.   ; Primary Mail Host
  ws-177253       A       206.6.177.253
                  MX      10 land-5.com.   ; Primary Mail Host
  ws-177254       A       206.6.177.254
                  MX      10 land-5.com.   ; Primary Mail Host
  ______________________________________________________________________




  Esaminando i nameserver di land-5 scoprirete che gli host hanno un
  nome del tipo ws_numero. Con le ultime versioni di bind-4 named ha
  iniziato a porre delle restrizioni sui caratteri che potevano essere
  usati nei nomi di host. In questo HOWTO io ho sostituito '-' (dash,
  trattino) con '_' (underline) in modo da uniformarmi alle regole di
  bind-8 per i nomi di host.



  Un'altra cosa da notare  che le workstation non hanno nomi
  individuali, ma un prefisso seguito dalle ultime due parti del numero
  IP. Usare delle convenzioni simili pu semplificare significativamente
  la manutenzione, ma pu risultare impersonale e in effetti potrebbe
  anche irritare i vostri clienti.


  Vediamo anche che funn.land-5.com  un alias per land-5.com, ma ci 
  fatto tramite un record A, non con un record CNAME. Questo  un buon
  modo di procedere.


  5.5.  /var/named/zone/206.6.177

  Commenter questo file pi sotto.


  ______________________________________________________________________
  @               IN      SOA     land-5.com. root.land-5.com. (
                                  199609206       ; Serial
                                  28800   ; Refresh
                                  7200    ; Retry
                                  604800  ; Expire
                                  86400)  ; Minimum TTL
                          NS      land-5.com.
                          NS      ns2.psi.net.
  ;
  ;       Servers
  ;
  1       PTR     router.land-5.com.
  2       PTR     land-5.com.
  2       PTR     funn.land-5.com.
  ;
  ;       Workstations
  ;
  200     PTR     ws-177200.land-5.com.
  201     PTR     ws-177201.land-5.com.
  202     PTR     ws-177202.land-5.com.
  203     PTR     ws-177203.land-5.com.
  204     PTR     ws-177204.land-5.com.
  205     PTR     ws-177205.land-5.com.
  ; {Many repetitive definitions deleted - SNIP}
  250     PTR     ws-177250.land-5.com.
  251     PTR     ws-177251.land-5.com.
  252     PTR     ws-177252.land-5.com.
  253     PTR     ws-177253.land-5.com.
  254     PTR     ws-177254.land-5.com.
  ______________________________________________________________________




  La zona inversa costituisce quella fase della configurazione che causa
  pi grane. Essa serve a ricavare il nome di un host dall'indirizzo IP
  di una macchina. Esempio: voi siete un server IRC e accettate
  connessioni dai client IRC. Inoltre siete un server IRC Norvegese a
  volete che queste connessioni provengano da client Norvegesi o da
  altre nazioni Scandinave. Quando ricevete una richiesta di connessione
  da un client la libreria C  in grado di dirvi il numero IP della
  macchina che sta tentando la connessione, poich il numero IP del
  client  contenuto in ogni pacchetto che attraversa la rete. A questo
  punto potrete chiamare una funzione chiamata gethostbyaddr che ricava
  il nome di un host a partire dal suo indirizzo IP. Gethostbyaddr
  interrogher un server DNS, il quale attraverser il DNS in cerca
  della macchina. Supponiamo che il client si connetta da
  ws-177200.land-5.com. La libreria C presente nel server ricava il
  numero IP del client che tenta la connessione, in questo caso 
  206.6.177.200. Per scoprire il nome di questa macchina bisogna prima
  scoprire 200.177.6.206.in-addr.arpa. Il server DNS trover prima i
  server arpa., poi trover i server in-addr.arpa., seguendo il percorso
  inverso passando per 206, poi per 6 e alla fine trover il server
  responsabile per la zona 177.6.206.in-addr.arpa presso LAND-5.  Da
  questo finalmente si potr ricavare che in 200.177.6.206.in-addr.arpa
  c' un record ``PTR  ws-177200.land-5.com'', e questo significa che il
  nome associato a 206.6.177.200  ws-177200.land-5.com. Come  stato
  detto per la spiegazione della ricerca (looking up) di
  prep.ai.mit.edu, anche questa  leggermente fittizia.


  Riprendiamo l'esempio del server IRC. Il server IRC accetta
  connessioni solo da paesi Scandinavi, i.e. *.no, *.se, *.dk il nome
  ws-177200.land-5.com non corrisponde a nessuno di questi ovviamente, e
  il server negher la connessione. Se non ci fosse la corrispondenza
  inversa (reverse mapping) di 206.2.177.200 tramite la zona in-
  addr.arpa il server sarebbe incapace di scoprire il nome e avrebbe
  dovuto comparare 206.2.177.200 con *.no, *.se e *.dk, senza trovare
  nessuna corrispondenza.


  Alcune persone vi diranno che il mapping del lookup inverso 
  importante solo per i server, o per nulla importante. Non  cos:
  molti server ftp, news, IRC e anche qualche server http (WEB) non
  accetteranno connessioni da macchine per le quali non riescono a
  trovare il nome. E cos il mapping inverso diventa di fatto
  obbligatorio.



  6.  Manutenzione

  Mantenerlo operativo.


  C' un altro compito di manutenzione che dovete fare sui named, oltre
  a quello di tenerli operativi. Consiste nel mantenere aggiornato il
  file root.hints. Il modo pi semplice  usare dig, fate partire dig
  senza argomenti, otterrete root.hints in accordo col quello che c'
  sul vostro server. Poi fate una richiesta a uno dei root server
  elencati con dig @rootserver. Vedrete che l'output somiglier
  terribilmente al file root.hints. Salvatelo in un file (dig @e.root-
  servers.net . ns >root.hints.new) e rimpiazzate il vecchio root.hints
  con questo.



  Ricordate di fare reload di named dopo aver rimpiazzato il cache file.


  Questo script mi  stato mandato da Al Longyear, pu essere fatto
  partire automaticamente per aggiornare root.hints, impostate una riga
  nel crontab che lo faccia partire una volta al mese e dimenticatelo.
  Lo script assume che il vostro sistema di posta funzioni e che l'alias
  di posta `hostmaster' sia definito. Dovrete editarlo perch si
  conformi alle vostre esigenze.








  ______________________________________________________________________
  #!/bin/sh
  #
  # Update the nameserver cache information file once per month.
  # This is run automatically by a cron entry.
  #
  # Original by Al Longyear
  # Updated for bind 8 by Nicolai Langfeldt
  # Miscelanious error-conditions reported by David A. Ranch
  # Ping test suggested by Martin Foster
  #
  (
   echo "To: hostmaster <hostmaster>"
   echo "From: system <root>"
   echo "Subject: Automatic update of the root.hints file"
   echo

   PATH=/sbin:/usr/sbin:/bin:/usr/bin:
   export PATH
   cd /var/named

   # Are we online?  Ping a server at your ISP
   case `ping -qnc 1 some.machine.net` in
     *'100% packet loss'*)
          echo "The network is DOWN. root.hints NOT updated"
          echo
          exit 0
          ;;
   esac

   dig @e.root-servers.net . ns >root.hints.new 2>&1

   case `cat root.hints.new` in
     *NOERROR*)
          # It worked
          :;;
     *)
          echo "The root.hints file update has FAILED."
          echo "This is the dig output reported:"
          echo
          cat root.hints.new
          exit 0
          ;;
   esac

   echo "The root.hints file has been updated to contain the following
  information:"
   echo
   cat root.hints.new

   chown root.root root.hints.new
   chmod 444 root.hints.new
   rm -f root.hints.old
   mv root.hints root.hints.old
   mv root.hints.new root.hints
   ndc restart
   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."
  ) 2>&1 | /usr/lib/sendmail -t
  exit 0
  ______________________________________________________________________



  Qualcuno di voi potrebbe aver notato che il file root.hints 
  disponibile anche in ftp da Internic. Per favore, non usate ftp per
  aggiornare root.hints, il metodo sopra descritto  molto pi
  amichevole per la rete, e per Internic.


  7.  Convertire dalla versione 4 alla versione 8

  Questa era originariamente una sezione sull'uso di bind 8, scritta da
  Davie E. Smith (dave@bureau42.ml.org). L'ho rivista in modo da
  conformarla al nuovo nome della sezione.


  Non c' molto. Eccetto che per l'uso di named.conf al posto di
  named.boot, tutto  identico. E bind8  fornito con uno script perl
  che converte i file vecchio stile nel nuovo. Esempio di named.boot
  (vecchio stile) per un name server che fa solo da cache (caching-
  only):


  ______________________________________________________________________
  directory /var/named
  cache   .                                     root.hints
  primary 0.0.127.IN-ADDR.ARPA                    127.0.0.zone
  primary localhost                               localhost.zone
  ______________________________________________________________________



  Dalla linea di comando, nella directory bind8/src/bin/named (si assume
  che abbiate la distribuzione dei sorgenti. Se avete il pacchetto dei
  binari lo script sar da qualche parte, comunque non so esattamente
  dove dovrebbe stare. -ed-), digitate:


  ______________________________________________________________________
  ./named-bootconf.pl < named.boot > named.conf
  ______________________________________________________________________



  Il quale crea named.conf:
























  ______________________________________________________________________
  // generated by named-bootconf.pl

  options {
          directory "/var/named";
  };

  zone "." {
          type hint;
          file "root.hints";
  };

  zone "0.0.127.IN-ADDR.ARPA" {
          type master;
          file "127.0.0.zone";
  };

  zone "localhost" {
          type master;
          file "localhost.zone";
  };
  ______________________________________________________________________




  Questo script funziona per tutto ci che potrebbe stare dentro un file
  named.boot, sebbene non aggiunga tutti i miglioramenti e le nuove
  opzioni di configurazione che bind8 supporta. Qui c' un named.conf
  pi completo, che fa le stesse cose ma che  appena pi efficiente.


  ______________________________________________________________________
  // This is a configuration file for named (from BIND 8.1 or later).
  // It would normally be installed as /etc/named.conf.
  // The only change made from the `stock' named.conf (aside from this
  // comment :) is that the directory line was uncommented, since I
  // already had the zone files in /var/named.

  options {
          directory "/var/named";
          datasize 20M;
  };

  zone "localhost" IN {
          type master;
          file "localhost.zone";
  };

  zone "0.0.127.in-addr.arpa" IN {
          type master;
          file "127.0.0.zone";
  };

  zone "." IN {
          type hint;
          file "root.hints";
  };
  ______________________________________________________________________




  Trovate questo file nella distribuzione di bind8, nella directory
  bind8/src/bin/named/test, insieme a copie dei file di zona, che
  possono essere prese e usate immediatamente.
  I formati dei file di zona e root.hints sono identici, cos come i
  comandi per aggiornarli.



  8.  Domande e risposte

  Per favore leggete questa sezione prima di scrivermi in email.


  1. Il mio named vuole il file named.boot


     State leggendo l'HOWTO sbagliato. Leggete per favore la vecchia
     versione di questo HOWTO , che tratta bind 5, presso
     http://www.math.uio.no/~janl/DNS/



  2. Come si usa il DNS dall'interno di un Firewall?



     Un indizio: forward only;, probabilmemte avrete bisogno anche della
     riga


     ___________________________________________________________________
       query-source port 53;

     ___________________________________________________________________



  all'interno della parte ``options'' del file named.conf come suggerito
  nella sezione-esempio ``Un name server caching only.''



  3. Come fare in modo che il DNS distribuisca un servizio attraverso
     gli indirizzi disponibili, tipo www.sito.occupato per ottenere un
     effetto di bilanciamento, o simile??



     Create numerosi record A per www.sito.occupato e usate bind 4.9.3 o
     successivo. Poi sar bind a far ruotare le risposte. Non funziona
     con le precedenti versioni di bind.


  4. Voglio impostare il DNS su una intranet (chiusa). Cosa devo fare?


     Cancellerete il file root.hints e farete solo i file di zona.
     Questo significa anche che non dovrete aggiornare i file di hint
     tutte le volte.


  5. Come si imposta un name server secondario (slave)?


     Se il server primario/master ha indirizzo 127.0.0.1 mettete una
     linea come questa nel file named.conf del vostro secondario:



     ___________________________________________________________________
       zone "linux.bogus" {
             type slave;
             file "sz/linux.bogus";
             masters { 127.0.0.1; };
       };

     ___________________________________________________________________



  Potrete elencare numerosi master server alternativi, la zona pu
  essere copiata da dentro la lista masters, separata da ';'.


  6. Vorrei bind in esecuzione quando mi disconnetto dalla rete.


     Ci sono quattro articoli che riguardano questo:


    Specifico per bind 8, Adam L. Rice mi ha mandato questa email , su
     come far funzionare tranquillamente il DNS su una macchina dial-up:




       Ho scoperto che con le ultime versioni di BIND questo [<em/mischiare i
       file, -ed/] non  pi necessario. C' una direttiva "forward" oltre a
       quella "forwarders" che controlla come queste vengono
       usate. L'impostazione di default  "forward first", la quale prima
       chiede a ognuno dei forwarder, e poi se il tentativo fallisce, prova
       da sola a fare il lavoro seguendo un normale approccio.  Questo
       implica un normale comportamento di gethostbyname() e impiega una
       quantit spropositata di tempo quando il link non  attivo. Ma se
       "forward only"  l'impostazione scelta, allora BIND si blocca quando
       non riesce a ottenere una risposta dai forwarders, e gethostbyname()
       si ferma immediatamente. Quindi in questo caso non c' bisogno di
       smanettare con i file di /etc e di far ripartire il server.

       Per quanto mi riguarda , ho solo aggiunto le linee

       forward only;
       forwarders { 193.133.58.5; };

       nella sezione opzioni { } del mio file named.conf. Tutto ci funziona
       veramente bene. L'unico svantaggio  che questo riduce un software
       incredibilmente complicato per il DNS allo stato di una stupida cache.
       In un certo senso, io vorrei solo far fuzionare una stupida cache al
       posto del DNS, ma ci non sembra essere altro che un pezzo di software
       disponibile per Linux.






    Ho ricevuto questa mail da ian Clark <ic@deakin.edu.au> dove egli
     spiega come affronta il problema:







  Faccio partire named sulla mia macchina che fa servizio di 'Masquerading'
  (mascheramento). Ho due file root.hints, uno chiamato root.hints.real che
  contiene i veri nomi dei root server e l'altro chiamato root.hints.fake
  che contiene...

  ----
  ; root.hints.fake
  ; this file contains no information
  ----

  Quando vado off line copio il file root.hints.fake su root.hints e
  faccio ripartire named.

  Quando vado on line copio root.hints.real su root.hints e faccio
  ripartire named.

  Tutto ci viene eseguito da ip-down e ip-up rispettivamente.

  La prima volta che faccio una richiesta (query) off line, named non
  avendo dettagli su di essa lascia una riga simile a questo messaggio...

  Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN

  con la quale posso convivere.

  Questo per me funziona certamente. Posso usare il nameserver per le
  macchina locali quando sono fuori dalla rete senza il ritardo del
  timeout per i nomi di dominio esterni e mentre sono collegato alla rete
  le richieste (query) per i domini esterni funzionano normalmente.





    Ho ricevuto anche informazioni su come bind intergisce con NFS e
     con il portmapper su una macchina generalmente offline da Karl-Max
     Wanger:



       Sono abituato a eseguire il mio named su tutte le mie macchine che
       solo occasionalmente sono connesse a Internet via modem. Solo il
       nameserver fa da cache, esso non ha un'area di autorit e chiede
       qualunque cosa ai nameserver del file root.cache. Come  prassi comune
       con Slackware, viene fatto partire prima di nfsd e mountd.

       Con una delle mie macchine (un notebook Libretto 30), avevo il problema
       che qualche volta avrei voluto fare il mount di essa da un altro sistema
       connesso alla mia rete locale, ma la maggior parte delle volte non
       funzionava. Avevo lo stesso effetto usando indistintamente PLIP, una
       scheda ethernet PCMCIA o il PPP su una interfaccia seriale.

       Dopo qualche supposizione e esperimento scoprii che apparentemente
       named incasinava il processo di registrazione con portmapper che nfsd
       e mountd devono fare all'avvio (faccio partire questi demoni all'avvio
       come al solito). Eseguire named dopo nfsd e mountd elimina completamente
       questo problema.

       Anche se non ci sono svantaggi da attendersi da una sequenza di boot cos
       modificata, vorrei consigliare a tutti di farla in questo modo per prevenire
       potenziali problemi.





    Infine, ci sono delle informazioni stile HOWTO su questo argomento
     presso Ask Mr. DNS at http://www.acmebw.com/askmrdns/#linux-dialup.
     Siccome sono a proposito di bind 4, dovrete adattare quello che
     dice a bind 8.



  7. Il caching name server memorizza la sua cache? C' un modo per
     controllare la dimensione della cache?


     La cache  completamente immagazzinata in memoria, non verr mai
     scritta sul disco in nessuna occasione. Ogni volta che si blocca
     named (con il comando 'kill') la cache  persa. La cache non 
     controllabile in alcun modo. Named la gestisce in accordo a qualche
     semplice regola e basta. Non potete controllare la cache o la sua
     dimensione in nessun modo per nessuna ragione. Se questo non vi
     andasse bene potrete sempre cercare di modificare named andando ad
     agire sul codice sorgente di esso. Non  comunque un'operazione
     raccomandabile.


  8. Named salva la cache fra un riavvio e l'altro? Posso fare in modo
     che la salvi?


     No, named non salva la cache quando si ferma. Questo significa che
     la cache deve essere ricostituita ogni volta che fermate e fate
     ripartire named. Non c' modo di salvare la cache in un file.  Se
     questo non vi andasse bene potrete sempre cercare di modificare
     named andando ad agire sul codice sorgente di esso. Non  comunque
     un'operazione raccomandabile.


  9. Come si ottiene un dominio? Io vorrei impostare il mio dominio
     chiamato (ad esempio) linux-rules.net. Come posso avere il dominio
     che vorrei mi fosse assegnato?


     Contattate per favore il vostro provider di servizi di rete. Loro
     sapranno aiutarvi in questo. Sappiate che in molte parti del mondo
     ci sar bisogno di pagare per avere un dominio.




  9.  Come diventare un grande amministratore DNS.

  Documentazione e strumenti.


  Esiste della vera documentazione. Sia online che su carta stampata.
  La lettura di buona parte di essa  necessaria per fare il passo
  dall'amministratore DNS a tempo perso a quello a tempo pieno. Su carta
  stampata il libro  DNS and BIND di C. Liu and P. Albitz edito dalla
  O'Reilly & Associates,Sebastopol, CA, ISBN 0-937175-82-X.  Io l'ho
  letto,  eccellente, anche se basato su bind 4, ma questo non  un
  grosso problema. C' anche una sezione sul DNS sul libro TCP/IP
  Network Administration, di Craig Hunt edito dalla O'Reilly..., ISBN
  0-937175-82-X. Un altro "must" per la Buona amministrazione DNS (e
  buono per qualsiasi altra cosa)  Zen and the Art of Motorcycle
  Maintenance (Lo Zen e l'Arte della Manutenzione della Motocicletta) di
  Robert M. Pirsig :-) Disponibile come ISBN 0688052304 e altri.



  Online troverte della roba presso  <http://www.dns.net/dnsrd/> (DNS
  Resources Directory),  <http://www.isc.org/bind.html>; Una FAQ, un
  manuale di riferimento (BOG; Bind Operations Guide) oltre che
  documenti, definizioni di protocolli e trucchi (hacks) sul DNS (di
  questi, la maggior parte, se non tutti, e alcune delle RFC elencate
  sotto, sono anche contenuti nella distribuzione di bind).  Io non ho
  letto tutto, e infatti non sono un amministratore DNS a tempo pieno.
  Arnt Gulbrandsen invece ha letto la BOG ed  rimasto meravigliato da
  essa :-). Il newsgroup comp.protocols.tcp-ip.domains  relativo al
  DNS. Inoltre come aggiunta a tutto questo ci sono numerose RFC sul
  DNS, le pi importanti sono probabilmente queste:



     RFC 2052
        A. Gulbrandsen, P. Vixie, A DNS RR for specifying the location
        of services (DNS SRV), October 1996


     RFC 1918
        Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear,
        Address Allocation for Private Internets, 02/29/1996.


     RFC 1912
        D. Barr, Common DNS Operational and Configuration Errors,
        02/28/1996.


     RFC 1912 Errors
        B. Barr Errors in RFC 1912, this is available at
        <http://www.cis.ohio-state.edu/~barr/rfc1912-errors.html>


     RFC 1713
        A. Romao, Tools for DNS debugging, 11/03/1994.


     RFC 1712
        C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, DNS Encoding of
        Geographical Location, 11/01/1994.


     RFC 1183
        R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, New DNS RR
        Definitions, 10/08/1990.


     RFC 1035
        P. Mockapetris, Domain names - implementation and specification,
        11/01/1987.


     RFC 1034
        P. Mockapetris, Domain names - concepts and facilities,
        11/01/1987.


     RFC 1033
        M. Lottor, Domain administrators operations guide, 11/01/1987.


     RFC 1032
        M. Stahl, Domain administrators guide, 11/01/1987.


     RFC 974
        C. Partridge, Mail routing and the domain system, 01/01/1986.