Vergelijking van DNS-serversoftware
Dit artikel geeft een beknopte vergelijking van de functies, platformondersteuning en verpakking van veel onafhankelijke implementaties van Domain Name System (DNS) naamserversoftware.
Servers vergeleken
Elk van deze DNS-servers is een onafhankelijke implementatie van de DNS-protocollen en kan DNS-namen voor andere computers omzetten, de DNS-namen van computers publiceren of beide. Uitgesloten van overweging zijn single-feature DNS-tools (zoals proxy’s, filters en firewalls) en herverdelingen van servers die hier worden vermeld (veel producten herverpakken BIND, bijvoorbeeld met eigen gebruikersinterfaces).
DNS-servers zijn gegroepeerd in verschillende categorieën van specialisatie van het onderhoud van domeinnaamsysteemquery’s. De twee belangrijkste rollen, die uniek of gecombineerd in een bepaald product kunnen worden geïmplementeerd, zijn:
- Authoritative server: gezaghebbende naamservers publiceren DNS-toewijzingen voor domeinen die onder hun gezaghebbende controle staan. Normaal gesproken zou een bedrijf (bijvoorbeeld “Acme-voorbeeldwidgets”) zijn eigen autoriteitsservices leveren om te reageren op adresvragen of voor andere DNS-informatie voor www.example.int. Deze servers staan voor hun respectieve domeinen aan de top van de autoriteitsketen en kunnen een definitief antwoord geven. Gezaghebbende naamservers kunnen primaire naamservers zijn, ook wel masterservers genoemd, dat wil zeggen dat ze de originele set gegevens bevatten, of ze kunnen secundaire of slavenservers zijn, met gegevenskopieën die gewoonlijk worden verkregen door synchronisatie rechtstreeks met de masterserver, hetzij via een DNS-mechanisme of door andere synchronisatiemechanismen voor gegevensopslag.
- Recursieve server: recursieve servers (ook wel “DNS caches”, “alleen caching-nameservers” genoemd) bieden DNS-naamomzetting voor applicaties door de verzoeken van de clienttoepassing door te sturen naar de keten van gezaghebbende nameservers om een netwerknaam volledig op te lossen. Ze cachen het resultaat ook (meestal) om potentiële toekomstige vragen te beantwoorden binnen een bepaalde vervalperiode (time-to-live). De meeste internetgebruikers hebben toegang tot een recursieve server van hun internetprovider om internethosts zoals www.example.com te vinden.
BIG-IP DNS
Het F5 Networks-product biedt DNS als een gezaghebbende server, recursief en voegt extra beveiligingsmaatregelen toe. Het belangrijkste voordeel is om dezelfde applicatiebezorgingscontroller te gebruiken om DNS en applicatie-acceleratie te ondersteunen.
BIND
BIND is de de facto standaard DNS-server. Het is een gratis softwareproduct en wordt gedistribueerd met de meeste Unix- en Linux-platforms, waar het meestal ook naar wordt genoemd (name daemon). Het is de meest gebruikte DNS-server. [1] Historisch gezien onderging BIND drie grote revisies, elk met aanzienlijk verschillende architecturen: BIND4, BIND8 en BIND9. BIND4 en BIND8 zijn nu technisch achterhaald en komen in dit artikel niet aan de orde. BIND9 is een herschrijving van BIND met volledige DNSSEC-ondersteuning, naast andere functies en verbeteringen.
Internet Systems Consortium begon met de ontwikkeling van een nieuwe versie, BIND 10. De eerste release was in april 2010, maar de betrokkenheid van ISC eindigde met de release van BIND 10 versie 1.2 in april 2014. ISC haalde een gebrek aan middelen aan om de ontwikkeling van BIND 10 voort te zetten, en ze bevestigden hun inzet voor BIND9.
De BIND 10-codebase gaat verder als een open source-project op http://bundy-dns.de/ (ibid.) Het is op dit moment niet opgenomen in deze vergelijking.
Cisco Network Registrar
CNR bevat een commerciële DNS-server van Cisco Systems die gewoonlijk wordt gebruikt in combinatie met de CNR DHCP-server (Dynamic Host Configuration Protocol). Het ondersteunt een hoge mate van dynamische update.
Dnsmasq
Dnsmasq is een lichtgewicht, eenvoudig te configureren DNS-doorstuurserver, ontworpen om DNS (en optioneel DHCP en TFTP) -diensten te leveren aan een kleinschalig netwerk. Het kan de namen weergeven van lokale machines die niet in de globale DNS staan.
Dnsmasq accepteert DNS-zoekopdrachten en beantwoordt ze vanuit een kleine, lokale cache of stuurt ze door naar een echte, recursieve DNS-server. Het laadt de inhoud van / etc / hosts, zodat lokale hostnamen die niet in de globale DNS voorkomen, kunnen worden opgelost.
Djbdns
Djbdns is een verzameling DNS-toepassingen, waaronder tinydns, die in 2004 de tweede meest gebruikte DNS-server voor vrije software was. Het is ontworpen door Daniel J. Bernstein, auteur van qmail, met de nadruk op veiligheidsoverwegingen. In maart 2009 betaalde Bernstein $ 1000 aan de eerste persoon die een veiligheidslek in djbdns vond. [3] De broncode wordt niet centraal onderhouden en is in 2007 in het publieke domein vrijgegeven. Vanaf maart 2009 zijn er drie vorken en meer dan een dozijn patches om extra functies aan djbdns toe te voegen.
Knot DNS
Knot DNS is een gratis gezaghebbende DNS-server van CZ.NIC. Knot DNS streeft ernaar een snelle, veerkrachtige DNS-server te zijn die kan worden gebruikt voor infrastructuur (root en TLD) en DNS-hostingservices. Knot DNS ondersteunt DNSSEC-ondertekening en onder andere host-rootzone (K en L Root_name_servers), verschillende topleveldomeinen.
Knot resolver
Knot Resolver is een caching volledige DNS-resolver van CZ.NIC, geschreven in C en Lua en is beschikbaar als gratis software. Knot Resolver is een broer of zusproject van Knot DNS, elk is onafhankelijk en heeft een ander doel. Knot Resolver wordt gebruikt door Cloudflare voor 1.1.1.1, de gratis DNS-service.
MaraDNS
MaraDNS is een gratis software DNS-server van Sam Trenholme die een goede beveiligingsgeschiedenis en gebruiksgemak claimt. Om DNS-records te wijzigen, moet MaraDNS opnieuw worden opgestart. Net als djbdns dnscache gebruikt de MaraDNS 2.0 stand-alone recursieve resolver (“Deadwood”) geen threads.
Microsoft DNS
Windows DNS Server-onderdeel van Microsoft DNS. Dezelfde software kan worden geconfigureerd om de gezaghebbende, recursieve en hybride modus te ondersteunen. De software is geïntegreerd met Active Directory, waardoor het de standaard DNS-software is voor veel bedrijfsnetwerken die zijn gebaseerd op Active Directory. Het maakt het ook mogelijk om zones aan te maken via het standaard DNS-zonebestand. De software wordt geleverd als een rol in Windows Server. De serversoftware wordt geleverd met een opdrachtregelapplicatie dnscmd, een DNS-beheer-GUI-wizard en een DNS PowerShell-pakket. In Windows Server 2012 heeft Windows DNS ondersteuning voor DNSSEC toegevoegd, met volwaardige online ondertekening, met ondersteuning voor dynamische DNS en NSEC3, samen met RSASHA- en ECDSA-ondertekeningsalgoritmen. Het biedt een ingebouwde sleutelopslagprovider en ondersteuning voor elke externe CNG-compatibele sleutelopslagprovider. De gebruikersinterface en PowerShell-ondersteuning voor het beheer van DNS en DNSSEC zijn ook verbeterd. In Windows Server 2016 ondersteunt de DNS-server DNS-beleid waarmee de beheerders meer controle kunnen hebben over het proces van naamomzetting.
NSD
NSD is een gezaghebbende gratis software-server die wordt aangeboden door NLNet Labs. NSD is een testbed-server voor DNSSEC; nieuwe DNSSEC-protocolfuncties worden vaak geprototypeerd met behulp van de NSD-codebasis. NSD host verschillende domeinen op het hoogste niveau en beheert drie van de root-naamservers.
pdnsd
Pdnsd is een caching DNS-proxyserver die in de cache opgeslagen DNS-records op schijf opslaat voor langdurige bewaring. Pdnsd is ontworpen om zeer aanpasbaar te zijn in situaties waarin de netwerkconnectiviteit traag, onbetrouwbaar, niet beschikbaar of zeer dynamisch is, met beperkte mogelijkheden om als gezaghebbende naamserver te fungeren. Het is gelicentieerd onder de GPL.
Posadis
Posadis is een gratis software DNS-server, geschreven in C ++, met ondersteuning voor dynamische DNS-updates.
PowerDNS
PowerDNS is een gratis DNS-server voor software met een verscheidenheid aan back-ends voor gegevensopslag en load balancing-functies. Gezaghebbende en recursieve serverfuncties worden geïmplementeerd als afzonderlijke applicaties.
Secure64 DNS
DNS Authority is commerciële gezaghebbende naamserversoftware van Secure64, het bedrijf dat echt veilige DNS-applicaties en het besturingssysteem heeft gebouwd en de implementatie van DNSSEC volledig heeft geautomatiseerd.
DNS Cache is schaalbare, zeer veilige recursieve DNS-software van Secure64 die ingebouwde bescherming biedt tegen grootschalige denial of service-aanvallen, waaronder Pseudo Random Sub Domain (PRSD) -aanvallen.
Simple DNS Plus
Simple DNS Plus is een commercieel DNS-serverproduct dat onder Microsoft Windows draait, met de nadruk op een eenvoudig te gebruiken GUI. Het onderhoud van de software lijkt de afgelopen jaren te zijn afgenomen.
Unbound
Unbound is een validerende, recursieve en caching DNS-server die is ontworpen voor hoge prestaties. Het werd op 20 mei 2008 (versie 1.0.0) uitgebracht als gratis software onder licentie van de BSD-licentie van NLnet Labs. Het wordt als onderdeel van het basissysteem in FreeBSD geïnstalleerd vanaf versie 10.0 en in NetBSD met versie 8.0. Een versie is ook beschikbaar in OpenBSD versie 5.6 en verder. (Eerdere versies van FreeBSD werden geleverd met BIND.)
YADIFA
YADIFA is een BSD-gelicentieerde, geheugenefficiënte DNS-server geschreven in C. Het acroniem YADIFA staat voor Yet Another DNS Implementation For All. Het is gemaakt door EURid, dat het .eu-topleveldomein beheert.
Kenmerken
Sommige DNS-functies zijn alleen relevant voor recursieve servers of voor gezaghebbende servers. Als gevolg hiervan kan een kenmerkmatrix zoals die in dit artikel op zichzelf niet de effectiviteit of volwassenheid van een bepaalde implementatie vertegenwoordigen.
Een andere belangrijke kwalificatie is de serverarchitectuur. Sommige DNS-servers bieden ondersteuning voor beide serverrollen in één “monolithisch” programma. Anderen zijn onderverdeeld in kleinere programma’s, die elk een subsysteem van de server implementeren. Net als in het klassieke microkernel-debat over informatica, wordt het belang en het nut van dit onderscheid fel bediscussieerd. In de functiematrix in dit artikel wordt niet besproken of DNS-functies worden geleverd in een enkel programma of in meerdere programma’s, zolang deze functies worden geleverd met het basisserverpakket en niet met add-on-software van derden.
Uitleg van functies:
Authoritative: Een belangrijke categorie van DNS-serverfunctionaliteit, zie hierboven.
Recursive (Recursief): Een belangrijke categorie van DNS-serverfunctionaliteit, zie hierboven.
Recursion Access Control: Servers met deze functie bieden controle over welke hosts DNS recursieve zoekacties zijn toegestaan. Dit is handig voor taakverdeling en servicebescherming.
Slave-modus: Gezaghebbende servers kunnen inhoud publiceren die afkomstig is van primaire gegevensopslag (zoals zonebestanden of databases die zijn verbonden met bedrijfsadministratieprocessen) – dergelijke servers worden ook ‘master’-servers genoemd – of kunnen slaaf- of secundaire servers zijn, waarbij inhoud wordt opgehaald die is opgehaald van en gesynchroniseerd met dergelijke masterservers. Servers met een “slavemodus” -functie hebben een ingebouwde mogelijkheid om inhoud van andere servers op te halen en opnieuw te publiceren. Dit wordt meestal, maar niet altijd, geleverd met behulp van het AXFR DNS-protocol.
Caching: Servers met deze functie bieden recursieve services voor applicaties en cachen de resultaten zodat toekomstige verzoeken om dezelfde naam snel kunnen worden beantwoord, zonder een volledige DNS-lookup. Dit is een belangrijke prestatiefunctie, omdat het de latentie van DNS-verzoeken aanzienlijk vermindert.
DNSSEC: Servers met deze functie implementeren een variant van de DNSSEC-protocollen. Ze kunnen namen publiceren met bronrecordhandtekeningen (die een “beveiligde autoriteitsservice” bieden) en ze kunnen die handtekeningen valideren tijdens recursieve zoekacties (die een “veilige resolver” bieden). DNSSEC wordt steeds breder omdat de implementatie van een DNSSEC-basissleutel door ICANN is gedaan. De implementatie op individuele sites neemt toe naarmate domeinen op het hoogste niveau DNSSEC ook beginnen te implementeren. De aanwezigheid van DNSSEC-functies is een opmerkelijk kenmerk van een DNS-server.
TSIG: Servers met deze functie bieden doorgaans DNSSEC-services. Bovendien ondersteunen ze het TSIG-protocol, waarmee DNS-clients een veilige sessie met de server kunnen opzetten om dynamische DNS-records te publiceren of om veilige DNS-lookups aan te vragen zonder de kosten en complexiteit van volledige DNSSEC-ondersteuning.
IPv6: Servers met deze functie kunnen DNS-records publiceren of verwerken die verwijzen naar IPv6-adressen. Naast volledig IPv6-compatibel te zijn, moeten ze IPv6-transportprotocol implementeren voor query’s en zoneoverdrachten in slave / master-relaties en expeditiefuncties.
Wildcard: Servers met deze functie kunnen informatie publiceren voor jokertekenrecords, die gegevens bevatten over DNS-namen in DNS-zones die niet specifiek in de zone worden vermeld.
Split horizon: Servers met de DNS-functie met gesplitste horizon kunnen verschillende antwoorden geven, afhankelijk van het bron-IP-adres van de query.