PowerDNS installeren en configureren op FreeBSD met MySQL (Complete Handleiding)

PowerDNS installeren en configureren op FreeBSD

In deze handleiding lees je stap voor stap hoe je PowerDNS installeert en configureert op een FreeBSD-server met een MySQL-database als backend. Daarnaast wordt uitgelegd hoe je een PowerDNS Master Server, Slave Server en PowerDNS Recursor configureert.

Vereisten

Voordat je PowerDNS installeert, controleer je of er geen andere DNS-server actief is op poort 53, zoals BIND (named).

Controleer welke services luisteren op poort 53:

sockstat -l

Is er al een DNS-server actief? Stop deze dan eerst en verwijder de service voordat je PowerDNS installeert.


PowerDNS installeren

Stap 1: MySQL installeren

PowerDNS gebruikt een database voor het opslaan van DNS-zones. Installeer daarom eerst MySQL als deze nog niet aanwezig is.

pkg install mysql80-server

Start vervolgens MySQL en zorg ervoor dat de service automatisch wordt gestart na een reboot.

Open /etc/rc.conf:

vi /etc/rc.conf

Voeg de volgende regel toe:

mysql_enable="YES"

Start daarna de MySQL-server:

service mysql-server start

Stap 2: PowerDNS installeren

Installeer PowerDNS via packages:

pkg install dns/powerdns

Of compileer PowerDNS vanuit de Ports Collection:

cd /usr/ports/dns/powerdns
make install clean

Schakel PowerDNS in zodat deze automatisch start na een reboot.

Voeg in /etc/rc.conf toe:

pdns_enable="YES"

MySQL-database voor PowerDNS aanmaken

Log in op MySQL:

mysql -u root -p

Maak vervolgens een nieuwe database aan:

CREATE DATABASE pdns;
USE pdns;

Voeg daarna de officiële PowerDNS-tabellen toe. Deze tabellen bevatten alle DNS-records, domeinen, metadata en DNSSEC-sleutels die PowerDNS gebruikt.

(Hier blijft je SQL-script ongewijzigd staan.)


Databasegebruiker aanmaken

Gebruik bij voorkeur niet de MySQL-rootgebruiker voor PowerDNS.

Maak daarom een aparte gebruiker aan:

CREATE USER 'pdns'@'localhost' IDENTIFIED BY 'kies_een_sterk_wachtwoord';
GRANT ALL PRIVILEGES ON pdns.* TO 'pdns'@'localhost';
FLUSH PRIVILEGES;

PowerDNS Recursor installeren

Installeer de Recursor:

cd /usr/ports/dns/powerdns-recursor
make install clean

Schakel de service in:

pdns_recursor_enable="YES"

Start vervolgens de service:

service pdns-recursor start

PowerDNS Master configureren

Open het configuratiebestand:

vi /usr/local/etc/pdns/pdns.conf

Configureer de Recursor:

recursor=127.0.0.1:5300

Configureer daarna de MySQL-backend:

launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=pdns
gmysql-password=JE_WACHTWOORD
gmysql-dbname=pdns

Voeg vervolgens de overige instellingen toe:

allow-recursion=127.0.0.1
daemon=yes
guardian=yes
local-address=127.0.0.1
local-port=53
master=yes
slave=no
disable-axfr=no
log-dns-details=yes
allow-axfr-ips=84.22.100.69/24

PowerDNS Recursor configureren

Open:

vi /usr/local/etc/pdns/recursor.conf

Wijzig de luisterpoort:

local-port=5300

Sta alleen localhost toe:

allow-from=127.0.0.0/8

Herstart vervolgens beide services:

service pdns restart
service pdns-recursor restart

PowerDNS Slave configureren

De configuratie van de Slave Server is vrijwel gelijk aan die van de Master Server.

Pas alleen de volgende instellingen aan:

master=no
slave=yes
allow-axfr-ips=37.252.121.42/24

Voeg daarna de Master Server toe aan de tabel supermasters:

INSERT INTO supermasters
VALUES ('37.252.121.42', 'ns2.example.nl', 'admin');

Hosts-bestand aanpassen

Voeg op zowel de Master- als Slave-server de juiste hostnamen toe aan /etc/hosts:

37.252.121.42  ns1.example.nl
84.22.100.69   ns2.example.nl

Firewall configureren

Gebruik je een firewall, zorg er dan voor dat DNS-verkeer wordt toegestaan op poort 53 (UDP en TCP). Pas de firewallregels aan op basis van de firewallsoftware die je gebruikt.


PowerDNS beheren

PowerDNS kan handmatig worden gestart met:

service pdns start

De status controleren:

service pdns status

Conclusie

Na het uitvoeren van bovenstaande stappen beschik je over een volledig werkende PowerDNS-installatie op FreeBSD met een MySQL-backend, inclusief ondersteuning voor een Master- en Slave-configuratie en een PowerDNS Recursor voor recursieve DNS-queries.

Add a Comment

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *