Zoeken op website

Stel een Basic Recursive Caching DNS-server in en configureer zones voor domein


Stel je voor hoe het zou zijn als we de IP-adressen zouden moeten onthouden van alle websites die we dagelijks gebruiken. Zelfs als we een wonderbaarlijk geheugen hadden, zou het proces om naar een website te bladeren belachelijk traag en tijdrovend zijn.

En hoe zit het als we meerdere websites moeten bezoeken of meerdere applicaties moeten gebruiken die zich op dezelfde machine of virtuele host bevinden? Dat zou een van de grootste problemen zijn die ik kan bedenken – om nog maar te zwijgen van de mogelijkheid dat het IP-adres dat aan een website of applicatie is gekoppeld, zonder voorafgaande kennisgeving kan worden gewijzigd.

Alleen al de gedachte eraan zou voldoende reden zijn om na een tijdje te stoppen met het gebruik van internet of interne netwerken.

Dat is precies wat een wereld zonder Domain Name System (ook bekend als DNS) zou zijn. Gelukkig lost deze dienst alle bovengenoemde problemen op – zelfs als de relatie tussen een IP-adres en een naam verandert.

Om die reden zullen we in dit artikel leren hoe we een eenvoudige DNS-server kunnen configureren en gebruiken, een service waarmee domeinnamen naar IP-adressen kunnen worden vertaald en omgekeerd.

Introductie van DNS-naamomzetting

Voor kleine netwerken die niet onderhevig zijn aan frequente wijzigingen, kan het bestand /etc/hosts worden gebruikt als een rudimentaire methode voor de resolutie van domeinnaam naar IP-adres.

Met een zeer eenvoudige syntaxis kunnen we met dit bestand als volgt een naam (en/of een alias) aan een IP-adres koppelen:

[IP address] [name] [alias(es)]

Bijvoorbeeld,

192.168.0.1 gateway gateway.mydomain.com
192.168.0.2 web web.mydomain.com

U kunt de webmachine dus bereiken via de naam, de alias web.mijndomein.com of het IP-adres.

Voor grotere netwerken of netwerken die onderhevig zijn aan frequente wijzigingen, zou het gebruik van het bestand /etc/hosts om domeinnamen om te zetten in IP-adressen geen acceptabele oplossing zijn. Dat is waar de behoefte aan een specifieke service om de hoek komt kijken.

Onder de motorkap doorzoekt een DNS-server een grote database in de vorm van een boom, die begint bij de root-zone (“. ”).

Het volgende beeld zal ons helpen dit te illustreren:

In de afbeelding hierboven bevat de hoofdzone (.) com, edu en net domeinen. Elk van deze domeinen wordt (of kan worden) beheerd door verschillende organisaties om te voorkomen dat ze afhankelijk zijn van een grote, centrale organisatie. Dit maakt het mogelijk om verzoeken op een hiërarchische manier correct te verdelen.

Laten we eens kijken wat er onder de motorkap gebeurt:

1. Wanneer een client een query indient bij een DNS-server voor web1.sales.me.com, stuurt de server de query naar de bovenste (root) DNS-server, die verwijst de zoekopdracht naar de naamserver in de .com-zone.

Dit stuurt op zijn beurt de zoekopdracht naar de naamserver van het volgende niveau (in de zone me.com) en vervolgens naar sales.me.com. Dit proces wordt zo vaak als nodig herhaald totdat de FQDN (Fully Qualified Domain Name, web1.sales.me.com in dit voorbeeld) wordt geretourneerd door de naamserver van de zone waar het thuishoort.

2. In dit voorbeeld reageert de naamserver in sales.me.com. op het adres web1.sales.me.com en retourneert de gewenste domeinnaam-IP-associatie en ook andere informatie (indien geconfigureerd om dit te doen).

Al deze informatie wordt naar de oorspronkelijke DNS-server gestuurd, die deze vervolgens terugstuurt naar de client die er in eerste instantie om heeft gevraagd. Om te voorkomen dat dezelfde stappen voor toekomstige identieke zoekopdrachten worden herhaald, worden de resultaten van de zoekopdracht opgeslagen op de DNS-server.

Dit zijn de redenen waarom dit soort configuratie algemeen bekend staat als een recursieve, caching DNS-server.