Op m'n werk gebruiken we Linux als een DNS-server. Het voldoet uitstekend. Deze sectie richt zich op de configuratie van DNS-tabellen voor deze services door gebruik te maken van het package BIND 8.x dat standaard bij de Red Hat distributie wordt geleverd.
Noot: In Red Hat versie 5.1 en eerder wordt gebruik gemaakt van het package BIND 4.x, welke een iets ander formaat voor zijn configuratie bestand toepast. BIND 8.x biedt meer functionaliteit dan wat door BIND 4.x wordt geboden en aangezien 4.x niet langer verder wordt ontwikkeld, zou je moeten overwegen je BIND-package tot de laatste versie bij te werken. Installeer gewoon het BIND RPM-package (zie the section called Het gebruik van de Red Hat Package Manager (RPM) in Chapter 10 voor details over het gebruik van het RPM utility), en converteer je configuratiebestand dan naar het nieuwe formaat. Gelukkig is het eenvoudig je bestaande BIND 4.x configuratiebestand te converteren zodat het in overeenstemming is met BIND 8.x! In de documentatie directory waarin als onderdeel van BIND wordt voorzien (bijvoorbeeld ``/usr/doc/bind-8.1.2/'' voor BIND versie 8.1.2), komt een bestand voor genaamd ``named-bootconf.pl'', dit is een uitvoerbaar Perl-programma. In de veronderstelling dat je Perl op je systeem hebt geïnstalleerd, kun je dit programma gebruiken om je configuratiebestand te converteren. Typ hiervoor (als root) de volgende commando's:
Nu zou je een bestand ``/etc/named.conf'' moeten hebben dat “direct voor gebruik” met BIND 8.x zou moeten werken. Je bestaande DNS-tabellen zullen met de nieuwe versie van BIND werken zoals ze zijn, aangezien het formaat van de tabellen hetzelfde is gebleven. |
Het configureren van DNS-services onder Linux bestaat uit de volgende stappen:
Om DNS-services te activeren, zou het bestand ``/etc/host.conf'' er ongeveer zo uit moeten zien:
# Zoek namen eerst op via /etc/hosts, dan door een DNS query order hosts, bind # We hebben geen computers met meerdere adressen multi on # Controleer op IP-adres spoofing nospoof on # Waarschuw ons als iemand toegang tot de root van het systeem probeert te # krijgen alert on |
De extra spoof-detectie treft de performance iets van de DNS-lookups (alhoewel te verwaarlozen), dus als je je hier niet al te veel zorgen om maakt, kun je de regels met “nospool” en “alert” deactiveren.
Configureer naar wens het bestand ``/etc/hosts''. Kenmerkend dat hieraan niet veel hoeft te worden gedaan, maar voor een verbeterde performance kun je alle hosts toevoegen die je vaak benaderd (zoals lokale servers) om de uitvoering van DNS-lookups hierop te voorkomen.
Het bestand ``/etc/named.conf'' zou zodanig moeten zijn geconfigureerd dat het naar de DNS-tabellen overeenkomstig het voorbeeld hieronder verwijst.
(Noot: de hierboven gebruikte IP-adressen zijn slechts voorbeelden en moeten door je eigen class adressen worden vervangen!): |
options {};
/*
* Als er zich een firewall bevindt, tussen jou en de nameservers
* waarmee je wilt communiceren, dan kan het zijn dat je de
* commentaar-tekens voor de query-source richtlijn hieronder weg
* moet halen.
* Vorige versies van BIND stelden vragen altijd via poort 53,
* maar BIND 8.1 gebruikt standaard geen vastgestelde poort.
*/
// query-source address * port 53;
};
// Activeer caching en laad root server info
zone "named.root" {};
// Al onze DNS informatie wordt opgeslagen in /var/named/mijndomein_naam.db
// (bv. als mijndomein.naam = foobar.com gebruik dan foobar_com.db)
zone "mijndomein.naam" {};
};
// Reverse lookups voor 123.12.41.*, .42.*, .43.*, .44.* class C's
// (dit zijn slechts voorbeelden van Class C's -- gebruik ze niet!)
zone "12.123.IN-ADDR.ARPA" {};
};
// Reverse lookups voor 126.27.18.*, .19.*, .20.* class C's
// (dit zijn slechts voorbeelden van Class C's -- gebruik ze niet!)
zone "27.126.IN-ADDR.ARPA" {};
}; |
Tip: Let hierboven op de opties allow-transfer, waarmee DNS zone transfers tot een gegeven IP-adres worden begrenst. In ons voorbeeld staan we de host op 123.12.41.40 (waarschijnlijk een slave DNS-server in ons domein) toe zone transters te ondervragen. Als je deze optie achterwege laat, zal iedereen op het Internet de mogelijkheid hebben dergelijke transporten te ondervragen. Aangezien de hierboven geleverde informatie vaak door spammers en IP-spoofers wordt gebruikt, raad ik je ten zeerste aan zone transfers te begrenzen behalve naar je slave DNS-server(s), of in plaats daarvan gebruik te maken van het loopback adres, ``127.0.0.1''. |
Nu kun je je DNS-tabellen instellen in de ``var/named/'' directory zoals is geconfigureerd in het bestand ``/etc/named.conf'' in stap drie. Het voor de eerste keer configureren van DNS database bestanden is een grootse onderneming, en valt buiten het kader van dit boek. Er zijn verscheidene leidraads, online en in afgedrukte vorm die zouden moeten worden geraadpleegd. Hieronder worden echter verscheidene voorbeelden gegeven.
Voorbeeld-entries in het ``