Programvara för DNS-hantering
DNS-hanteringsprogramvara är datorprogramvara som styr DNS-serverkluster ( Domain Name System) . DNS-data distribueras vanligtvis på flera fysiska servrar. De huvudsakliga syftena med programvara för DNS-hantering är:
- för att minska mänskliga fel vid redigering av komplexa och repetitiva DNS-data
- för att minska ansträngningen som krävs för att redigera DNS-data
- för att validera DNS-data innan de publiceras till DNS-servrarna
- för att automatisera distributionen av DNS-data
Bakgrund
1995 fanns det bara 70 000 domäner. Sättet att registrera dem var via e-post och sättet att publicera dem var BIND . I mitten av 1997 var domänantalet 1,3 miljoner. När antalet domäner och internetvärdar skjutit i höjden , ökade också mängden DNS-data och tiden som krävs för att hantera den. Sysadmins svarade genom att skriva Perl- eller Shell -skript som hjälpte till att automatisera DNS-ändringar. Dessa skript var mestadels interna verktyg. Det som var närmast allmänt tillgänglig DNS-hanteringsprogramvara var BIND-modulen i webmin , som gav webbverktyg för att redigera BIND-zonfiler.
Under slutet av 1990-talet var den stora mängden DNS-data överväldigande de tillgängliga verktygen för att hantera den. Kostnaden för att hantera data ledde till födelsen av DNS-hanteringsprogramvara. Kostnaderna kan bäst förklaras genom illustration. 1998 var tre av de största webbhotellföretagen (HostPro, Interland och Vservers) värd för cirka 100 000 DNS-zoner. DNS-ändringar gjordes genom att telnetta till en BIND-master och redigera zonfiler med en textredigerare. En personal med flera DNS-administratörer utförde denna uppgift hela dagen, varje dag. Deras ändringar skulle bara träda i kraft efter en BIND-omladdning. Eftersom diskarna var långsamma tog det flera timmar för BIND att ladda om helt. Om en DNS-administratör gjorde ett stavfel i en zonfil, skulle BIND misslyckas med att analysera den filen och dö. Ofta efter timmars bearbetning. Den som märkte att BIND inte kördes måste läsa loggarna, hitta zonfilen med felet, granska filen manuellt, åtgärda felet och sedan försöka starta BIND säkerhetskopiera. Väl uppe kan ändringarna spridas till DNS-slavarna via zonöverföringar. Förändringar tog ofta mer än 24 timmar att spridas till fullo.
DNS och databaser
Medan de kämpade med utmaningarna med att redigera zonfiler, märkte fler än ett fåtal systemadministratörer att SQL är en fantastisk plats att lagra DNS-data. Genom att flytta den enda sanningskällan från textfiler till SQL kunde DNS-data valideras och begränsas innan de accepteras i databasen. Exportskript kan konvertera SQL till zonfiler. Rsync skulle kunna ersätta named-xfer för distribution, vilket ökar säkerheten och minskar spridningstiden. Bland stora värdleverantörer blev det modernt att lagra DNS-data i SQL och bygga ett anpassat gränssnitt för att hantera det. mysqlBind är en sådan DNS-hanterare. Den tillhandahåller ett webbgränssnitt för datainmatning och exporterar data till BIND-zonfiler.
År 2000 släppte Daniel J Bernstein Djbdns . En av de nya funktionerna var att tinydns, den medföljande auktoritativa DNS-servern, serverade DNS direkt från en CDB-databas . cdb:n måste kompileras från en vanlig textfil vars format var designat för att redigeras av skript. Tinydns blev snabbt den näst mest populära DNS-servern och ett antal DNS-hanterare släpptes för den, inklusive: VegaDNS , SuaveDNS och NicTool .
2005 släpptes PowerDNS . En av dess funktioner var möjligheten att servera DNS-data direkt från SQL-databasen, och helt kringgå exportsteget. PowerDNS skapade också ett antal DNS-hanterare som tillhandahåller webbgränssnitt till dess SQL-datalager.
DDNS
Med RFC2136 DDNS- uppdateringsprotokollet är det möjligt att ändra DNS-zoner utan att komma åt zonfilerna. Hanteringsverktyg som är kända för att fungera på det sättet är Admin4 och NicTool via dess nsupdate-exportmekanism.
Tjänsteleverantörer
DNS-tjänsteleverantörer distribuerar ofta olika typer av DNS-servrar i sina nätverk. Dessutom kan olika svar ges till DNS-klienter baserat på klienternas geografiska plats, beroende på deras IP-adress ( GeoIP ). Det mest praktiska sättet att hantera en sådan kritisk internetinfrastruktur har varit att förlita sig på databaser och komplex DNS-hanteringsprogramvara för att säkerställa homogenitet och undvika enstaka installationsfel.
Jämförelse av programvara för DNS-hantering
Funktion | NicTool | VegaDNS | mysqlBind | Webmin | Admin4 | Microsoft DNS | SuaveDNS | Xname | dnsadmin | fmDNS | Micetro |
---|---|---|---|---|---|---|---|---|---|---|---|
Språk | Perl & JS | PHP | C | Perl | Pytonorm | C | PHP och Perl | PHP och Perl | C | PHP och JS | C++ |
Databas | MySQL | MySQL | MySQL | platta filer | - |
platta filer eller Active Directory |
MySQL | MySQL | MySQL | MySQL | SQLite, MS SQL, PostgreSQL |
Delegerade behörigheter | Ja | 3 grupper | Ja | Nej | Nej | Nej | Nej | Nej | Nej | Ja | Ja |
Öppen källa | Ja | Ja | Ja | Ja | Ja | Nej | Nej | Nej | Nej | Ja | Nej |
Senaste släppningen | 2017 | 2016 | 2016 | 2017 | 2016 | 2012 | 2003 | 2005 | 2003 | 2021 | 2021 |
Support för DNS-server
namn | NicTool | Infoblox | VegaDNS | mysqlBind | Webmin | Admin4 |
Microsoft DNS Manager |
fmDNS | Micetro |
---|---|---|---|---|---|---|---|---|---|
BINDA | Ja | Nej | Nej | Ja | Ja | Ja | Nej | Ja | Ja |
tinydns | Ja | Nej | Ja | Nej | Nej | Nej | Nej | Nej | Nej |
PowerDNS | Ja | Nej | Nej | Nej | Nej | ? | Nej | Nej | Ja |
MaraDNS | Ja | Nej | Nej | Nej | Nej | ? | Nej | Nej | Nej |
NSD | Ja | Nej | Nej | Nej | Nej | ? | Nej | Nej | Nej |
Microsoft DNS-server |
Nej | Ja | Nej | Nej | Nej | Nej | Ja | Nej | Ja |
Infoblox | Nej | Ja | Nej | Nej | Nej | Nej | Nej | Nej | Ja |
BIND zone filformat
Filformatet BIND zone är en allmänt använd industristandard dokumenterad i RFC 1035. Flera andra DNS-servrar, inklusive PowerDNS, NSD , Knot DNS , Microsoft DNS Server och Micetro by MEn&Mice har förmågan att läsa BIND zone-filer och servera från dem.
Resursposttyper som stöds
namn | NicTool | VegaDNS | mysqlBind | Webmin | Admin4 | Microsoft DNS Manager | ProBIND | fmDNS | Micetro |
---|---|---|---|---|---|---|---|---|---|
A,NS,SOA,PTR | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
MX,TXT,CNAME | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
NYCKEL | Nej | Nej | Nej | Ja | Ja | Ja | Nej | Ja | Ja |
AAAA | Ja | Ja | Ja | Ja | Ja | Ja | Nej | Ja | Ja |
LOC | Ja | Nej | Nej | Ja | Ja | Nej | Nej | Nej | Ja |
SRV | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
NAPTR | Ja | Nej | Ja | Nej | Ja | Ja | Nej | Ja | Ja |
SSHFP | Ja | Nej | Nej | Nej | Ja | Nej | Nej | Ja | Ja |
RRSIG | Ja | Nej | Nej | Nej | Ja | Ja | Nej | Nej | Ja |
NSEC | Ja | Nej | Nej | Nej | Ja | Ja | Nej | Nej | Ja |
DNSKEY | Ja | Nej | Nej | Nej | Ja | Ja | Nej | Ja | Ja |
DS | Ja | Nej | Nej | Nej | Ja | Ja | Nej | Ja | Ja |
NSEC3 | Ja | Nej | Nej | Nej | Ja | Ja | Nej | Nej | Ja |
NSEC3PARAM | Ja | Nej | Nej | Nej | Ja | Ja | Nej | Nej | Ja |
IPSECKEY | Ja | Nej | Nej | ? | Ja | ? | ? | Nej | Ja |
DNAME | Ja | Nej | Nej | ? | Ja | Ja | ? | Ja | Ja |
SPF | Ja | Nej | Nej | Ja | Ja | Nej | Nej | Ja | Ja |
- Microsoft DNS Manager stöder DNSSEC från Windows Server 2012 och framåt. Vissa av DNSSEC-posterna kan inte läggas till direkt utan genereras under zonsignering och hanteras som sådana.
DNS-mjukvaruhomogenitet
De främsta skälen för DNS-leverantörer (särskilt rotoperatörer) att använda olika DNS-servrar är koddiversitet och applikationsprestanda. Koddiversitet gör det mindre sannolikt att en prestanda- eller säkerhetsbugg i en DNS-server kan utnyttjas för att utsätta en organisation för en Denial of Service-attack. Det är av denna anledning som NSD och Knot DNS ofta används av root- och TLD-operatörer. DNS-hanteringsprogramvara kan avsevärt förenkla publicering av DNS-data till olika DNS-servrar. [ citat behövs ]
Se även
- Jämförelse av DNS-serverprogramvara
- IP-adresshantering (IP-, DNS- och DHCP-hanteringssystem)
- DNSbox - DNS-hanteringsprogramvara från ApplianSys .
- Nominum - DNS-mjukvaruföretag grundat av Paul Mockapetris
- Secure64 - DNS-hanteringsprogramvara.
- Ganymede - GPL-licensierad programvara för nätverkskataloghantering som kan hantera DNS/DHCP.
- unxsVZ::unxsBind (var mysqlBind) - GPL-licensierad DNS-hanteringsprogramvara del av unxsVZ privata molnprogramsvit.