Mainos / Advertisement:

Ero sivun ”Powerdns” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
 
(52 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
Powerdns on avoimen lähdekoodilla varustettu DNS palvelinohjelmisto.
+
Powerdns on avoimen lähdekoodilla varustettu DNS palvelinohjelmisto. Sitä on todella helppo käyttää ja asentaa. Käytämme itsekin tätä nimipalvelinohjelmistoa palveluissamme.
  
 +
== Asentaminen ==
  
== Asenna Mysql - tietokantapalvelin ==
+
Asenna PowerDNS ja MariaDB-tietokantapalvelin
  
Asennetaan pakettihallinnasta mysql-server ja mysql-client paketit
+
Ubuntu 16.04 LTS
  
  aptitude install mysql-server mysql-client
+
<pre>
 +
sudo apt-get install software-properties-common
 +
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
 +
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.netinch.com/pub/mariadb/repo/10.2/ubuntu xenial main'
 +
sudo apt update
 +
sudo apt install mariadb-server
 +
sudo add-apt-repository 'deb [arch=amd64] https://repo.powerdns.com/ubuntu xenial-auth-41 main'
 +
wget https://repo.powerdns.com/FD380FBB-pub.asc
 +
sudo apt-key add FD380FBB-pub.asc
 +
sudo apt update && sudo apt install pdns-server pdns-backend-mysql
 +
</pre>
  
 +
Ubuntu 18.04 LTS
  
== Asenna ja konfiguroi PowerDNS ==
+
<pre>
 +
sudo apt-get install software-properties-common
 +
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
 +
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.netinch.com/pub/mariadb/repo/10.3/ubuntu bionic main'
 +
sudo apt update
 +
sudo apt install mariadb-server
 +
sudo add-apt-repository 'deb [arch=amd64] http://repo.powerdns.com/ubuntu bionic-auth-41 main'
 +
wget https://repo.powerdns.com/FD380FBB-pub.asc
 +
sudo apt-key add FD380FBB-pub.asc
 +
sudo apt update && sudo apt install pdns-server pdns-backend-mysql
 +
</pre>
  
  aptitude install pdns-server pdns-backend-mysql
+
Luo tietokantapalvelimelle käyttäjätili ja tietokanta powerdns:sää varten
  
Määritä asennuksessa käyttäjätunnus ja salasana tietokantaan.
+
mysql -u root -p
  
Avaa PowerDNS konfigurointitiedosto pdns.conf
+
<pre>
 +
CREATE USER 'pdns'@'localhost' IDENTIFIED BY 'salasana';
 +
CREATE DATABASE pdns;
 +
GRANT ALL PRIVILEGES ON pdns.* TO 'pdns'@'localhost';
 +
FLUSH PRIVILEGES;
 +
</pre>
  
  nano /etc/powerdns/pdns.conf
+
Luo PowerDNS-palvelimelle tietokanta ohjeen mukaisesti: https://doc.powerdns.com/md/authoritative/backend-generic-mysql/#Default Schema
  
lisää tiedostoon launch kohtaan gmysql:
+
Konfiguroi PowerDNS:n tietokantayhteys
 
 
  launch=gmysql
 
 
 
Avaa pdns.local.conf ja määritä se seuraavanlaiseksi:
 
  
 
<pre>
 
<pre>
# Here comes the local changes the user made, like configuration of
+
launch+=gmysql
# the several backends that exists.
 
  
 +
# gmysql parameters
 
gmysql-host=127.0.0.1
 
gmysql-host=127.0.0.1
gmysql-user=root
+
gmysql-port=3306
gmysql-password=Qwerty1
 
 
gmysql-dbname=pdns
 
gmysql-dbname=pdns
 +
gmysql-user=pdns
 +
gmysql-password=salasana
 +
gmysql-dnssec=yes
 +
# gmysql-socket=
 
</pre>
 
</pre>
 
+
Luo palvelimelle tietokantaan taulut ohjeen mukaisesti: https://doc.powerdns.com/md/authoritative/backend-generic-mysql/#Default Schema
  
 
Käynnistä palvelu uudelleen
 
Käynnistä palvelu uudelleen
  
  service pdns restart
+
sudo service pdns restart
  
 
== Asenna ja konfiguroi Poweradmin ==
 
== Asenna ja konfiguroi Poweradmin ==
Rivi 61: Rivi 87:
  
 
Pura tiedosto
 
Pura tiedosto
   tar -xvfz poweradmin-2.1.7.tgz
+
   tar -xvzf poweradmin-*.tgz
  
 
Siirrä se /var/www/poweradmin hakemistoon tai muuhun webhakemistoon. Vaihdetaan samalla nimeä...
 
Siirrä se /var/www/poweradmin hakemistoon tai muuhun webhakemistoon. Vaihdetaan samalla nimeä...
Rivi 125: Rivi 151:
 
Kirjaudu sisälle.
 
Kirjaudu sisälle.
  
 +
== PowerDNS Master-Slave ==
  
== DNS Server Cluster ==
+
Asennetaan molempiin palvelimiin PowerDNS ja MariaDB-palvelin.
  
Olet nyt luonut Master DNS palvelin ja nyt luodaan slave DNS palvelin joka kopioi kaiken master palvelimelta. Voit tehdä myös siitä kaksisuuntaisenkin, eli synkronoi molempiin suuntiin.
+
<pre>
 +
sudo apt-get install software-properties-common
 +
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
 +
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.netinch.com/pub/mariadb/repo/10.2/ubuntu xenial main'
 +
sudo apt update
 +
sudo apt install mariadb-server
 +
sudo add-apt-repository 'deb [arch=amd64] https://repo.powerdns.com/ubuntu xenial-auth-40 main'
 +
wget https://repo.powerdns.com/FD380FBB-pub.asc
 +
sudo apt-key add FD380FBB-pub.asc
 +
sudo apt update && sudo apt install pdns-server pdns-backend-mysql
 +
</pre>
  
Käytössämme siis on MASTER = Pääpalvelin ja SLAVE = Varapalvelin
+
Luo tietokantapalvelimelle käyttäjätili ja tietokanta powerdns:sää varten
  
=== SLAVE: Asenna MySQL ja Poweradmin ===
+
mysql -u root -p
 +
 
 +
<pre>
 +
CREATE USER 'pdns'@'localhost' IDENTIFIED BY 'salasana';
 +
CREATE DATABASE pdns;
 +
GRANT ALL PRIVILEGES ON pdns.* TO 'pdns'@'localhost';
 +
FLUSH PRIVILEGES;
 +
</pre>
  
Asenna Mysql-server ja Poweradmin Slave DNS palvelimeen
+
Luo PowerDNS-palvelimelle tietokanta ohjeen mukaisesti: https://doc.powerdns.com/md/authoritative/backend-generic-mysql/#Default Schema
  
  aptitude install mysql-server mysql-client pdns-server pdns-backend-mysql
+
Konfiguroi PowerDNS:n tietokantayhteys
  
Avaa powerdns konfigurointi tiedosto pdns.conf:
+
sudo nano /etc/powerdns/pdns.d/pdns.local.gmysql.conf
  
  nano /etc/powerdns/pdns.conf
+
<pre>
 +
launch+=gmysql
  
Etsi kohta launch ja määritä se seuraavanlaiseksi:
+
# gmysql parameters
 +
gmysql-host=127.0.0.1
 +
gmysql-port=3306
 +
gmysql-dbname=pdns
 +
gmysql-user=pdns
 +
gmysql-password=XXXXXXX
 +
gmysql-dnssec=yes
 +
# gmysql-socket=
 +
</pre>
  
  launch=qmysql
+
=== Master -palvelin konfiguraatio ===
  
Avaa pdns.local.conf
+
Konfiguroit PowerDNS -Master palvelin
  
  nano /etc/powerdns/pdns.d/pdns.local.conf
+
sudo nano /etc/powerdns/pdns.d/pdns.local.conf
  
Määritä se seuraavanlaiseksi:
+
Vaihda allow-axfr-ips ja also-notify kohtaan Slave palvelinten IP-osoitteet. Tähän IP-osoitteeseen lähetetään myös päivitysilmoitus, että slave tietää päivittää uudet tiedot masterilta.
  
 
<pre>
 
<pre>
# Here comes the local changes the user made, like configuration of
+
allow-axfr-ips=192.168.22.1
# the several backends that exists.
+
also-notify=192.168.22.1
 +
disable-axfr=no
 +
master=yes
 +
slave=no
 +
version-string=
 +
</pre>
  
gmysql-host=127.0.0.1
+
=== Slave -palvelin konfiguraatio ===
gmysql-user=root
+
 
gmysql-password=Qwerty1
+
Konfiguroi PowerDNS -Slave palvelin
gmysql-dbname=pdns
+
 
 +
  sudo nano /etc/powerdns/pdns.d/pdns.local.conf
 +
 
 +
<pre>
 +
allow-recursion=0.0.0.0/0
 +
daemon=yes
 +
disable-axfr=yes
 +
guardian=yes
 +
local-address=0.0.0.0
 +
local-port=53
 +
log-dns-details=on
 +
master=no
 +
slave=yes
 +
slave-cycle-interval=60
 +
version-string=
 
</pre>
 
</pre>
  
=== MASTER: MySQL Replication ===
+
Käynnistä PowerDNS uudelleen
 +
 
 +
=== Luodaan slave-zonet ===
 +
 
 +
Luodaan Slave-palvelimelle zonet seuraavalla komennolla. 192.168.1.10 on master-palvelimen IP-osoite.
 +
 
 +
  sudo pdnsutil create-slave-zone taisto.org 192.168.1.10
 +
 
 +
== Lisäjuttuja ==
 +
 
 +
=== DNSSEC käyttöön verkkotunnukselle ===
  
Konfiguroidaan pääpalvelimeen Mysql replication,
+
DNSSEC käyttöönotto on todella helppoa ja onnistuu yhdellä komennolla.
  
Avaa Mysql-server konfigurointi tiedosto my.conf
+
  sudo pdnsutil secure-zone example.org
 +
  sudo pdnsutil increase-serial example.org
  
  nano /etc/mysql/my.conf
+
Tämän lisäksi sinun tulee ilmoittaa tämä välittäjälle että määrittää DNSSECin asetukset heidän järjestelmään. Viestintäviraston järjestelmä osaa hakea suoraan DS tietueet. Testaa DNSSEC toimivuus: https://dnssec-debugger.verisignlabs.com/ tai https://dnscheck.ripe.net/
  
Ja lisää [mysqld] alleloppuun
+
Näet DNSSEC DS tietueet seuraavalla komennolla. S
 +
 
 +
  sudo pdnsutil show-zone example.org
 +
 
 +
Otat sieltä (SHA256 digest) riviltä pitkän litannian. Esimerkki tulostuksesta
  
 
<pre>
 
<pre>
[mysqld]
+
DS = example.org. IN DS <serial> 8 2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ; ( SHA256) digest)
...
 
