Verder Terug Inhoud

5. Het configureren van bind

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.

5.1 Het aanmaken van named.boot

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 directories 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 subdirectories 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.


5.2 Het bestand root.cache

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.


Verder Terug Inhoud