Domain Name Server (DNS) is een cruciaal onderdeel van de internetinfrastructuur, en het bouwen van je DNS-server kan uitdagend zijn. Nou, niet met BIND, waar je je BIND DNS-server in een mum van tijd kunt maken. BIND heeft een uitstekende reputatie onder beheerders vanwege zijn flexibiliteit en ondersteuning voor hoge beschikbaarheid.
In dit artikel leer je hoe je een veilige BIND DNS-server installeert en configureert en controleert dat subdomeinen worden opgelost naar het juiste IP-adres.
Lees verder en maak je DNS-server zonder moeite!
Vereisten
Deze zelfstudie zal een praktische demonstratie zijn. Zorg ervoor dat je het volgende hebt om mee te doen.
- A Linux server – This example uses the Ubuntu 20.04 server.
- A non-root user with root privileges or root/administrator user.
- A domain name pointed to the server IP address – This demo uses the atadomain.io domain and server IP address 172.16.1.10.
Installeren van BIND-pakketten
De standaard Ubuntu-opslagplaats biedt BIND-pakketten, maar deze zijn niet geïnstalleerd op je systeem. Je kunt BIND installeren als de hoofd-DNS-server of alleen als autoritair. BIND biedt krachtige functies, zoals ondersteuning voor master-slave-installatie, DNSSEC-ondersteuning en ingebouwde toegangsbeheerlijsten (ACL’s).
Om aan de slag te gaan met BIND DNS, moet je eerst de BIND-pakketten op je machine installeren met de apt-pakketbeheerder.
1. Open je terminal en log in op je server.
2. Voer vervolgens de apt update
opdracht hieronder uit om de repository pakketindex bij te werken en te vernieuwen. Deze opdracht zorgt ervoor dat je de nieuwste versie van pakketten installeert.

3. Nadat je hebt bijgewerkt, voer je de onderstaande apt install
opdracht uit om BIND-pakketten te installeren voor de Ubuntu-server.
De bind9-utils en bind9-dnsutils pakketten bieden aanvullende command-line tools voor BIND. Deze pakketten zijn handig voor het testen en beheren van de BIND DNS-server.

4. Ten slotte, voer de systemctl
opdracht hieronder uit om de BIND-service te verifiëren.
Het BIND-pakket wordt geleverd met de service named en wordt automatisch gestart en ingeschakeld tijdens de installatie van het BIND-pakket.
Je zou nu moeten zien dat de BIND named service is ingeschakeld met de status als actief (lopend). Op dit punt zal de BIND-service automatisch worden uitgevoerd bij het opstarten van het systeem.

Configuratie van BIND DNS Server
Je hebt nu de BIND-pakketten geïnstalleerd op de Ubuntu-server, dus het is tijd om de BIND-installatie op je Ubuntu-server in te stellen. Hoe? Door de BIND- en de named
-serviceconfiguraties te bewerken.
Alle configuraties voor BIND zijn beschikbaar in de /etc/bind/-directory, en configuraties voor de named
-service in /etc/default/named.
1. Bewerk de configuratie in /etc/default/named met je favoriete editor en voeg de optie -4
toe aan de OPTIONS
-regel, zoals hieronder weergegeven. Deze optie zorgt ervoor dat de named
-service alleen op IPv4 draait.
Sla de wijzigingen op en sluit het bestand.

2. Bewerk vervolgens het bestand /etc/bind/named.conf.options en vul de volgende configuratie in onder de regel directory "/var/cache/bind";
.
Deze configuratie stelt de BIND-service in om op de standaard UDP-poort 53 te draaien op de localhost en het openbare IP-adres van de server (172.16.1.10). Tegelijkertijd staat het queries toe vanaf elke host naar de BIND DNS-server met gebruik van de Cloudflare DNS 1.1.1.1 als doorgever.
Onderaan, commentarieer de regel listen-on-v6 { any; }; uit, zoals hieronder weergegeven, om de named-service uit te schakelen voor IPv6.

3. Voer tot slot de volgende opdracht uit om de BIND-configuratie te controleren.
Als er geen uitvoer is, zijn de BIND-configuraties correct zonder enige fout.

Instellen van DNS-zones
Op dit punt heeft u de basisconfiguratie van de BIND DNS-server geconfigureerd. U bent klaar om een DNS-server te maken met uw domein en andere subdomeinen toe te voegen voor uw toepassingen. Hiervoor moet u een nieuwe configuratie voor DNS-zones definiëren en maken.
In deze handleiding maakt u een nieuwe nameserver (ns1.atadomain.io) en subdomeinen (www.atadomain.io, mail.atadomain.io, vault.atadomain.io).
1. Bewerk het bestand /etc/bind/named.conf.local met uw voorkeurseditor en voeg de volgende configuratie toe.
Deze configuratie definieert de forward-zone (/etc/bind/zones/forward.atadomain.io) en de reverse-zone (/etc/bind/zones/reverse.atadomain.io) voor de domeinnaam atadomain.io.
Sla de wijzigingen op en sluit het bestand.

2. Voer vervolgens de onderstaande opdracht uit om een nieuwe directory (/etc/bind/zones
) aan te maken voor de configuraties van de DNS-zones.
3. Voer elke onderstaande opdracht uit om de standaardconfiguraties voor de forward- en reverse-zones naar de directory /etc/bind/zones
te kopiëren.