server-id = 1
 
log_bin = /var/log/mysql/mysql-bin.log
 
expire_logs_days = 10
 
max_binlog_size = 100M
 
binlog_do_db = pdns
 
 
</pre>
 
</pre>
  
Määritä lisäksi bind-address:
+
Poista DNSSEC käytöstä. Poistathan myös verkkotunnuksen juuresta DNSSEC käytöstä!
  
   bind-address = 0.0.0.0
+
   sudo pdnsutil disable-dnssec example.org
  
Tallenna tiedosto ja käynnistä mysql-server uudelleen
+
==== Konfiguroi .fi domainille ====
  
  service mysql-server restart
+
Kaikki rekisteröijät kuten Viestintävirasto ei tue uusimpia algoritmeja. Siksi voi suositella käyttämään algoritmia 8 eli RSHA256.
  
Kirjaudu mysql-serveriin terminaalista tai käytä phpmyadminia.
+
Konfiguroidaan PowerDNS:sään:
 +
 
 +
<pre>
 +
default-ksk-algorithms=rsasha256
 +
default-ksk-size=2048
 +
default-zsk-algorithms=rsasha256
 +
default-zsk-size=1024
 +
</pre>
  
  mysql -u root -p
+
Ja sitten ajetaan
  
Anna root käyttäjän salasana.
+
  sudo pdnsutil secure-zone domain.fi
  
