Opmerkingen
- Ubuntu / debian only tutorial, centos iets anders
- Geen knip en plakwerk, even nadenken bij sommige dingen
- Security ook goed in het oog houden in verband met user rechten etc
- Via show slave status \G; kan er gekeken worden of de slaves het nog goed doen in de replicatie. Hierop kan ook monitoring worden geplaats in nagios / zabbix.
- Na de setup heb je dus een volledige dns setup met meerdere dns servers waarop alles samen komt
- Credits horen toe aan Tim Bracquez (www.fusa.pro)
(1) MASTER SERVER
Dit gedeelte moet niet meer gebeuren, deze is maar 1x nodig voor de gehele setup
1) Powerdns + mysql server + webserver(phpmyadmin + poweradmin)
2) Configuratie powerdns# apt-get install pdns-server pdns-backend-mysql mysql-server apache2 php5 php5-mysql phpmyadmin
3) Master server van maken## de mysql gegevens invullen (zet dit op een eigen powerdns user!)
# vim /etc/poweradmin/pdns.d/pdns.local
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=root
gmysql-password=root_password
gmysql-dbname=powerdns
## stel in deze config slave=yes in
# vim /etc/poweradmin/pdns.conf
## de sql uit docs map van powerdns gebruiken
# mysql -u root -p < /root/database.sql
4) Installatie poweradmin (panel voor het beheer welke het iets makkelijker maakt)# vim /etc/mysql/my.cnf
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = powerdns
5) Verder configureren van poweradmin via de web interface# cd /var/www/
# wget https://www.poweradmin.org/download/...dmin-2.1.3.tgz
# tar -xf poweradmin-2.1.3.tgz
# mv poweradmin-2.1.3 poweradmin
# chown -R www-data.www-data poweradmin
# pear install MDB2_Driver_mysql-1.5.0b2
# pear install MDB2-2.5.0b2
6) Een herstart geven aan powerdns
(ELKE) SLAVE SERVER# /etc/init.d/pdns restart
Dit gedeelte moet op elke server gebeuren die als nameserver dient.
1) Installeren van mysql + pdns
2) Database aanmaken (vanuit een export van de master server – dit kan je met phpmyadmin maken indien het niet via command line) + replication (gebruik een eigen replicatie user met enkel die rechten !)# apt-get install pdns-server pdns-backend-mysql mysql-server
## mysql config (zet dit op een eigen powerdns user!)
# vim /etc/powerdns/pdns.d/pdns.local
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=root
gmysql-password=root_password
gmysql-dbname=powerdns
3) Herstart powerdns# mysql -u root -p < /root/database.sql
# vim /etc/mysql/my.cnf
server-id = 2 ## dit nummer voor iedere slave ophogen
master-host = xxx.xxx.xxx.xxx
master-user = root
master-password = root_password
master-connect-retry = 60
replicate-do-db = powerdns
log_bin = /var/log/mysql/mysql-bin.log
# de master_log_file en master_log_pos komt vanaf de master server, deze vraag je op door show master status \G; op de master server te doen (in mysql -u root -p)
# mysql -u root –p
stop slave;
change master to master_host='xxx.xxx.xxx.xxx', master_user='root', master_password=' root_password', master_log_file='mysql-bin.000001', master_log_pos=98;
start slave;
(2) ELKE DIRECTADMIN SERVER/etc/init.d/pdns restart
Dit gedeelte moet gebeuren op elke directadmin welke je op deze nameserver pool wenst te plaatsen
1) Config named / bind
## we gaan in deze config instellen dat deze alle records doorstuurd
# vim /etc/bind/named.conf.options
## voor de }; dit toevoegen (het ip is de master dns server welke de records gaat ontvangen)
allow-transfer { xxx.xxx.xxx.xxx; };
notify yes;
also-notify { xxx.xxx.xxx.xxx; };
# /etc/init.d/bind9 restart
2) Server toevoegen aan de supermaster table (dit via poweradmin of phpmyadmin op de master server)
3) Een herstart geven## controleer of deze in de supermasters staat
http://xxx.xxx.xxx.xxx/poweradmin/list_supermasters.php
## als deze er niet in staat
http://xxx.xxx.xxx.xxx/poweradmin/add_supermaster.php
IP address: Het ip adres van de server welke toegevoegd moet worden, het directadmin licentie ip/hoofd ip
Hostname: Dit is de nameserver (ns1 of ns2) welke automatisch toegevoegd moeten worden. Deze gaat dus alle records in de tabel inladen welke ‘ns1.it2go.eu’(als voorbeeld) heeft in directadmin en vanaf het ip adres komen welke ingesteld is.
Account: 'admin' zonder de ' is voldoende.
4) DNS instellingen aanpassen voor meerdere nameservers (indien meer dan 2)# /etc/init.d/bind9 restart
5) Ter controle# cd /usr/local/directadmin/data/templates
# cp dns_ns.conf custom/
## in het template gaan we nameservers bijvoegen als zijnde ns3, ns4... hoeveel slaves je dus hebt
# vim custom/dns_ns.conf
## vergeet de bestaande niet aan te passen...
## nu zouden op http://xxx.xxx.xxx.xxx/poweradmin/list_zones.php alle zones erbij moeten komen