PowerDNS Server Installatie

Uit MediaServe Wiki

Ga naar: navigatie, zoeken

Voor de authoritative DNS servers maken we gebruik van PowerDNS. De huidige pool van servers wordt als volgt gedefiniƫerd:

Het betreffen PowerDNS servers met MySQL backend. De DNS servers zijn verantwoordelijk voor het hosten van authoritative DNS zones inclusief Reverse DNS zones.

Installatie

We beginnen met de installatie van de MySQL backend:

aptitude install mysql-server mysql-client

Tijdens de installatie vraagt MySQL om een root wachtwoord op te geven, na de installatie zal de MySQL server automatisch opstarten. We gaan nu verder met de installatie van PowerDNS.

aptitude install pdns-server pdns-backend-mysql

Na de installatie wordt PowerDNS automatisch gestart, maar zonder de MySQL backend. We gaan de database als volgt aanmaken.

mysql -u root -p
create database `powerdns`;
grant all on `powerdns`.* TO 'powerdns'@'localhost' identified by '************';
flush privileges;
use `powerdns`;
create table `domains` (
id int auto_increment,
name varchar(255) not null,
master varchar(128) default null,
last_check int default null,
type varchar(6) not null,
notified_serial INT default null,
account varchar(40) default null,
primary key (id)
);
create unique index `name_index` ON domains(name);
create table `records` (
id INT auto_increment,
domain_id int default null,
name varchar(255) default null,
type varchar(6) default null,
content varchar(255) default null,
ttl int default null,
prio int default null,
change_date int default null,
primary key(id)
);
create index `rec_name_index` on records(name);
create index `nametype_index` on records(name,type);
create index `domain_id` on records(domain_id);
create table `supermasters` (
ip varchar(39) not null,
nameserver varchar(255) not null,
account varchar(40) default null
);
quit;

En de koppeling vanuit PowerDNS:

cat > /etc/powerdns/pdns.conf << EOF
allow-axfr-ips=85.12.50.132,85.12.50.138,10.0.0.132,10.0.0.138,195.182.43.195,174.36.228.250,127.0.0.1
allow-recursion=127.0.0.1,10.0.0.0/24,85.12.50.0/24,174.36.228.248/29,195.182.43.195
config-dir=/etc/powerdns
out-of-zone-additional-processing=yes
do-ipv6-additional-processing=yes
daemon=yes
disable-axfr=no
guardian=yes
launch=gmysql
lazy-recursion=no
local-address=IPLIST
local-ipv6=IPV6LIST
local-port=53
log-failed-updates=yes
logfile=/var/log/pdns.log
master=no
module-dir=/usr/lib/powerdns
setgid=pdns
setuid=pdns
slave=yes
socket-dir=/var/run
version-string=powerdns
include=/etc/powerdns/pdns.d
EOF
export IPLIST=`ip addr | sed '/^    inet \([0-9\.]*\)\/\(.*\)/!d' | sed 's/^    inet \([0-9\.]*\)\/\(.*\)/\1/' | tr '\n' ',' | sed 's/,$//'`
sed -i s/IPLIST/"$IPLIST"/ /etc/powerdns/pdns.conf
export IPV6LIST=`ip addr | sed '/^    inet6 \([0-9a-f\:]*\)\/\(.*\)/!d' | sed 's/^    inet6 \([0-9a-f\:]*\)\/\(.*\)/\1/' | sed '/^fe80\:/d' | tr '\n' ',' | sed 's/,$//'`
sed -i s/IPV6LIST/"$IPV6LIST"/ /etc/powerdns/pdns.conf
cat >> /etc/powerdns/pdns.d/pdns.local << EOF
gmysql-host=127.0.0.1
gmysql-user=powerdns
gmysql-password=************
gmysql-dbname=powerdns
EOF
/etc/init.d/pdns restart

We gaan nu PowerAdmin installeren:

aptitude install apache2 libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php-pear php5-imap php5-mcrypt php5-mhash php5-ming php5-mysql php5-xmlrpc gettext apache2-mpm-prefork
pear install DB
pear install pear/MDB2#mysql
cd /var/www/
wget -O /var/www/poweradmin.tgz https://www.poweradmin.org/download/poweradmin-2.1.5.tgz
tar -zxf poweradmin.tgz
mv poweradmin-[0-9\.]* poweradmin
rm poweradmin.tgz
touch /var/www/poweradmin/inc/config.inc.php
chown -R www-data:www-data /var/www/poweradmin/
/etc/init.d/apache2 restart

Volg de procedure via de webserver op /poweradmin/install en verwijder naderhand de install map van de server.

rm /var/www/poweradmin/install -fr

Let erop dat de Zone Templates en SuperMasters van alle DNS servers gelijk zijn ingesteld via de PowerAdmin interface.

Persoonlijke instellingen
Naamruimten
Varianten
Handelingen
Navigatie
MediaServe
Algemeen