Lupdaan replicatioon käyttäjä dnsslave ja salasanaksi laitetaan Qwerty1. Sallimme vain luetettavasta IP-osoitteesta yhdistämisen.
+
Sitten välittäjän tulee päivittää tiedot nimipalvelimelle.
  
  grant replication slave on *.* to 'pdnsslave'@'23.55.22.5;' identified by 'Qwerty1';
+
==== Testaa DNSSEC toimivuus ====
  flusht prifileges.
 
  
Tarkista onnistuiko
+
Tämä voidaan testata vaikka dig komennolla
  
   show master status;
+
   dig example.org +dnssec +multi
  
Komento pitäisi tulostaa tälläistä:
+
Tai käyttää testaussivuja
  
<pre>
+
https://dnssec-debugger.verisignlabs.com/
+------------------+----------+--------------+------------------+
 
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
 
+------------------+----------+--------------+------------------+
 
| mysql-bin.000001 | 106 | pdns | |
 
+------------------+----------+--------------+------------------+
 
1 row in set (0.00 sec)
 
</PRE>
 
  
=== SLAVE: MySQL Replication ===
+
=== GeoDNS ===
  
Konfiguroidaan varapalvelimeen MySQL Replication.
+
GeoDNS:n avulla voidaan vastata eri tietueita riippuen lähde-osoitteesta. Tämä on hyödyllistä erityisesti jos verkkosivulla on käyttäjiä eri puolilla maapalloa ja sivusto on useilla sijainneissakin saatavilla eri IP:llä. GeoDNS osaa näin vastata pyyntöihin sijaintikohtaisesti.
  
