Dynamic DNS

Dynamische DNS (DDNS) is een methode voor het automatisch bijwerken van een naamserver in de Domain Name Server (DNS), vaak in realtime, met de actieve DDNS-configuratie van de geconfigureerde hostnamen, adressen of andere informatie.

De term wordt gebruikt om twee verschillende concepten te beschrijven. De eerste is “dynamische DNS-update” die verwijst naar systemen die worden gebruikt om traditionele DNS-records bij te werken zonder handmatige bewerking. Deze mechanismen worden uitgelegd in RFC 2136 en gebruiken het TSIG-mechanisme om beveiliging te bieden. Het tweede soort dynamische DNS maakt lichtgewicht en onmiddellijke updates mogelijk, vaak met behulp van een updateclient, die de RFC2136-standaard niet gebruikt voor het bijwerken van DNS-records. Deze clients bieden een permanente adresseringsmethode voor apparaten die hun locatie, configuratie of IP-adres regelmatig wijzigen.

Achtergrond

In de beginfase van het internet (ARPANET) werd de adressering van hosts op het netwerk bereikt door statische vertaaltabellen die hostnamen toonden aan IP-adressen. De tabellen werden handmatig bijgehouden in de vorm van het hostbestand. Het Domain Name System bracht een methode voor het automatisch online verspreiden van dezelfde adresinformatie via recursieve query’s naar externe databases die voor elk netwerk of domein waren geconfigureerd. Zelfs deze DNS-faciliteit gebruikte nog steeds statische opzoektabellen op elk deelnemend knooppunt. IP-adressen, eenmaal toegewezen aan een bepaalde host, veranderden zelden en het mechanisme was aanvankelijk voldoende. De snelle groei van het internet en de verspreiding van personal computers op de werkvloer en in woningen veroorzaakten echter een grote last voor beheerders om de toegewezen IP-adressen bij te houden en hun adresruimte te beheren. Dankzij het Dynamic Host Configuration Protocol (DHCP) konden bedrijven en internetproviders (ISP’s) adressen automatisch aan computers toewijzen wanneer ze opstartten. Bovendien hielp dit om de beschikbare adresruimte te besparen, aangezien niet alle apparaten te allen tijde actief kunnen worden gebruikt en adressen naar behoefte konden worden toegewezen. Deze functie vereiste dat DNS-servers ook automatisch up-to-date moesten worden gehouden. De eerste implementaties van dynamische DNS voldeden aan dit doel: Hostcomputers kregen de functie om hun respectievelijke DNS-server te informeren over het adres dat ze van een DHCP-server hadden ontvangen of door zelfconfiguratie. Deze protocolgebaseerde DNS-updatemethode werd gedocumenteerd en gestandaardiseerd in IETF-publicatie RFC 2136 in 1997 en is een standaardonderdeel geworden van het DNS-protocol (zie ook nsupdate-programma).

De explosieve groei en verspreiding van internet in woningen veroorzaakte een groeiend tekort aan beschikbare IP-adressen. DHCP werd ook een belangrijk hulpmiddel voor ISP’s om hun adresruimtes te beheren voor het verbinden van eindgebruikers thuis en kleine bedrijven met elk één IP-adres door netwerkadresvertaling (NAT) te implementeren op de router van de klant. Het privé-netwerk achter deze routers gebruikt voor deze doeleinden gereserveerde adresruimte (RFC 1918), vermomd door het NAT-apparaat. Dit brak echter het end-to-end-principe van internetarchitectuur en er waren methoden nodig om particuliere netwerken, met vaak wisselende externe IP-adressen, hun openbare adres te laten ontdekken en in het Domain Name System in te voegen om deel te nemen aan internet communicatie correct. Tegenwoordig bieden talrijke providers, dynamische DNS-serviceproviders genoemd, dergelijke technologie en diensten aan op internet.

Domeinnaamsysteem

DNS is gebaseerd op een gedistribueerde database die enige tijd nodig heeft om wereldwijd bij te werken. Bij de introductie van DNS was de database klein en gemakkelijk met de hand te onderhouden. Naarmate het systeem groeide, werd deze taak voor elke site moeilijk uit te voeren en werd een nieuwe beheerstructuur geïntroduceerd om de updates over veel domeinnaamregistreerders te verspreiden. Registrars bieden tegenwoordig eindgebruikers updates aan naar hun accountgegevens, meestal via een webgebaseerd formulier, en de registrar stuurt vervolgens update-informatie naar andere DNS-servers.

