Wikisage is op 1 na de grootste internet-encyclopedie in het Nederlands. Iedereen kan de hier verzamelde kennis gratis gebruiken, zonder storende advertenties. De Koninklijke Bibliotheek van Nederland heeft Wikisage in 2018 aangemerkt als digitaal erfgoed.
- Wilt u meehelpen om Wikisage te laten groeien? Maak dan een account aan. U bent van harte welkom. Zie: Portaal:Gebruikers.
- Bent u blij met Wikisage, of wilt u juist meer? Dan stellen we een bescheiden donatie om de kosten te bestrijden zeer op prijs. Zie: Portaal:Donaties.
Vergelijking DNS-server-software
Er bestaan diverse DNS-server-softwareprogramma's. De originele DNS-server is BIND, die begin jaren 80 van de vorige eeuw ontwikkeld werd op de Universiteit van Californië, Berkeley. BIND is nog steeds de meest gebruikte DNS-server op internet.
Tegenwoordig wordt ook de DNS-serversoftware van Microsoft veel gebruikt, maar dan vooral binnen Microsoft Windows-domeinen, dus op local area networks binnen bedrijven.
Autoritatief en recursief
Alle onderstaande DNS-servers zijn onafhankelijke implementaties van de DNS-protocollen. Ze zijn allen in staat om host- en domeinnamen te vertalen in IP-nummers en daarnaast de andere DNS-taken uit te voeren, zoals bijvoorbeeld het vinden welke mailserver verantwoordelijk is voor de mail van een bepaald (sub)domein.
Er zijn twee hoofdtypes DNS-servers: de authoritative nameserver en recursieve of caching-DNS-server.
De authoratieve server is leidend voor een bepaald domein of zone: de database van deze server bevat de data van de bepaalde domeinen waarvoor deze server leidend is. Andere DNS-servers zullen deze server raadplegen als ze informatie over een bepaalde host of domein nodig hebben.
De recursieve of caching-DNS-server is niet verantwoordelijk voor bepaalde domeinen, maar wordt gebruikt om computers van eindgebruikers (of servers) de DNS-functionaliteit te bieden. Internet service providers die access bieden aan klanten gebruiken recursieve DNS-servers. Zoals gezegd: de recursieve DNS-server bevat zelf geen informatie, maar op het moment dat een eindgebruiker deze server heeft ingesteld als zijn DNS-server en een naam moet omgezet worden in een IP-adres dan zal de recursieve server zijn gegevens opvragen bij de authoratieve server van het opgegeven domein en de gevonden data doorgeven aan de eindgebruiker. De recursieve server slaat die informatie vervolgens op in zijn geheugen. Als enige tijd later iemand anders dezelfde informatie opvraagt dan zal de recursieve server zijn antwoord uit zijn eigen geheugen halen in plaats van deze informatie opnieuw op te vragen bij de autoritatieve server. (Dit afhankelijk van diverse factoren: hoe lang geleden was de informatie verkregen van de autoritatieve server, welke time to live was er ingesteld, et cetera. Elke DNS-server kan zowel autoritatief als recursief zijn en ook een mix is vaak toegepast.
De bekendste DNS-servers
BIND
hoofdartikel over BIND |
BIND is de de facto standaard DNS-server. Het is een gratis softwarepakket dat wordt meegeleverd met de meeste distributies van Linux en Unix. BIND draait als daemon op die servers en wordt meestal aangeduid met named (name daemon) Op het internet is het veruit de meest voorkomende DNS-server. Sinds het begin van de ontwikkeling van BIND heeft het drie grote wijzigingen doorgaan waarbij de architectuur geheel werd vernieuwd en/of er zeer grote wijzigingen in de functionaliteit waren. Deze drie versies zijn BIND4, BIND8 en BIND9. Versies 4 en 8 zijn nu beide achterhaald en versie 9 is de meest recente versie. Er wordt gewerkt aan BIND10. BIND9 was een complete nieuwe opbouw van de software en een van de belangrijkste nieuwe features was de standaard ondersteuning van DNSSEC: de beveiligde modus van het DNS-protocol.
Microsoft DNS
Microsoft DNS is de DNS-server die meegeleverd wordt met Windows Server. Binnen bedrijfsnetwerken is deze DNS-server dan ook zeer vaak voorkomend. Microsoft DNS kan je op een aantal manieren configureren: als standaard DNS-server, bijvoorbeeld in plaats van BIND, als secundaire server (waarbij hij de zone-informatie kopieert van de primaire server), als (enkel) recursieve server, maar in de meeste gevallen zal de DNS-server geconfigureerd worden als Active Directory intergrated: de informatie van het (Windows)domein waarvoor deze server autoritatief is komt dan uit de Active Directory. Het Windows-besturingssysteem gebruikt de AD-intergrated DNS-server om alle verschillende functionaliteiten van het besturingssysteem te kunnen vinden. In de meeste gevallen zal de DNS-server zo worden geconfigureerd worden dat hij autoritatief is voor het lokale Windows-domein en dat de pc's en servers in het lokale netwerk dezelfde server als recursieve server gebruiken voor de DNS-functionaliteit naar het internet toe (en eventueel naar andere Windows-domeinen).
Dnsmasq
Dnsmasq is een eenvoudige en makkelijk te configureren DNS-server, in combinatie met een DHCP-server. Deze lichte implementatie van een DNS-server wordt regelmatig gebruikt in thuisrouters zoals breedband-routers.
djbdns
Djbdns is een verzameling DNS-applicaties, waaronder tinydns, dat in 2004 op de tweede plaats kwam van gratis DNS-servers (geordend naar gebruik).[1] Het is ontwikkeld door Daniel J. Bernstein, bekend als auteur van qmail. Hij ontwikkelde het pakket met een grote nadruk op security. In maart 2009 loofde Berstein $1000 uit voor de eerste persoon die een veiligheidslek in het pakket zou vinden.[2]
Simple DNS Plus
Simple DNS Plus is een commercieel DNS-serverproduct dat draait op het besturingssysteem Microsoft Windows. De belangrijkste eigenschap is de eenvoudige Grafische User Interface of GUI
NSD
NSD is een gratis autoritatieve DNS-server die is ontwikkeld door NLNet Labs. NSD wordt gebruikt als basis- of testomgeving voor DNSSEC. Nieuwe ontwikkelingen in het DNSSEC-protocol worden initieel getest en ontwikkeld op de NSD-source-code. NSD wordt gebruikt als autoritatieve DNS-server voor een aantal top level domeinen en een drietal root nameservers draaien onder NSD.[3]
PowerDNS
PowerDNS is een gratis DNS-server implementatie met speciale dataopslag- en load balancing-mogelijkheden. De twee functionaliteiten voor autoritatieve en recursieve server zijn als eigen/aparte applicaties uitgevoerd. Wikipedia gebruikt PowerDNS als haar DNS-server.
MaraDNS
MaraDNS is een gratis DNS-server die ontwikkeld is door Sam Trenholme. MaraDNS claimt dat ze een goede naam heeft op het gebied van veiligheid en zou eenvoudig in het gebruik zijn.[4][5]
Nominum ANS
ANS is een commerciële autoratieve DNS-server van het bedrijf Nominum, opgericht door Paul Mockapetris, de uitvinder van DNS. ANS is speciaal ontwikkeld om tegemoet te komen aan de wensen van tld's en hosting-bedrijven.
Nominum Vantio
Van hetzelfde bedrijf in Vantio de commerciële recursieve DNS-server. Het moet een snel en veilig alternatief zijn voor BIND, met name voor gebruikers als ISP's, grote bedrijven en overheids-instellingen.
Posadis
Posadis is een gratis DNS-server, geschreven in C++. Het ondersteunt o.a. Dynamische DNS.
Secure64 DNS
Secure64 is een commerciële DNS appliance, die draait op een zelf-ontwikkeld/eigen 64-bit operating systeem en gebruik maakt van de Intel Itaniumprocessor.
Unbound
Unbound is een recursieve DNS server ontwikkeld om onder grote belasting te draaien. Het is op de markt gebracht op 20 mei 2008 (versie 1.0.0) onder het BSD licentie model door NLnet Labs, Verisign Inc., Nominet en Kirei.
Cisco Network Registrar
CNR gebruikt een commerciële DNS server implementatie van Cisco Systems en wordt normaliter in combinatie met de CNR DHCP (Dynamic Host Configuration Protocol) server gebruikt. Het is ontwikkeld om een groot aantal dynamische updates te kunnen verwerken.
Mogelijkheden
De verschillende DNS-serverimplementaties ondersteunen meerdere faciliteiten of features. Een korte uitleg van de features die in onderstaande tabellen worden genoemd:
Explanation of features
- Autoritatief
- een veel gebruikte modus van DNS servers: zie hierboven
- Recursief
- de andere veel gebruikte modus: zie hierboven.
- Recursion Access Control
- Recursieve Toegangs Regeling. Servers met RAC bieden de mogelijkheid in te stellen welke hosts lookups mogen uitvoeren op de server. Dit kan belangrijk zijn bij load-balancing en om de werking van de server te beveiligen
- Slave Mode
- Autoritatieve servers die zelf de database bevatten met de daadwerkelijke informatie (de zone-bestanden of speciale databases (zoals Windows Active Directory) zijn de master-DNS. Daarnaast kunnen dan slave servers geconfigureerd worden die de complete zone-informatie rechtstreeks overhalen van de master-DNS.
- Caching
- (recursieve) DNS Servers die caching gebruiken slaan de gevonden informatie afkomstig van autoritatieve DNS servers op in een lokale database zodat dat hergebruikt kan worden als enige tijd later dezelfde informatie wordt opgevraagd. Het model van caching zorgt ervoor dat DNS servers veel sneller kunnen resolven en zorgen er tevens voor dat de load op de autoritatieve servers beperkt blijft (ze hoeven immers niet elke keer de data op te vragen bij de autoritatieve server. Als de caching server weet naar welk IP adres nl.wikipedia.org verwijst, hoeft hij dat niet opnieuw te vragen als een andere computer ook nl.wikipedia.org zoekt.
- DNSSEC
- Deze servers ondersteunen een variant van DNSSEC. DNSSEC is de beveiligde versie van DNS die diverse vormen van DNS misbruik moet voorkomen. Hoewel nog niet op heel grote schaal geïmplementeerd wordt DNSSEC steeds meer afgedwongen door bepaalde TLD's om het internet veiliger te maken.[bron?]
- TSIG
- Servers die TSIG ondersteunen ondersteunen in principe ook DNSSEC. Het TSIG protocol biedt de mogelijkheid om ook dynamische DNS updates op een veilige manier te publiceren.
- IPv6
- Vanwege het opraken van de IPv4 is IP versie 6 ontwikkeld die het aantal beschikbare unieke IP adressen enorm vergroot. Om IPv6 te implementeren op DNS servers zijn extra functionaliteiten nodig. Als in onderstaande tabellen is aangegeven dat de server IPv6 ondersteunt kunnen hosts die een IPv6 adres hebben geregistreerd worden in deze server-implementatie.
- Wildcard
- Wildcard of joker-functie. Via een wildcard DNS record kan de server data resolven die niet expliciet in de database staat. Zo zou je *.wikipedia.org kunnen instellen zodat bijvoorbeeld zzx.wikipedia.org resolved kan worden naar een bepaalde host terwijl zzx helemaal niet voorkomt in de zone-file van de Wikipedia.org zone.
- Split horizon
- Servers die split-horizon DNS ondersteunen kunnen verschillende antwoorden geven op basis van het IP adres van de host die de DNS lookup vraagt. Je kan bijvoorbeeld binnen bedrijfsomgevingen het antwoord op een bepaalde URL laten afhangen van het IP adres van de client: als het een IP adres is van het bedrijfsnetwerk kan de DNS server het interne IP adres teruggeven terwijl de server een publiek IP adres teruggeeft als het request niet afkomstig was van een LAN IP adres.
Feature matrix
Bronnen en voetnoten: [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21]
Server | Authoritative | Recursive | Recursion ACL | Slave mode | Caching | DNSSEC | TSIG | IPv6 | Wildcard | Interface | split horizon |
---|---|---|---|---|---|---|---|---|---|---|---|
BIND | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja (since 9.x) | Ja (since 4.x) | Web[6], command line | Ja |
Microsoft DNS | Ja | Ja | Nee | Ja | Ja | Ja[11] | Ja[12] | Ja[13] | Ja | GUI, command line, API[15], WMI[14], RPC[16] | Nee |
djbdns | Ja | Ja | Ja | Ja[7] | Ja | Nee | Nee | Nee [2] | deels[20] | command line | Ja[8] |
Dnsmasq | deels[9] | Nee | Nee | Nee | Ja | Ja (since 2.69)[21] | Nee | Ja | Ja | command line | Nee |
Simple DNS Plus | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | GUI, Web, command line | Ja[17] |
NSD | Ja | Nee | nvt | Ja | nvt | Ja | Ja | Ja | Ja | command line | Nee |
PowerDNS | Ja | Ja | Ja | Ja | Ja | Ja[19] | Ja | Ja | Ja | Web, command line | Nee[18] |
MaraDNS | Ja | Ja | Ja | deels[10] | Ja | Nee | Nee | deels | Ja | command line | Nee |
Nominum ANS | Ja | Nee | nvt | Ja | Nee | Ja | Ja | Ja | Ja | command line, api, SOAP Interface, SNMP | Ja |
Nominum Vantio | Nee | Ja | Ja | Nee | Ja | Ja | Ja | Ja | Ja | command line, api, SOAP Interface, SNMP | Ja |
Posadis | Ja | Ja | Ja | Ja | Nee | Nee | Ja | Ja | command line, API | ||
Secure64 DNS | Ja | Nee | Ja | Nee | Ja | Ja | Ja | Ja | command line | Nee | |
Unbound | deels | Ja | Ja | nvt | Ja | Ja | Ja | Ja | nvt | command line, API | Nee |
YADIFA | Ja | Nee | Ja | nvt | Ja | Ja | Ja | Ja | command line | ||
Knot | Ja | Nee | Ja | nvt | Ja | Ja | Ja | Ja | command line |
Platformen
Hieronder een overzicht op welke besturingssystemen de verschillende DNS-servers draaien cq. ondersteund worden. De betekenis van de opties zijn:
- Nee ondersteuning bestaat niet of was nimmer vrijgegeven.
- Partieel geeft aan dat het in de basis werkt maar dat belangrijke functionaliteiten ontbreken tov versie in anders OSsen. Het wordt echter nog wel verder ontwikkeld.
- Beta geeft aan dat er een volledig werkende versie is vrijgegeven maar dat het nog wel in ontwikkeling is. Het is niet vrijgegeven voor productie-omgevingen (bijvoorbeeld omdat versie nog niet stabiel is)
- Ja geeft aan dat het voor dit OS officieel is vrijgegeven voor productie.
- Inclusief geeft aan dat het opgenomen is in de distributie of dat het volledig geïntegreerd is in het besturingssysteem.
Deze lijst is niet volledig maar geeft een overzicht van de meest voorkomende platformen.[22] [23] [24]
Server | BSD | Solaris | Linux | Mac OS X | Windows |
---|---|---|---|---|---|
BIND | Ja | Ja | Ja | Ja | Ja[22] |
Microsoft DNS | Nee | Nee | Nee | Nee | Inclusief[23] |
djbdns | Ja | Ja | Ja | Ja | Nee |
Dnsmasq | Ja | Ja | Ja | Ja | Nee |
Simple DNS Plus | Nee | Nee | Nee | Nee | Ja |
NSD | Ja | Ja | Ja | Ja | Nee |
PowerDNS | Ja | Ja [3] | Ja | BETA | Nee |
MaraDNS | Ja | Ja [4] | Ja | Ja | partieel |
Nominum ANS | Ja | Ja | Ja | Nee | Nee |
Nominum Vantio | Ja | Ja | Ja | Nee | Nee |
Posadis | Ja | Ja | Ja | Ja | Ja [5] |
Secure64 DNS[24] | nvt | nvt | nvt | nvt | nvt |
Unbound | Ja | Ja | Ja | Ja | Ja |
Cisco Network Registrar | Nee | Ja | Ja | Nee | Ja |
Bronnen en referenties
- º Moore, Don. DNS server survey (2004) Geraadpleegd op 2005-01-06
- º The djbdns prize claimed Geraadpleegd op 2009-03-04
- º Overstap k.root-servers.net naar NSD op 19.2.2003
- º Mens, Jan-Piet, Alternative DNS Servers: Choice and Deployment, and Optional SQL/LDAP Back-Ends (Paperback). UIT Cambridge Ltd., 2008
- º MaraDNS niet gevoelig voor DNS cache vergiftiging
- ↑ 6,0 6,1 Een BIND configuratie module Webmin is in veel Linuxdistributies beschikbaar.
- ↑ 7,0 7,1 djbdns biedt faciliteiten voor zone-transfer. Na voltooiing van de zone-transfer kan djbdns optreden als autoratief voor die zone. Zie axfr-get documentatie voor verdere informatie
- ↑ 8,0 8,1 Dit is niet hetzelfde als views in BIND. Maar het is een oplossing met vergelijkbare mogelijkheden. Zie: deze sectie van de tinydns-data].
- ↑ 9,0 9,1 dnsmasq heeft beperkte ondersteuning voor autoratieve zones, meer bedoeld voor intern gebruik dan gebruik op het internet. Zo zijn A records ondersteund via /etc/hosts, en gedeeltelijke MX record ondersteuning via de command line.
- ↑ 10,0 10,1 MaraDNS kan niet rechtstreeks geconfigureerd worden als slave-server. Een zone transfer is vereist waarna MariaDNS als autoratieve server voor dat domein zal functioneren. Zie DNS Slave voor nadere informatie.
- ↑ 11,0 11,1 Windows Server 2008 R2 ondersteunt DNSSEC, echter dynamische DNS is niet ondersteund voor DNSSEC-ondertekende zones. Voor eerdere vesies, inclusief Windows 2003 server DNSSEC ondersteuning moet handmatig in de registry geconfigureerd worden.Zie DNSSEC manually activated in the registry. In deze versies is de DNSSEC ondersteuning voldoende om als slave server te dienen voor een DNSSEC getekende zones maar onvoldoende om zelf ondertekende zones te creëren.
- ↑ 12,0 12,1 Microsoft DNS ondersteunt het GSS-TSIG algoritme voor beveiligde dynamisch updates als de server AD-intergrated is volgens RFC 3645 en RFC 2743.
- ↑ 13,0 13,1 IPv6 functionaliteit in Microsoft DNS server is vanaf Windows Server 2003.
- ↑ 14,0 14,1 Microsoft DNS WMI Provider Specification
- ↑ 15,0 15,1 Microsoft DNS Server API Reference
- ↑ 16,0 16,1 MS-DNSP DNS Server Management Protocol Specification (uses RPCs)
- ↑ 17,0 17,1 Simple DNS Plus biedt geen "views" zoals gebruikt in BIND, maar heeft een "NAT IP Alias" faciliteit die het mogelijk maakt om naar verschillende IP adressen te resolven op basis van het IP adres van de verzoekende host
- ↑ 18,0 18,1 Binnen PowerDNS kan je de functionaliteit van views emuleren door meerdere instanties van PowerDNS naast elkaar op dezelfde server te draaien of door een eigen custom backend te schrijven afhankelijk van het IP adres van de client. zie hier voor het originele antwoord op dit onderwerp door de auteur van PowerDNS.
- ↑ 19,0 19,1 DNSSEC wordt volledig ondersteund in de autoritatieve server.
- ↑ 20,0 20,1 djbdns ondersteunt wildcard DNS records, maar niet op de methodes zoals beschreven in de RFC's
- ↑ 21,0 21,1 [1]
- ↑ 22,0 22,1 BIND is beschikbaar voor alle Windows NT-based systemen (inclusief Windows 2000, XP, en Server 2003 en later) bekend onder de naam ntbind.
- ↑ 23,0 23,1 Deze functionaliteit is beschikbaar in MS DNS server afhankelijk van het onderliggende operating systeem. Bepaalde functionaliteiten zoals DNSSEC, IPv6-support en TSIG draaien onder Windows 2000 en later.
- ↑ 24,0 24,1 Secure64 DNS draait enkel op SourceT, een mini OS speciaal ontwikkeld voor Secure64