Avaa my.conf konfigurointi tiedosto:
+
Asenna PowerDNS palvelimelle
  
   nano /etc/mysql/my.conf
+
   sudo apt install pdns-backend-geoip libgeoip-dev libyaml-cpp-dev
  
Lisää [mysqld] alle:
+
Luo tiedosto /etc/powerdns/pdns.d/pdns.local.geoip.conf
  
 
<pre>
 
<pre>
[mysqld]
+
launch+=geoip
...
+
geoip-database-files=/usr/share/GeoIP/GeoIP.dat,/usr/share/GeoIP/GeoIPv6.dat
server-id=2
+
geoip-zones-file=/etc/powerdns/geo.yml
master-connect-retry=60
+
#geoip-dnssec-keydir=
relay-log=slave-relay-bin
 
relay-log-index=slave-relay-bin.index
 
replicate-do-db=pdns
 
 
</pre>
 
</pre>
  
Jos laitat useampia SLAVE palvelimai, muuta vain esimerkiksi server-id=3 jne...
+
Luo tiedosto sitten /etc/powerdns/geo.yml ja liitä alla oleva konffi tiedostoon. Kirjaa tänne verkkotunnuksen tietueet. Ole tarkkana ettet muuta ollenkaan synktaksia ja välilyöntejä. YAML on todella tarkka näistä joten älä muuta tätä.
  
Käynnistä Mysql uudelleen:
+
<syntaxhighlight lang="yaml">
 +
domains:
 +
- domain: geo.example.org
 +
  ttl: 60
 +
  records:
 +
    geo.example.org:
 +
      - soa: ns.example.org. geoman.example.org. 1 7200 3600 86400 60
 +
      - ns:  ns.example.org.
 +
    deu.geo.example.org:
 +
      - a: 192.0.0.2
 +
      - txt: Guten Tag
 +
    esp.geo.example.org:
 +
      - a: 192.0.0.10
 +
      - txt: Muy buenos dias
 +
      - loc: 40 8 43.041 N 3 21 42.539 W 714m 10m 100m 10m
 +
    "*.geo.example.org":
 +
      - a: 127.0.0.53
 +
      - txt: I don't know exactly where you are
 +
  services:
 +
    www.geo.example.org: '%co.geo.example.org'
 +
</syntaxhighlight>
  
  service mysql-server restart