Vanwege het gedistribueerde karakter van de DNS-systemen en de registrars, kan het uren duren voordat updates van het wereldwijde DNS-systeem zijn verspreid. DNS is dus alleen geschikt voor services die hun IP-adres niet vaak wijzigen, zoals het geval is bij de meeste grote services zoals Wikipedia. Kleinere services zullen echter over het algemeen veel sneller van host naar host gaan in kortere tijd. Servers die op bepaalde typen internetproviders draaien, met name kabelmodems, zullen hun IP-adres waarschijnlijk in zeer korte tijd wijzigen, in de volgorde van dagen of uren.

DDNS

Dynamische DNS is een systeem dat het probleem van snelle updates aanpakt. De term wordt op twee manieren gebruikt, die, hoewel ze technisch vergelijkbaar zijn, zeer verschillende doelen en gebruikerspopulaties hebben. De eerste is “op standaarden gebaseerde DNS-updates”, die een uitbreiding van het DNS-protocol gebruiken om een ​​update te vragen; dit wordt vaak gebruikt voor bedrijfslaptops om hun adres te registreren. De tweede is meestal een webgebaseerd protocol, normaal gesproken een enkele HTTP-ophaalactie met gebruikersnaam en wachtwoord, die vervolgens enkele DNS-records bijwerkt (volgens een niet-gespecificeerde methode); dit wordt vaak gebruikt voor een computer thuis om zichzelf te registreren onder een algemeen bekende naam om door een grotere groep te worden gevonden, bijvoorbeeld als een gameserver of webcam.

Eindgebruikers van internettoegang ontvangen een toewijzing van IP-adressen, vaak slechts één adres, van hun internetprovider. De toegewezen adressen kunnen vast zijn (d.w.z. statisch) of kunnen van tijd tot tijd veranderen, een situatie die dynamisch wordt genoemd. Dynamische adressen worden doorgaans alleen aan particuliere klanten en kleine bedrijven gegeven, aangezien de meeste bedrijven specifiek statische adressen nodig hebben.

Dynamische IP-adressen vormen een probleem als de klant een dienst aan andere gebruikers op internet wil aanbieden, zoals een webdienst. Aangezien het IP-adres vaak kan veranderen, moeten de overeenkomstige domeinnamen snel opnieuw worden toegewezen in de DNS, om de toegankelijkheid te behouden met behulp van een bekende URL.

Veel providers bieden commerciële of gratis dynamische DNS-service voor dit scenario. De automatische herconfiguratie wordt over het algemeen geïmplementeerd in de router of computer van de gebruiker, die software uitvoert om de DDNS-service bij te werken. De communicatie tussen de apparatuur van de gebruiker en de provider is niet gestandaardiseerd, hoewel er in de loop van de tijd een paar standaard webgebaseerde methoden voor bijwerken zijn ontstaan.

Op standaarden gebaseerde dynamische DNS-update

De gestandaardiseerde methode voor het dynamisch bijwerken van domeinnaamserverrecords wordt voorgeschreven door RFC 2136, algemeen bekend als dynamische DNS-update. De door RFC 2136 beschreven methode is een netwerkprotocol voor gebruik met beheerde DNS-servers en bevat een beveiligingsmechanisme. RFC 2136 ondersteunt alle DNS-recordtypen, maar wordt vaak alleen gebruikt als een uitbreiding van het DHCP-systeem en waarbij de geautoriseerde DHCP-servers de clientrecords in de DNS registreren. Deze vorm van ondersteuning voor RFC 2136 wordt geleverd door een overvloed aan client- en serversoftware, inclusief die welke deel uitmaken van de meeste huidige besturingssystemen. Ondersteuning voor RFC 2136 is ook een integraal onderdeel van veel directoryservices, waaronder LDAP en Active Directory-domeinen van Windows.

Functie

In Microsoft Windows-netwerken is dynamische DNS een integraal onderdeel van Active Directory, omdat domeincontrollers hun netwerkservicetypen in DNS registreren, zodat andere computers in het domein (of forest) er toegang toe hebben.

