In dit hoofdstuk gaan we behandelen hoe we bind nu configureren nadat we de software hebben geïnstalleerd, dit houdt in de zone bestanden maken en de diverse andere bestanden creëren.
Nu we de software hebben geïnstalleerd moeten we enkel nog de
bestanden aanmaken die de software configureren. Een daarvan is het bestand
named.boot
wat zich in de directory /etc hoort te
bevinden.
In dit bestand staan een aantal dingen, namelijk o.a waar de zone
bestanden zich bevinden en ook welk(e) domein(en) de DNS-server beheert.
We zullen aan de hand van een voorbeeld van een niet bestaande domein-
naam een named.boot
bestand in elkaar zetten.
De domein-naam die we hiervoor gaan gebruiken is linux.bogus, dus waar in
het voorbeeld linux.bogus staat genoemd kan je simpelweg je eigen
domeinnaam invullen.
Allereerst zullen we moeten inloggen als root of ervoor zorgen dat we root
zijn, de bestanden moeten namelijk in directory's gemaakt worden waar
meestal alleen root schrijfrechten heeft. Daarna gaan we naar de directory
/etc waar we het bestand gaan creëren, dit doen we met de
editor vi
. (Voor wie geen ervaring heeft met vi
staat er
achterin dit document een quick reference guide afgedrukt)
We geven nu de volgende opdracht :
pinky:/etc# vi named.boot
We zullen waarschijnlijk nu een leeg bestand voor ons hebben (herkenbaar aan een scherm met alleen maar tildes). We kunnen hier nu de configuratie voor de DNS-server in aanmaken, commentaar geven we aan door een punt-comma (;) te typen voor een regel. We beginnen om een directory statement toe te voegen, hetgeen wat we hierbij specificeren is de directory waar de rest van de configuratiebestanden staat. Als we dit niet doen zal er naar alle bestanden worden gezocht in de /etc directory. In deze handleiding zetten we alles in de directory /var/named. Als deze directory nog niet bestaat moet je hem even aanmaken, we gebruiken ook nog een aantal subdirectory's van deze directory. Als je een andere directory wil gebruiken kan dat natuurlijk ook, je moet dan gewoon de directory die je zelf kiest gebruiken op de plaats waar wordt gerefereerd aan de directory /var/named.
We zetten dus het volgende in de named.boot
:
; ; Named.boot bestand voor de DNS-server ;Directory waar we de andere bestanden willen zetten directory /var/named
We hebben nu de directory gespecificeerd waar we dus de andere bestanden
gaan neerzetten.
We maken van de DNS-server ook een zogenaamde "caching DNS-server".
Dit houdt in dat je de server ook kunt gebruiken voor het opzoeken van
internet domein-namen. Als je dat niet wilt moet je dit stuk even overslaan.
Om de aanvragen te kunnen "cachen" moet de server natuurlijk
wel weten waar hij de antwoorden op de aanvragen kan opzoeken. We specificeren
de servers waar hij kan zoeken in het bestand root.cache
. Hierin
noemen we de zogenaamde "root" servers.
We nemen hiervoor de volgende regel op in named.boot
:
;Opzoeken van de aanvragen cache . root.cache
Let op ! De stukken wit-ruimte die je ziet zijn in dit geval tabs en geen spaties.
Nu we ook dit hebben toegevoegd komt eigenlijk alleen nog het
allerbelangrijkste, het instellen van de domeinen die de DNS-server beheert.
We geven dit aan met zogenaamde "primary" regels, dit houdt in
dat de DNS-server deze namen als primair heeft en dus ook de "baas"
ervan is. Hiernaast heb je ook nog "secondary" regels, deze zijn
voor domeinen die de server mede-beheert, hij is dus samen met een andere
DNS-server verantwoordelijk voor het domein.
Onze server wordt verantwoordelijk voor het verzonnen domein linux.bogus.
We voegen daarom de volgende regel toe aan onze named.boot
:
;Type domein host-bestand ;Primair domein dat de server beheerd primary linux.bogus pz/linux.bogus
Ook hier zijn de ruimtes tussen de keywords tabs in plaats van spaties, je moet hier goed op letten, bind is niet zo dol op spaties. We moeten nog één regel toevoegen, namelijk de reverse lookup regel voor onze eigen machine. Deze reverse lookup is een geval apart. Het bestand wat we hier aan gaan hangen dient namelijk om de namen van de machines in op te zoeken als alleen het ip-adres bekent is. In dit geval bevat het bestand waar we de regel naar laten wijzen alleen een pointer naar de localhost, de machine waar de DNS-server op draait en waar dus de namen opgezocht kunnen worden. De regel de we moeten toevoegen ziet er wat anders uit als de andere regels, dit omdat we een reverse lookup aangeven, hierdoor staat het ip-adres omgekeerd geschreven. Dus voor een ip-adres als 192.168.0.1 zou het geschreven worden als 1.0.168.192. We voegen de volgende regel dus toe :
;Primair domein voor reverse lookup primary 0.0.127.IN-ADDR.ARPA pz/127.0.0
Nu we ook deze regel hebben toegevoegd zijn we klaar met het maken van
het named.boot
bestand. We moeten nu nog de zone bestanden maken en
een bestand maken waarin wordt verwezen naar de "root-servers"
waar onze servers de adressen op kan zoeken die hij niet weet. Als laatste
staat hier nog even een afdruk van het named.boot
bestand zoals
je het nu op je scherm hebt staan.
; ; Named.boot bestand voor de DNS-server ;Directory waar we de andere bestanden willen zetten directory /var/named ;Opzoeken van de aanvragen cache . root.cache ;Type domein host-bestand ;Primair domein dat de server beheerd primary linux.bogus pz/linux.bogus ;Primair domein voor reverse lookup primary 0.0.127.IN-ADDR.ARPA pz/127.0.0
Nu we dit bestand af hebben gaan we verder met de andere bestanden, te beginnen bij het bestand waar in staat gespecificeerd waar de "root-servers" zich bevinden.
In dit bestand staan de verschillende "root-servers" vermeld,
dit zijn de servers die elk een apart "root" domein beheren.
De zogenaamde root domeinen zijn de stukjes in de domein-naam die helemaal
rechts staan, dus oa : .com
, .edu
, .nl
, enz.
Dit bestand is niet moeilijk aan te maken, we kunnen dit namelijk automatisch
laten doen met behulp van het commando dig. Voorwaarde hiervoor is wel dat
je een internet verbinding hebt waarmee je door dig de gewenste gegevens
kunt laten opzoeken. Heb je geen internet verbinding dan kun je gewoon de
schermafdruk van het bestand overnemen. Je hebt trouwens niet echt heel
veel aan een caching DNS-server als je niet de internet verbinding via dat
ding hebt lopen. Voor een klein netwerk heb je meestal toch maar een DNS-
server en als je niet bent verbonden met andere netwerken is dit niet echt
nodig.
Maar hoe laten we dig
nu dat bestand maken ? Heel simpel : we gaan
in de directory /var/named staan en typen het volgende commando :
pinky:/var/named# dig . @rs.internic.net >root.cache
Dat is alles, we hebben nu een perfecte root.cache
gemaakt. Als
we het bestand openen zien we iets in de trend van :
; <<>> DiG 2.2 <<>> . @rs.internic.net ; (1 server found) ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10 ;; flags: qr rd; Ques: 1, Ans: 0, Auth: 13, Addit: 13 ;; QUESTIONS: ;; ., type = A, class = IN ;; AUTHORITY RECORDS: . 463656 NS F.ROOT-ServerS.NET. . 463656 NS I.ROOT-ServerS.NET. . 463656 NS E.ROOT-ServerS.NET. . 463656 NS D.ROOT-ServerS.NET. . 463656 NS C.ROOT-ServerS.NET. . 463656 NS B.ROOT-ServerS.NET. . 463656 NS H.ROOT-ServerS.NET. . 463656 NS A.ROOT-ServerS.NET. . 463656 NS M.ROOT-ServerS.NET. . 463656 NS L.ROOT-ServerS.NET. . 463656 NS K.ROOT-ServerS.NET. . 463656 NS J.ROOT-ServerS.NET. . 463656 NS G.ROOT-ServerS.NET. ;; ADDITIONAL RECORDS: F.ROOT-ServerS.NET. 3600000 A 192.5.5.241 I.ROOT-ServerS.NET. 3600000 A 192.36.148.17 E.ROOT-ServerS.NET. 3600000 A 192.203.230.10 D.ROOT-ServerS.NET. 3600000 A 128.8.10.90 C.ROOT-ServerS.NET. 3600000 A 192.33.4.12 B.ROOT-ServerS.NET. 3600000 A 128.9.0.107 H.ROOT-ServerS.NET. 3600000 A 128.63.2.53 A.ROOT-ServerS.NET. 3600000 A 198.41.0.4 M.ROOT-ServerS.NET. 3600000 A 202.12.27.33 L.ROOT-ServerS.NET. 3600000 A 198.32.64.12 K.ROOT-ServerS.NET. 3600000 A 193.0.14.129 J.ROOT-ServerS.NET. 3600000 A 198.41.0.10 G.ROOT-ServerS.NET. 3600000 A 192.112.36.4 ;; Total query time: 16016 msec ;; FROM: pinky to Server: rs.internic.net 198.41.0.6 ;; WHEN: Sun Feb 28 13:43:33 1999 ;; MSG SIZE sent: 17 rcvd: 436
Zoals je ziet heeft dig
nogal wat output gegenereerd, als je het
root.cache
bestand met de hand moet maken is alleen de
informatie zonder punt-komma's relevant.
We gaan nu verder met het maken van het bestand voor reverse lookup, dit
bestand is nodig, anders kan de DNS-server straks niet gevonden worden.