+
Käynnistä PowerDNS uudelleen
 
 
Kirjaudu mysql palvelimelle
 
 
 
mysql -u root -p
 
  
Anna salasana.
+
  sudo service pdns restart
  
Määritä master palvelin. Muista tiedot pääpalvelimelta. Näet ne sieltä show master status; komennolla.
+
Testaa GeoDNS:sää eri sijainneista dig komennolla
  
   change master to master_host='22.88.66.22', master_user='pdnsslave', master_password='Qwerty1', master_log_file='mysql-bin.000001',master_log_pos=107;
+
   dig www.geo.example.org @ns.example.org
  
  start slave;
+
== Debug ==
  
Tarkista toiminta:
+
Tarkista kaikki zonet
  
   show slave status;
+
   sudo pdnsutil check-all-zones

Nykyinen versio 3. elokuuta 2018 kello 18.10

Powerdns on avoimen lähdekoodilla varustettu DNS palvelinohjelmisto. Sitä on todella helppo käyttää ja asentaa. Käytämme itsekin tätä nimipalvelinohjelmistoa palveluissamme.

Asentaminen

Asenna PowerDNS ja MariaDB-tietokantapalvelin

Ubuntu 16.04 LTS

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.netinch.com/pub/mariadb/repo/10.2/ubuntu xenial main'
sudo apt update
sudo apt install mariadb-server
sudo add-apt-repository 'deb [arch=amd64] https://repo.powerdns.com/ubuntu xenial-auth-41 main'
wget https://repo.powerdns.com/FD380FBB-pub.asc
sudo apt-key add FD380FBB-pub.asc
sudo apt update && sudo apt install pdns-server pdns-backend-mysql

Ubuntu 18.04 LTS

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.netinch.com/pub/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install mariadb-server
sudo add-apt-repository 'deb [arch=amd64] http://repo.powerdns.com/ubuntu bionic-auth-41 main'
wget https://repo.powerdns.com/FD380FBB-pub.asc
sudo apt-key add FD380FBB-pub.asc
sudo apt update && sudo apt install pdns-server pdns-backend-mysql

Luo tietokantapalvelimelle käyttäjätili ja tietokanta powerdns:sää varten

mysql -u root -p
CREATE USER 'pdns'@'localhost' IDENTIFIED BY 'salasana';
CREATE DATABASE pdns;
GRANT ALL PRIVILEGES ON pdns.* TO 'pdns'@'localhost';
FLUSH PRIVILEGES;

Luo PowerDNS-palvelimelle tietokanta ohjeen mukaisesti: https://doc.powerdns.com/md/authoritative/backend-generic-mysql/#Default Schema

Konfiguroi PowerDNS:n tietokantayhteys

launch+=gmysql

# gmysql parameters
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-dbname=pdns
gmysql-user=pdns
gmysql-password=salasana
gmysql-dnssec=yes
# gmysql-socket=

Luo palvelimelle tietokantaan taulut ohjeen mukaisesti: https://doc.powerdns.com/md/authoritative/backend-generic-mysql/#Default Schema

Käynnistä palvelu uudelleen

sudo service pdns restart

Asenna ja konfiguroi Poweradmin

Asennetaan webpalvelimeksi Apache2 ja PHP5

 aptitude install apache2 php5 php5-curl php5-dev php5-gd php-pear php5-imap php5-mcrypt php5-mysql php5-xmlrpc gettext

Asenna lisäksi kaksi PEAR pakettia

 pear install DB
 pear install pear/MDB2#mysql

Lataa PowerDNS

 http://sourceforge.net/projects/poweradmin/

Esimerkiksi:

 cd /tmp
 wget http://heanet.dl.sourceforge.net/project/poweradmin/poweradmin-2.1.7.tgz

Pura tiedosto

 tar -xvzf poweradmin-*.tgz

Siirrä se /var/www/poweradmin hakemistoon tai muuhun webhakemistoon. Vaihdetaan samalla nimeä...

 mv /tmp/poweradmin-2.1.7 /var/www/poweradmin

Luodaan config.inc.php tiedosto

 touch /var/www/poweradmin/inc/config.inc.php