Steeds meer inspanningen om internetcommunicatie te beveiligen, omvatten de versleuteling van alle dynamische updates via het openbare internet, aangezien deze openbare dynamische DNS-diensten steeds vaker misbruikt worden om beveiligingsinbreuken te ontwerpen. Op standaarden gebaseerde methoden binnen de DNSSEC-protocolsuite, zoals TSIG, zijn ontwikkeld om DNS-updates te beveiligen, maar worden niet algemeen gebruikt. Microsoft heeft alternatieve technologie (GSS-TSIG) ontwikkeld op basis van Kerberos-verificatie.

Sommige gratis DNS-serversoftwaresystemen, zoals dnsmasq, ondersteunen een dynamische updateprocedure waarbij direct een ingebouwde DHCP-server betrokken is. Deze server werkt automatisch de DNS-records bij of voegt deze toe bij het toewijzen van adressen, zodat de beheerder niet meer specifiek dynamische updates hoeft te configureren.

DDNS voor apparaten voor internettoegang

Dynamische DNS-providers bieden een softwareclientprogramma dat de detectie en registratie van de openbare IP-adressen van het clientsysteem automatiseert. Het clientprogramma wordt uitgevoerd op een computer of apparaat in het particuliere netwerk. Het maakt verbinding met de systemen van de DDNS-provider met een unieke inlognaam; de provider gebruikt de naam om het ontdekte openbare IP-adres van het thuisnetwerk te koppelen aan een hostnaam in het domeinnaamsysteem. Afhankelijk van de provider wordt de hostnaam geregistreerd binnen een domein dat eigendom is van de provider, of binnen de eigen domeinnaam van de klant. Deze diensten kunnen door een aantal mechanismen functioneren. Vaak gebruiken ze een HTTP-serviceverzoek, omdat zelfs restrictieve omgevingen meestal HTTP-service toestaan. De provider gebruikt mogelijk RFC 2136 om de DNS-servers bij te werken.

Veel modem / routers voor thuisnetwerken bevatten clienttoepassingen in hun firmware, compatibel met verschillende DDNS-providers.

DDNS voor fabrikanten van beveiligingsapparatuur

Dynamische DNS is een verwachte functie of zelfs een vereiste voor IP-gebaseerde beveiligingsapparatuur zoals DVR’s en IP-camera’s. Er zijn veel opties beschikbaar voor de huidige fabrikant, waaronder het gebruik van bestaande DDNS-services of het gebruik van aangepaste services die door de fabrikant zelf worden gehost.

In bijna alle gevallen wordt een eenvoudige op HTTP gebaseerde update-API gebruikt, omdat deze een gemakkelijke integratie van een DDNS-client in de firmware van een apparaat mogelijk maakt. Er zijn verschillende vooraf gemaakte tools die kunnen helpen de last van server- en clientontwikkeling te verlichten, zoals MintDNS, cURL en Inadyn. De meeste webgebaseerde DDNS-services gebruiken een standaard gebruikersnaam en wachtwoordbeveiligingsschema. Dit vereist dat een gebruiker eerst een account aanmaakt op de DDNS-serverwebsite en vervolgens zijn apparaat configureert om updates naar de DDNS-server te sturen wanneer een IP-adreswijziging wordt gedetecteerd.

Sommige apparaatfabrikanten gaan nog een stap verder door hun DDNS-service alleen te laten gebruiken door de apparaten die ze produceren, en elimineren ook de noodzaak van gebruikersnamen en wachtwoorden helemaal. Over het algemeen wordt dit bereikt door het MAC-adres van het apparaat te coderen met behulp van een cryptografisch algoritme dat geheim wordt gehouden op zowel de DDNS-server als binnen de firmware van het apparaat. De resulterende decoderings- of decoderingsfout wordt gebruikt om updates te beveiligen of te weigeren. Bronnen voor de ontwikkeling van aangepaste DDNS-services zijn over het algemeen beperkt en omvatten een volledige softwareontwikkelingscyclus om een ​​veilige en robuuste DDNS-server te ontwerpen en in gebruik te nemen.

Thanks to:
DNS page