Het Domain Name System (DNS) biedt in wezen een telefoongids voor internet. Misschien wilt u Apple.com in uw webbrowser typen om iPhone-accessoires te kopen, maar hoe zal uw verzoek de IP-server van Apple bereiken op IP-adres 17.172.224.47? Dat is wat het domeinnaamregistratiesysteem voor ons doet.
Als u een eigenaar van een klein bedrijf bent of een WordPress-blogger, hebt u waarschijnlijk de opdracht gekregen uw A- en CNAME-records te configureren. Of, toen u probeerde uw e-mail te verplaatsen, kreeg u te horen dat u uw MX-record moest wijzigen. Of u werd door een coole webservice gevraagd een TXT-record in te stellen voordat het met u zou werken. Waar is dit allemaal voor en waarom is het zo verwarrend?
In deze tutorial zal ik u kennis laten maken met het DNS-systeem van het internet en u helpen bij het configureren van records voor de algemene vereisten van alledaagse technologieconsultants en bedrijfseigenaars.
Als je vragen of opmerkingen hebt over de tutorial, kun je deze hieronder plaatsen in de comments. Je kunt me ook volgen op Twitter en me daar berichten.
Toen u uw domeinnaam kocht, heeft uw registrar waarschijnlijk standaard DNS-records voor u geconfigureerd en de naamservers (NS) voor hen verstrekt. U moet een naamserver hebben (die vaak in paren en drietallen wordt gespiegeld voor redundantie, bijvoorbeeld ns1.yregregarserver.com, ns2.yregistrarserver.com) om de internetdirectory van het internet de numerieke IP-adressen van uw webservers en -services te vertellen.
Hier is een voorbeeld van mijn NS-records voor mijn website, JeffReifman.com:
Alle instellingen die we hieronder zullen beschrijven, worden door u op uw NS-host geconfigureerd en door hun server voor internet gepubliceerd om hun directory's bij te werken.
Er zijn een handvol typen DNS-recordtypen en de meest voorkomende die u waarschijnlijk hebt gehoord, zijn A-records.
Als een webgebruiker jeffreifman.com invoert, wordt het verzoek doorgestuurd naar een map die zoekt naar een DNS-record dat overeenkomt met mijn hoofddomein. Met root bedoel ik geen voorvoegsel, geen www, d.w.z. geen subdomein, alleen http://jeffreifman.com. Het A-record op hoofdniveau van uw domein kan bijvoorbeeld wijzen naar 107.164.32.96. Dat zal het internet vertellen op welk IP-adres uw browseaanvraag moet worden verzonden.
Ik heb de Kloth-website jarenlang gebruikt om DNS-records te controleren, maar er zijn er veel die u kunt gebruiken, bijvoorbeeld Google Dig of KeyCDN, wiens content delivery netwerkservices waar ik eerder dit jaar over schreef voor Tuts +. Veel sites bieden deze tools.
Hier is een voorbeeldquery voor een A-record op Kloth:
U kunt ook A-records configureren voor verschillende subdomeinen. Als u bijvoorbeeld www.uwwebsite.com naar hetzelfde adres wilt laten gaan, kunt u een identiek A-record instellen voor het subdomein www, d.w.z. het hoofddomein, en het www-domein zou identieke IP-adressen hebben.
Onlangs heb ik mede-oprichter van Flee the Jungle op http://fleethejungle.com om klanten wegwijs te maken bij Amazon na mijn verhalen over de schade van het bedrijf aan Seattle en de virale exposé gepubliceerd door de New York Times:
Binnenkort lanceren we stad-specifieke subdomeinen, bijvoorbeeld portland.fleethejungle.com. Als we deze op verschillende servers willen hosten, moeten we afzonderlijke A-records instellen voor elk subdomein van de stad om te wijzen naar de unieke IP-adressen van de server..
DNS-records staan ook jokertekens toe (met een asterisk *) waarmee het eenvoudig is om alle subdomeinverkeer naar één IP-adres te routeren. Als ik bijvoorbeeld wil dat een stadsverzoek voor Flee the Jungle door één server wordt gehost, kan ik zoiets als dit doen:
Met jokertekens kunt u gemakkelijker verkeer van veel subdomeinen naar één server vangen.
Wanneer het verkeer via het DNS-toewijzingssysteem op uw server arriveert, moet de configuratie van uw server daar worden geconfigureerd. Dit is bijvoorbeeld mijn Apache-siteconfiguratie voor mijn hoofddomeinverkeer en www-verkeer:
ServerName jeffreifman.com ServerAlias www.jeffreifman.com DocumentRoot / var / www / jeffreifman DirectoryIndex index.php AllowOverride All Order Deny, Allow Allow from all
Ik verkoop ook domeinen met behulp van een website die hen dynamisch prijzen. Dus, dit is hoe ik Apache het verkeer laat accepteren voor al die verschillende domeinen en DNS-records:
ServerName newscloud.com ServerAlias * acro.io ServerAlias * acroyoga.io ServerAlias * acupuncture.io ServerAlias * allmisses.com ServerAlias * amehzon.com ServerAlias * carestrategies.com ServerAlias * caringsitters.com ServerAlias * clipboards.io ServerAlias * commonbits.com ServerAlias * commonroad.com ServerAlias * commontunes.com ServerAlias * completelady.com ...
Vervolgens ga ik u vertellen over CNAME-records. Deze zijn op een aantal manieren nuttig en kunnen met name handig zijn bij het vereenvoudigen van het beheer van uw IP-adressen en toekomstige migraties van de ene server naar de andere.
CNAME's zijn in essentie domein- en subdomein-tekstaliassen om verkeer naar toe te wijzen. Als u bijvoorbeeld ooit een blog hebt opgezet via een service zoals WordPress of Tumblr, kunnen zij u vragen uw domeinnaam aan een CNAME toe te wijzen in plaats van een A-record naar een IP-adres.
Ik gebruik Tumblr niet veel, maar een tijdje geleden heb ik een site met hen opgezet om te proberen op http://misc.jeffreifman.com. Dit zijn hun instructies voor het configureren van uw domeinnaam. Ze staan A-records of CNAME's toe. Ik heb een CNAME gebruikt:
Dit is mijn DNS-record voor misc.jeffreifman.com:
misc.jeffreifman.com CNAME domains.tumblr.com.
Notitie: U moet een slotperiode instellen voor uw CNAME-adressen.
Wanneer een gebruiker misc.jeffreifman.com in zijn browser aanvraagt, verwijst de DNS ze naar domains.tumblr.com, die vervolgens het IP-adres voor, 66.6.44.4, recursief opzoeken..
Een voordeel van CNAMEs is dat als Tumblr ooit het IP-adres van hun inkomende server verandert, ik mijn CNAME-record misschien niet ooit hoef te wijzigen. Het kan hetzelfde blijven en Tumblr kan de IP-wijziging beheren door het A-record voor domains.tumblr.com te wijzigen.
Ik gebruik deze aanpak voor mijn domeinnamen te koop-de meeste van hen verwijzen naar een CNAME voor mijn webserver. Als ik hosts moet wijzigen en het IP-adres van mijn webserver moet wijzigen, kan ik één sub-domein A-record wijzigen voor de gebruikte CNAME in plaats van honderd A-records voor elke domeinnaam te wijzigen.
Notitie: De DNS-standaarden staan u technisch niet toe om rootdomeinrecords naar een CNAME-adres te verwijzen, bijvoorbeeld jeffreifman.com CNAME domains.tumblr.com. Daarom suggereert Tumblr een A-record voor uw hoofddomeinen. Sommige DNS-naamservers ondersteunen dit wel, dus neem contact op met de uwe. Lees dit bericht door Josh Strange voor meer informatie.
Een ander scenario waarmee u CNAME's gebruikt, is CDN-services, zoals beschreven in de KeyCDN-zelfstudie die ik voor Tuts + heb geschreven. Ik heb vier cloud-subdomeinen met de naam c1, c2, c3, c4 ingesteld, die allemaal verwijzen naar de inhoudspiegel van KeyCDN op jr-faf.kxcdn.com.
DNS-records voor hoofddomeinen en subdomeinen zijn over het algemeen onafhankelijk van elkaar. Een wijziging in een A-record voor een hoofddomein heeft geen invloed op de bestaande adressering van de CNAME van een subdomein. Onlangs heb ik me aangemeld bij de webbeveiligingsservice Incapsula en ben ik tot de conclusie gekomen dat er twee A-records voor hetzelfde hoofddomein nodig zijn - dit kan het een beetje ingewikkelder maken. Met andere woorden, u kunt technisch meerdere A-records hebben voor hetzelfde domein, waardoor er conflicten kunnen ontstaan.
Het is ook belangrijk om te beseffen dat DNS-wijzigingen niet onmiddellijk van kracht worden. Wanneer u uw DNS-records voor de eerste keer instelt (of wanneer u ze wijzigt), zullen internetgebruikers niet direct verbonden zijn met uw meest actuele instellingen. Dit is een van de dingen die het migreren van de ene server of het ene hostingbedrijf naar het andere bemoeilijkt. In het ergste geval kan dit meer dan 36 uur duren.
Mijn registrar stelde me voor aan WhatsMyDNS.net voor een visueel rapport van de verspreiding van mijn DNS-wijzigingen op verschillende gebieden. Hieronder was een screenshot die ik nam toen mijn Flee the Jungle-server verplaatst werd, waardoor veranderingen nodig waren die meerdere uren in beslag namen.
De onderstaande kaart laat zien dat DNS-servers over de hele wereld eindelijk mijn laatste wijzigingen hadden ingehaald:
Als je je nu afvraagt wat een MX-record is, is het tijd om het je te vertellen. MX-records vertellen het DNS-systeem waar al die e-mails die u ontvangt, moeten worden verzonden. Dus als ik StarWars.io heb gekocht en een e-mail wil ontvangen op [email protected], moet ik twee dingen doen.
Ten eerste moet ik me aanmelden voor een e-mailservice zoals Google Apps of FastMail om mijn e-mail te hosten. Ten tweede moet ik hun instructies volgen voor het configureren van MX-records op hun meerdere redundante e-mailservers.
Hier is bijvoorbeeld hoe het eruit ziet voor Google Apps:
Priority Mail Server 1 ASPMX.L.GOOGLE.COM. 5 ALT1.ASPMX.L.GOOGLE.COM. 5 ALT2.ASPMX.L.GOOGLE.COM. 10 ALT3.ASPMX.L.GOOGLE.COM. 10 ALT4.ASPMX.L.GOOGLE.COM.
FastMail ziet er ongeveer zo uit:
in1-smtp.messagingengine.com (first, priority = 10) in2-smtp.messagingengine.com (tweede, prioriteit = 20)
Als u uw eigen e-mailserver wilt uitvoeren, moet u uw MX-record zodanig configureren dat deze verwijst naar het IP-adres van uw eigen server.
Veel mensen zijn begonnen met het gebruik van MX Toolbox voor het opzoeken van hun MX-records, maar u kunt ook elke DNS-lookup-service gebruiken.
MX-records geven alleen instructies aan het DNS-systeem voor het routeren van de e-mail van vandaag: uw bestaande e-mail wordt opgeslagen in de clouddatabases van uw huidige e-mailprovider. Als u al uw bestaande berichten wilt verplaatsen, moet u vertrouwen op hun hulpprogramma's of uw e-mailclientsoftware. En natuurlijk moet u ook uw MX-records updaten naar de instellingen van uw nieuwe provider.
Tijdens de DNS-voortplantingsperiode ontvangt u mogelijk enkele e-mails bij uw oude provider en sommige bij uw nieuwe.
Als u uw MX-record wijzigt, is uw eerdere e-mailrepository niet beschadigd, maar daar komt niets nieuws uit.
Met TXT-records kan de domeineigenaar zichzelf verifiëren door geheime codes in hun DNS te plaatsen. Wanneer u zich registreert bij Webmasterhulpprogramma's van Google, vraagt het u om te verifiëren dat u de eigenaar bent van het domein door precies dat te doen.
Google vraagt u bijvoorbeeld om een code te plaatsen die specifiek is voor uw domein, zoals dit:
jeffreifman.com TXT google-site-verification = Ih8iC4iSOcBSkk
Ik heb momenteel drie TXT-records gepost voor jeffreifman.com:
jeffreifman.com TXT "keybase-site-verification = qG2zMYf_hw2sXUCgtYWk" jeffreifman.com TXT "v = spf1 include: spf.efwd.regsrvrs.com ~ all" jeffreifman.com TXT "google-site-verification = blTgEw5QFSx5M"
Keybase, waarover ik heb geschreven voor Tuts + met betrekking tot PGP Keys, Privacy en Encryption, maakt gebruik van TXT-records om mijn website te verifiëren als middel om mijn identiteit te verifiëren met mijn openbare sleutelrecords.
U kunt ook TXT-records gebruiken om spamdetectieservers te laten weten dat uw e-mailserver alleen legitieme e-mails verzendt, zoals ik deed met de SPF-record hierboven. Services zoals Mailgun gebruiken zowel SPF- als DKIM-records om hun e-mailkanonnen te gebruiken.
Omdat het internet geen IP-adressen meer heeft, gaan we langzaam over op een groter adresseringsschema, IPV6. U kunt lezen als de eerste op uw Block Running IPV6 (Tuts +) voor meer informatie hierover.
Als u besluit om IPv6-adressering te ondersteunen, moet u een AAAA-record configureren met het grotere adresseringsschema:
Tegenwoordig wordt de meeste IPv4-naar-IPv6-conversie achter de schermen transparant verwerkt. Hoewel op een bepaald moment nadat klimaatverandering de laatste ijsbeer heeft gedood (met dank aan senator Inhofe), A-records een relikwie kunnen worden en AAAA het primaire DNS-record zal zijn om te configureren.
Ik hoop dat je deze tutorial een nuttige introductie tot DNS-records hebt gevonden. Zoals altijd, aarzel niet om uw vragen en opmerkingen hieronder te plaatsen. Je kunt me ook op Twitter bezoeken om me te laten weten wat je denkt, of wat ik heb gemist. Of, alternatief, u kunt mij rechtstreeks e-mailen, bladeren door mijn andere Tuts + -artikelen of mijn andere schrijven bekijken.