Määritetään poweradmin hakemistoon omistusoikeudet

 chown www-data:www-data -R /var/www/poweradmin

Tarkista Apachen konfiguraatiosta että juurihakemisto on /var/www.

 nano /etc/apache2/sites-available/000-default.conf 

TAI

 nano /etc/apache2/sites-available/default

Tiedostossa pitäisi olla:

 DocumentRoot /var/www/

Käynnistä muutoksen jälkeen Apache2 uudelleen

 service apache2 restart

Web UI

Siirry selaimessa IP-osoitteesi/poweradmin

1. Aloita asennus siirtymällä Poweradminissa install/ linkistä.

Poweradmin install 1.png

2. Määritä kieli, englanti

Poweradmin install 2.png

3. Lue ohjeet

Poweradmin install 3.png

4. Määritä tietokantasi käyttäjänimi, tietokannan käyttäjänimen salasana, tietokantapalvelimen tyyppi, tietokantapalvelimen isäntänimi, tietokantapalvelimen portti jota tietokanta kuuntelee, tietokannan nimi, ja Poweradminin järjestelmävalvojan salasana.

Poweradmin install 4.png

5. Luo uusi poweradmin käyttäjä.

Poweradmin install 5.png

6. Aloita asennus

Poweradmin install 6.png

Asennuksen lopuksi poista installer hakemisto.

 rm -R /var/www/poweradmin/installer

Kirjaudu sisälle.

PowerDNS Master-Slave

Asennetaan molempiin palvelimiin PowerDNS ja MariaDB-palvelin.

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.netinch.com/pub/mariadb/repo/10.2/ubuntu xenial main'
sudo apt update
sudo apt install mariadb-server
sudo add-apt-repository 'deb [arch=amd64] https://repo.powerdns.com/ubuntu xenial-auth-40 main'
wget https://repo.powerdns.com/FD380FBB-pub.asc
sudo apt-key add FD380FBB-pub.asc
sudo apt update && sudo apt install pdns-server pdns-backend-mysql

Luo tietokantapalvelimelle käyttäjätili ja tietokanta powerdns:sää varten

mysql -u root -p
CREATE USER 'pdns'@'localhost' IDENTIFIED BY 'salasana';
CREATE DATABASE pdns;
GRANT ALL PRIVILEGES ON pdns.* TO 'pdns'@'localhost';
FLUSH PRIVILEGES;

Luo PowerDNS-palvelimelle tietokanta ohjeen mukaisesti: https://doc.powerdns.com/md/authoritative/backend-generic-mysql/#Default Schema

Konfiguroi PowerDNS:n tietokantayhteys

sudo nano /etc/powerdns/pdns.d/pdns.local.gmysql.conf
launch+=gmysql

# gmysql parameters
gmysql-host=127.0.0.1
gmysql-port=3306
gmysql-dbname=pdns
gmysql-user=pdns
gmysql-password=XXXXXXX
gmysql-dnssec=yes
# gmysql-socket=

Master -palvelin konfiguraatio

Konfiguroit PowerDNS -Master palvelin

sudo nano /etc/powerdns/pdns.d/pdns.local.conf

Vaihda allow-axfr-ips ja also-notify kohtaan Slave palvelinten IP-osoitteet. Tähän IP-osoitteeseen lähetetään myös päivitysilmoitus, että slave tietää päivittää uudet tiedot masterilta.

allow-axfr-ips=192.168.22.1
also-notify=192.168.22.1
disable-axfr=no
master=yes
slave=no
version-string=

Slave -palvelin konfiguraatio

Konfiguroi PowerDNS -Slave palvelin

 sudo nano /etc/powerdns/pdns.d/pdns.local.conf
allow-recursion=0.0.0.0/0
daemon=yes
disable-axfr=yes
guardian=yes
local-address=0.0.0.0
local-port=53
log-dns-details=on
master=no
slave=yes
slave-cycle-interval=60
version-string=

Käynnistä PowerDNS uudelleen

Luodaan slave-zonet

Luodaan Slave-palvelimelle zonet seuraavalla komennolla. 192.168.1.10 on master-palvelimen IP-osoite.

 sudo pdnsutil create-slave-zone taisto.org 192.168.1.10

