Module 3 · 3.3
Subdomeinen en wildcards
Module 3: Records voor je website · Leestijd: 7 minuten
Leerdoel: Na deze les kun je een subdomein maken via de DNS en uitleggen hoe een wildcard werkt en waar hij niet geldt.
Kernbegrippen: subdomein, wildcard (*), "een bestaande naam wint", wildcard en diepere niveaus, subdomein in het hostingpaneel versus alleen een DNS-record
Wat is een subdomein?
Een subdomein is een naam vóór je domeinnaam: shop.example.com, blog.example.com, mail.example.com. Ook www.example.com is technisch gewoon een subdomein. Je hoeft er niets voor te registreren of te betalen: wie het domein example.com heeft, mag daaronder zelf zoveel namen maken als hij wil. Een subdomein ontstaat door er een record voor te maken.
Een subdomein mag ook meerdere niveaus diep zijn: test.shop.example.com kan prima. Elk deel tussen de punten mag maximaal 63 tekens zijn, en de hele naam maximaal 253 tekens.
Twee soorten subdomeinen
In de praktijk betekent "een subdomein maken" twee verschillende dingen, en dat verwart veel mensen.
1. Alleen een DNS-record. Je maakt in de DNS een A-, AAAA- of CNAME-record voor shop. Daarmee weet de wereld waar shop.example.com staat. Wijst het naar een externe dienst, zoals een webwinkelplatform, dan ben je klaar: die dienst regelt de website.
shop.example.com. 3600 IN CNAME shops.platform.example.2. Een subdomein in je hostingpaneel. In een hostingpaneel kun je ook een subdomein aanmaken. Dan gebeuren er twee dingen: het paneel zet (als de DNS daar beheerd wordt) een record in de DNS, én het richt de webserver in met een eigen map voor de bestanden van dat subdomein. Dat heb je nodig als de website van het subdomein bij je eigen hosting komt te staan, bijvoorbeeld een tweede WordPress op blog.example.com.
Twee valkuilen:
- Wordt je DNS ergens anders beheerd dan bij je hosting (andere nameservers, zie les 2.1), dan zet het paneel het record op een plek die niemand raadpleegt. Maak het record dan zelf bij de partij die de DNS beheert.
- Wil je dat een subdomein naar een externe dienst wijst, maak het dan niet aan in het hostingpaneel, maar alleen als DNS-record. Anders krijg je twee records voor dezelfde naam die elkaar in de weg zitten.
De wildcard: één record voor alle namen
Een wildcard is een record met een sterretje als naam:
*.example.com. 3600 IN A 192.0.2.10Dit betekent: "elke naam onder example.com die verder niet in de zone staat, wijst naar 192.0.2.10". Vraagt iemand blog.example.com, test.example.com of wat-dan-ook.example.com op, en bestaat die naam niet apart, dan geeft de DNS het antwoord van de wildcard.
Veel hostingpakketten zetten standaard een wildcard neer. Daardoor werkt een nieuw subdomein in het hostingpaneel direct, zonder dat er voor elke naam een apart record nodig is. Ook www werkt dan vanzelf.
Waar een wildcard niet geldt
De regels voor wildcards staan in RFC 4592. Drie dingen zijn handig om te weten.
Een bestaande naam wint. Staat er een eigen record voor shop.example.com, dan wordt de wildcard voor die naam niet gebruikt. Ook niet voor andere recordtypes: heeft shop alleen een CNAME, dan geeft de wildcard voor shop ook geen A-record meer. Een wildcard is dus een vangnet voor namen die helemaal niet bestaan.
*.example.com. A 192.0.2.10
www.example.com. CNAME shops.platform.example.Hier gaat blog.example.com naar 192.0.2.10, maar www.example.com naar het platform.
Een wildcard geldt niet voor de kale domeinnaam. *.example.com vangt example.com zelf niet op. Daar heb je een eigen record voor nodig.
Een wildcard geldt niet onder een naam die bestaat. Bestaat shop.example.com, dan vangt *.example.com de naam test.shop.example.com niet op. De wildcard werkt alleen voor namen waarvan het hele "pad" niet bestaat. Bestaat shop niet, dan valt test.shop.example.com wél onder de wildcard. Wil je een wildcard onder shop, dan maak je *.shop.example.com.
Een wildcard en mail of certificaten
Een wildcard in de DNS zegt alleen waar een naam heen wijst. Twee dingen regelt hij niet:
- Een certificaat. Voor https op elk subdomein heb je een certificaat nodig dat die namen dekt. Een wildcardcertificaat (
*.example.com) is iets anders dan een wildcardrecord, en wordt apart aangevraagd. Let's Encrypt geeft wildcardcertificaten alleen via een controle in de DNS. - Typfouten. Met een wildcard werkt ook
ww.example.comofwwww.example.com. Dat kan handig zijn, maar het betekent ook dat elke denkbare naam een antwoord geeft. Sommige beheerders willen dat juist niet.
In de praktijk: zo ziet het eruit in een paneel
Als voorbeeld gebruiken we DirectAdmin. Andere panelen (cPanel, Plesk) hebben een vergelijkbaar scherm voor subdomeinen.
- Open Subdomein Beheer en klik op Subdomein toevoegen.
- Typ alleen het eerste deel, bijvoorbeeld
shop. - Kies de map voor de bestanden, of laat de standaard staan.
- Sla op.
Wil je het subdomein naar een externe dienst laten wijzen, sla dit scherm dan over en maak alleen een record in DNS Beheer (les 3.1 of 3.2).
Samenvatting
- Een subdomein ontstaat door er een record voor te maken; registreren is niet nodig.
- Alleen een DNS-record is genoeg als een externe dienst de website levert. Een subdomein in het hostingpaneel heb je nodig als de site bij je eigen hosting staat.
- Een wildcard
*.example.combeantwoordt alle namen die verder niet bestaan. - Een bestaande naam wint altijd van de wildcard; de wildcard geldt niet voor de kale domeinnaam en niet onder een naam die bestaat.
- Een wildcardrecord is geen wildcardcertificaat.
Quiz
Opdracht
Z3.3 (opzoeken): Ga na of github.io een wildcard gebruikt. Zoek het A-record op van een naam die vrijwel zeker niet apart bestaat, zoals dnscursus- gevolgd door een paar willekeurige letters .github.io. Krijg je een IP-adres terug, vul dan ja in en het adres dat je kreeg.
O3.3 (instellen): Maak in je oefenzone:
- een wildcard-record
*(type A) met de waarde192.0.2.20 - een A-record
vastmet de waarde192.0.2.21
Het programma controleert daarna drie namen: een willekeurige naam (die moet de wildcard geven), vast (die moet zijn eigen adres geven) en de kale oefenzone.
Verder lezen
Deze artikelen beschrijven de stappen in de panelen van WebOké; in andere panelen werken ze vergelijkbaar.
