In deze howto gaan we een nameserver opzetten‚ zodat alle clients in je netwerk
gebruik kunnen maken van deze snele nameserver.
Als namserver wordt gebruik gemaakt van djbdns van DJ Bernstein (o.a. maker qmail)
Deze dns server heeft tot op heden dag nog geen één security lek gehad dit in tegenstelling tot BIND die er veel heeft gehad (en waarschijnlijk nog wel heeft)
In deze howto ga ik niet behandelen hoe je deze dns server kunt gebruiken als namserver voor je eigen domein‚ dit komt binnenkort in een andere howto.
Aaname’s vooraf:
Je hebt een lokaal netwerk (ik zal 192.168.1.0 gebruiken)
Je update regelmatig je ports.
Deze howto is op FreeBSD gebasseerd maar is ook goed toepasbaar op andere *BSD’s‚ echter het installatie gedeelte is dan wat anders de configuratie blijft hetzelfde.
[b]DNS & Deamontools compileren en installeren[/b]
We beginnen met het installeren van de deamontools‚ ucspi en djbdns uit de ports.
Wil je precies weten wat de eerste twee precies doen‚ dan is een zoek opdracht met google al wel voldoende.
[shell]cd /usr/ports/sysutils/ucspi-tcp/ && make install clean
cd /usr/ports/sysutils/daemontools/ && make install clean
cd /usr/ports/net/djbdns && make install clean[/shell]
[b]Deamontools configureren[/b]
De deamontools gaan we gebruiken zodat de dns server ten alle tijde blijft draaien (indien je al deamontools had geinstalleerd dan moet je even kijken wat je hiervan al had)
[shell]mkdir /service
fetch -o /usr/local/etc/rc.d/services.sh http://www.bsdfreaks.nl/files/dns/services.txt
chmod 755 /usr/local/etc/rc.d/services.sh
ln -s /usr/local/etc/rc.d/services.sh /usr/local/sbin/services
services start[/shell]
Als het goed is hebben we nu het process svscan draaien. Controleer dit even door
[shell]ps auxw|grep svscan[/shell] uit te voeren. Svscan kijkt of er services staan in de /service dir en start deze dan op.
[b] Dns server configureren[/b]
Nu we deamontools hebben draaien kunnen we beginnen met het configureren van de caching dns server.
In dit voorbeeld gaan we ervan uit dat dns server ip: 192.168.1.1 heeft‚ als root voeren we volgende commando’s uit:
[shell]dnscache-conf bind bin /usr/local/dnscache 192.168.1.1
ln -s /usr/local/dnscache /service/dnscache[/shell]
We hebben nu dnscache draaien‚ om het hele netwerk hiervan gebruik te laten maken voeren we het volgende commando uit:
[shell]touch /usr/local/dnscache/root/ip/192.168.1[/shell]
Dit doen we omdat standaard dnscache alleen requests op de loopback interface accepteert.
Als laatste moeten we nog de resolv.conf aanpassen zodat deze pc de dnscache gaat gebruiken.
[shell]echo “nameserver 192.168.1.1” > /etc/resolv.conf[/shell]
Probeer nu een aantal site’s te resolven om de dns server uit te testen.
[b]Tweak de server voor heavy use[/b]
Indien er een heel groot netwerk gebruik moet maken van de dns server kun je de dns server nog optimaliseren voor veel requests.
Dit doe je door de volgende files aan te passen:
[shell]cd /usr/local/dnscache
ee env/CACHESIZE[/shell]
Vul hier de grootte van de cache in bv 524288000 (512 MB ram)
[shell]ee env/DATALIMIT[/shell]
Vul hier het data limiet in bv 528288000.
[b]handige links[/b]
Hier nog wat handige links‚ mocht echt vragen hebben dan kun je ook terug op het forum.
[url=http://www.lifewithdjbdns.org]Life with DJB DNS[/url]
[url=http://www.djbdns.org/]djbdns home page[/url]
[url=http://cr.yp.to/djbdns.html]DJB dns page van de schrijver[/url]
DJBDNS heerst. Echter deze package zit niet in OpenBSD. Moet je dus even apart downloaden. Boeit weinig, hij compiled en je kunt nog steeds gewoon patchen. LifewithDJBDNS kende ik nog niet. Thank you 🙂
Gebruikte zelf deze tut’s ooit:
http://online.securityfocus.com/infocus/1438
http://online.securityfocus.com/infocus/1439
Werkte lekker 🙂
http://www.thismetalsky.org/magic/projects/dhcp_dns.html
voor als je dynamische IP’s met statische DNS wilt (nee duh werkt niet met je @Home je moet wel DNS access hebben 😉
http://www.bug.it/experimental
plop DJBDNS port 🙂 (en qmail e.a. benodigdheden for that matter)
Nice howto, Inferno!
Misschien ga ik djbdns dan toch maar eens proberen 😛
Voor de NetBSD gebruikers: djbdns zit ook gewoon in de pkgsrc.
# cd /usr/pkgsrc/net/djbdns && make install clean 🙂
Btw: ik heb 127.0.0.1 in m’n resolv.conf staan.. dat zal wel niet veel uitmaken toch? 😛
faaaaaaaak maaaam