Lisäjuttuja

DNSSEC käyttöön verkkotunnukselle

DNSSEC käyttöönotto on todella helppoa ja onnistuu yhdellä komennolla.

 sudo pdnsutil secure-zone example.org
 sudo pdnsutil increase-serial example.org

Tämän lisäksi sinun tulee ilmoittaa tämä välittäjälle että määrittää DNSSECin asetukset heidän järjestelmään. Viestintäviraston järjestelmä osaa hakea suoraan DS tietueet. Testaa DNSSEC toimivuus: https://dnssec-debugger.verisignlabs.com/ tai https://dnscheck.ripe.net/

Näet DNSSEC DS tietueet seuraavalla komennolla. S

 sudo pdnsutil show-zone example.org

Otat sieltä (SHA256 digest) riviltä pitkän litannian. Esimerkki tulostuksesta

DS = example.org. IN DS <serial> 8 2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ; ( SHA256) digest)

Poista DNSSEC käytöstä. Poistathan myös verkkotunnuksen juuresta DNSSEC käytöstä!

 sudo pdnsutil disable-dnssec example.org

Konfiguroi .fi domainille

Kaikki rekisteröijät kuten Viestintävirasto ei tue uusimpia algoritmeja. Siksi voi suositella käyttämään algoritmia 8 eli RSHA256.

Konfiguroidaan PowerDNS:sään:

default-ksk-algorithms=rsasha256
default-ksk-size=2048
default-zsk-algorithms=rsasha256
default-zsk-size=1024

Ja sitten ajetaan

 sudo pdnsutil secure-zone domain.fi

Sitten välittäjän tulee päivittää tiedot nimipalvelimelle.

Testaa DNSSEC toimivuus

Tämä voidaan testata vaikka dig komennolla

 dig example.org +dnssec +multi

Tai käyttää testaussivuja

https://dnssec-debugger.verisignlabs.com/

GeoDNS

GeoDNS:n avulla voidaan vastata eri tietueita riippuen lähde-osoitteesta. Tämä on hyödyllistä erityisesti jos verkkosivulla on käyttäjiä eri puolilla maapalloa ja sivusto on useilla sijainneissakin saatavilla eri IP:llä. GeoDNS osaa näin vastata pyyntöihin sijaintikohtaisesti.

Asenna PowerDNS palvelimelle

 sudo apt install pdns-backend-geoip libgeoip-dev libyaml-cpp-dev

Luo tiedosto /etc/powerdns/pdns.d/pdns.local.geoip.conf

launch+=geoip
geoip-database-files=/usr/share/GeoIP/GeoIP.dat,/usr/share/GeoIP/GeoIPv6.dat
geoip-zones-file=/etc/powerdns/geo.yml
#geoip-dnssec-keydir=

Luo tiedosto sitten /etc/powerdns/geo.yml ja liitä alla oleva konffi tiedostoon. Kirjaa tänne verkkotunnuksen tietueet. Ole tarkkana ettet muuta ollenkaan synktaksia ja välilyöntejä. YAML on todella tarkka näistä joten älä muuta tätä.

domains:
- domain: geo.example.org
  ttl: 60
  records:
    geo.example.org:
       - soa: ns.example.org. geoman.example.org. 1 7200 3600 86400 60
       - ns:  ns.example.org.
    deu.geo.example.org:
       - a: 192.0.0.2
       - txt: Guten Tag
    esp.geo.example.org:
       - a: 192.0.0.10
       - txt: Muy buenos dias
       - loc: 40 8 43.041 N 3 21 42.539 W 714m 10m 100m 10m
    "*.geo.example.org":
       - a: 127.0.0.53
       - txt: I don't know exactly where you are
  services:
     www.geo.example.org: '%co.geo.example.org'

Käynnistä PowerDNS uudelleen

 sudo service pdns restart

Testaa GeoDNS:sää eri sijainneista dig komennolla

 dig www.geo.example.org @ns.example.org

Debug

Tarkista kaikki zonet

 sudo pdnsutil check-all-zones
Mainos / Advertisement: