Ero sivun ”Powerdns” versioiden välillä
(30 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 PowerDNS ja MariaDB-tietokantapalvelin | |
− | + | Ubuntu 16.04 LTS | |
− | + | <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 | |
− | == | + | <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> | ||
− | + | Luo tietokantapalvelimelle käyttäjätili ja tietokanta powerdns:sää varten | |
− | + | 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> | ||
− | + | Luo PowerDNS-palvelimelle tietokanta ohjeen mukaisesti: https://doc.powerdns.com/md/authoritative/backend-generic-mysql/#Default Schema | |
− | |||
− | + | Konfiguroi PowerDNS:n tietokantayhteys | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
− | + | launch+=gmysql | |
− | |||
+ | # gmysql parameters | ||
gmysql-host=127.0.0.1 | gmysql-host=127.0.0.1 | ||
− | gmysql- | + | gmysql-port=3306 |
− | |||
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 | ||
− | + | sudo service pdns restart | |
== Asenna ja konfiguroi Poweradmin == | == Asenna ja konfiguroi Poweradmin == | ||
Rivi 73: | Rivi 87: | ||
Pura tiedosto | Pura tiedosto | ||
− | tar - | + | 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 137: | Rivi 151: | ||
Kirjaudu sisälle. | Kirjaudu sisälle. | ||
+ | == PowerDNS Master-Slave == | ||
− | + | Asennetaan molempiin palvelimiin PowerDNS ja MariaDB-palvelin. | |
− | + | <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> | ||
− | + | Luo tietokantapalvelimelle käyttäjätili ja tietokanta powerdns:sää varten | |
− | + | 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> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 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 | |
<pre> | <pre> | ||
− | + | launch+=gmysql | |
− | |||
+ | # gmysql parameters | ||
gmysql-host=127.0.0.1 | gmysql-host=127.0.0.1 | ||
− | gmysql- | + | gmysql-port=3306 |
− | |||
gmysql-dbname=pdns | gmysql-dbname=pdns | ||
+ | gmysql-user=pdns | ||
+ | gmysql-password=XXXXXXX | ||
+ | gmysql-dnssec=yes | ||
+ | # gmysql-socket= | ||
</pre> | </pre> | ||
− | === | + | === 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. | |
<pre> | <pre> | ||
− | + | allow-axfr-ips=192.168.22.1 | |
− | ... | + | also-notify=192.168.22.1 |
− | + | disable-axfr=no | |
− | + | master=yes | |
− | + | slave=no | |
− | + | version-string= | |
− | |||
</pre> | </pre> | ||
− | + | === Slave -palvelin konfiguraatio === | |
− | + | Konfiguroi PowerDNS -Slave palvelin | |
− | + | 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> | ||
− | + | 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 | |
<pre> | <pre> | ||
− | + | DS = example.org. IN DS <serial> 8 2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ; ( SHA256) digest) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | + | Poista DNSSEC käytöstä. Poistathan myös verkkotunnuksen juuresta DNSSEC käytöstä! | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | DNSSEC | ||
− | |||
− | |||
− | + | sudo pdnsutil disable-dnssec example.org | |
==== Konfiguroi .fi domainille ==== | ==== Konfiguroi .fi domainille ==== | ||
Rivi 304: | Rivi 282: | ||
Ja sitten ajetaan | Ja sitten ajetaan | ||
− | pdnsutil secure-zone domain.fi | + | 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 === |
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.
Sisällysluettelo
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ä.
2. Määritä kieli, englanti
3. Lue ohjeet
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.
5. Luo uusi poweradmin käyttäjä.
6. Aloita asennus
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