4. Bewerk nu de configuratie van de forward-zone (/etc/bind/zones/forward.atadomain.io) met uw voorkeurseditor en vul de onderstaande configuratie in.
De configuratie van de forward zone is waar je je domeinnaam en het server-IP-adres definieert. Deze configuratie zal de domeinnaam vertalen naar het juiste IP-adres van de server.
De onderstaande configuratie maakt de volgende naamserver en subdomeinen aan:
ns1.atadomain.io
– De hoofdnaamserver voor je domein met het IP-adres172.16.1.10
.
- MX-record voor het domein
atadomain.io
dat wordt afgehandeld doormail.atadomain.io
. Het MX-record wordt gebruikt voor de mailservers.
- Subdomeinen voor toepassingen:
www.atadomain.io
,mail.atadomain.io
envault.atadomain.io
.
Sla de wijzigingen op en sluit het bestand.

Net als bij de forward zone, bewerk het configuratiebestand van de reverse zone (/etc/bind/zones/reverse.atadomain.io) en vul de volgende configuratie in.
De reverse zone vertaalt het server-IP-adres naar de domeinnaam. De reverse zone of PTR-record is essentieel voor diensten zoals de mailservers, die invloed hebben op de reputatie van de mailservers.
Het PTR-record gebruikt het laatste blok van het IP-adres, zoals het PTR-record met het nummer 10 voor het server-IP-adres 172.16.1.10.
Deze configuratie maakt de reverse zone of PTR-record voor de volgende domeinen aan:
- Naamserver
ns1.atadomain.io
met de reverse zone of PTR-record172.16.1.10
.
- PTR-record voor het domein
mail.atadomain.io
naar het server-IP-adres172.16.1.20
.
Sla de wijzigingen op en sluit het bestand.

6. Voer nu de volgende commando’s uit om BIND-configuraties te controleren en te verifiëren.
Wanneer je configuratie juist is, zie je een uitvoer zoals hieronder.

7. Ten slotte, voer het onderstaande systemctl
-commando uit om de named
-service te herstarten en te verifiëren. Hiermee worden nieuwe wijzigingen toegepast op de named
-service.
Hieronder zie je dat de named service actief (draaiend) is.

Het openen van de DNS-poort met de UFW-firewall
Op dit punt heb je de installatie van de BIND DNS-server voltooid. Maar je moet nog steeds je DNS-server beveiligen. Je zult de UFW-firewall instellen en de DNS-poort openen voor eventuele vragen naar de server. Hierdoor kunnen clients een vraag stellen aan de BIND DNS-server.
Om beveiligingsredenen wordt aanbevolen de UFW-firewall uit te voeren en in te schakelen op je Ubuntu-server.
1. Voer het ufw
-commando hieronder uit om beschikbare toepassingen op de UFW-firewall te controleren.
Je zou de Bind9 moeten zien in de lijst met toepassingen van de UFW hieronder.

2. Voer nu de onderstaande opdracht uit om toestaan
dat de Bind9
toegang krijgt tot de UFW-firewall.

3. Voer tot slot de volgende opdracht uit om ingeschakelde regels op de UFW-firewall te controleren.
Je zou de toepassing Bind9 in de lijst moeten zien, vergelijkbaar met de onderstaande schermafbeelding.

Verificatie van BIND DNS Server-installatie
Je hebt nu de installatie van de BIND DNS voltooid en de UFW-firewall geconfigureerd. Maar hoe controleer je de installatie van je DNS-server? De dig
-opdracht doet de truc.
Dig is een command-line hulpprogramma voor het oplossen van problemen met DNS-serverinstallatie. dig
voert een DNS-opzoeking uit voor de opgegeven domeinnaam en geeft gedetailleerde antwoorden voor het doeldomein. Op het Ubuntu-systeem maakt dig
deel uit van het bind9-dnsutil
-pakket.
Om je BIND DNS-serverinstallatie te verifiëren:
1. Voer elke dig
-opdracht hieronder uit om de subdomeinen www.atadomain.io
, mail.atadomain.io
en vault.atadomain.io
te verifiëren.
Als uw DNS-serverinstallatie succesvol is, zal elk subdomein worden opgelost naar het juiste IP-adres op basis van de configuratie van forward.atadomain.io.
Hieronder staat de uitvoer van het subdomein www.atadomain.io dat is opgelost naar het server-IP-adres 172.16.1.10.

Hieronder staat het subdomein mail.atadomain.io dat is opgelost naar het server-IP-adres 172.16.1.20.

En hieronder staat het subdomein vault.atadomain.io dat is opgelost naar het server-IP-adres 172.16.1.50.

2. Voer vervolgens de dig
-opdracht hieronder uit om het MX-record voor de domeinnaam atadomain.io
te controleren.
U zou moeten zien dat het domein atadomain.io het MX-record mail.atadomain.io heeft.

3. Voer tot slot de volgende opdrachten uit om het PTR-record of de reverse zone voor de server-IP-adressen 172.16.1.10
en 172.16.1.20
te controleren.
Als uw BIND-installatie succesvol is, zal elk IP-adres worden opgelost naar de domeinnaam die is gedefinieerd in de configuratie van reverse.atadomain.io.
U kunt hieronder zien dat het server-IP-adres 172.16.1.10 is opgelost naar de domeinnaam ns1.atadomain.io.

Zoals u hieronder ziet, is het server-IP-adres 172.16.1.20 opgelost naar de domeinnaam mail.atadomain.io.

Conclusie
Gedurende deze tutorial heb je geleerd hoe je een veilige BIND DNS-server kunt maken en instellen op je Ubuntu-server. Je hebt ook de voorwaartse en omgekeerde zone aangemaakt om je domein toe te voegen en DNS-servers geverifieerd door dig
-opdrachten uit te voeren.
Nu, hoe kun je een BIND DNS-server implementeren in je omgeving? Misschien BIND implementeren als een authoritative server? Of hoog beschikbaarheid opzetten met een master-slave BIND-installatie?