Mainos / Advertisement:

Ero sivun ”Powerdns” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
Rivi 324: Rivi 324:
  
 
   sudo service pdns restart
 
   sudo service pdns restart
 +
 +
Testaa GeoDNS:sää eri sijainneista dig komennolla
 +
 +
  dig www.geo.example.org @ns.example.org

Versio 24. toukokuuta 2017 kello 20.18

Powerdns on avoimen lähdekoodilla varustettu DNS palvelinohjelmisto.


Asenna Mysql - tietokantapalvelin

Asennetaan pakettihallinnasta mysql-server ja mysql-client paketit

 sudo apt install mysql-server mysql-client

Vaihtoehtoisesti voit asentaa MariaDB:n.

Asenna ja konfiguroi PowerDNS

Lisää Source.listiin PowerDNS:än oma source niin saat uudemmat paketit: https://repo.powerdns.com/

 sudo apt install install pdns-server pdns-backend-mysql

Määritä asennuksessa käyttäjätunnus ja salasana tietokantaan.

Avaa PowerDNS konfigurointitiedosto pdns.conf

 nano /etc/powerdns/pdns.conf

lisää tiedostoon launch kohtaan gmysql:

 launch=gmysql

Avaa pdns.local.conf ja määritä se seuraavanlaiseksi:

# Here comes the local changes the user made, like configuration of
# the several backends that exists.

gmysql-host=127.0.0.1
gmysql-user=root
gmysql-password=Qwerty1
gmysql-dbname=pdns


Käynnistä palvelu uudelleen

 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 -xvfz poweradmin-2.1.7.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.


DNS Server Cluster

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.

Vaihtoehtoisesti voit tehdä MariaDB:llä Calera clusterin.

Käytössämme siis on MASTER = Pääpalvelin ja SLAVE = Varapalvelin

SLAVE: Asenna MySQL ja PowerDNS

Asenna Mysql-server ja PowerDNS Slave DNS palvelimeen

 sudo apt install mysql-server mysql-client pdns-server pdns-backend-mysql

Avaa powerdns konfigurointi tiedosto pdns.conf:

 nano /etc/powerdns/pdns.conf

Etsi kohta launch ja määritä se seuraavanlaiseksi:

 launch=qmysql

Avaa pdns.local.conf

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

Määritä se seuraavanlaiseksi:

# Here comes the local changes the user made, like configuration of
# the several backends that exists.

gmysql-host=127.0.0.1
gmysql-user=root
gmysql-password=Qwerty1
gmysql-dbname=pdns

MASTER: MySQL Replication

Konfiguroidaan pääpalvelimeen Mysql replication,

Avaa Mysql-server konfigurointi tiedosto my.conf

 nano /etc/mysql/my.conf

Ja lisää [mysqld] alleloppuun

[mysqld]
...
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
binlog_do_db = pdns

Määritä lisäksi bind-address:

 bind-address = 0.0.0.0

Tallenna tiedosto ja käynnistä mysql-server uudelleen

 service mysql-server restart

Kirjaudu mysql-serveriin terminaalista tai käytä phpmyadminia.

 mysql -u root -p

Anna root käyttäjän salasana.

Lupdaan replicatioon käyttäjä dnsslave ja salasanaksi laitetaan Qwerty1. Sallimme vain luetettavasta IP-osoitteesta yhdistämisen.

 grant replication slave on *.* to 'pdnsslave'@'23.55.22.5;' identified by 'Qwerty1';
 flusht prifileges.

Tarkista onnistuiko

 show master status;

Komento pitäisi tulostaa tälläistä:

+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 106 | pdns | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

SLAVE: MySQL Replication

Konfiguroidaan varapalvelimeen MySQL Replication.

Avaa my.conf konfigurointi tiedosto:

 nano /etc/mysql/my.conf

Lisää [mysqld] alle:

[mysqld]
...
server-id=2
master-connect-retry=60
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
replicate-do-db=pdns

Jos laitat useampia SLAVE palvelimai, muuta vain esimerkiksi server-id=3 jne...

Käynnistä Mysql uudelleen:

 service mysql-server restart

Kirjaudu mysql palvelimelle

mysql -u root -p

Anna salasana.

Määritä master palvelin. Muista tiedot pääpalvelimelta. Näet ne sieltä show master status; 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;
 start slave;

Tarkista toiminta:

 show slave status;

Testaa

 dig example.org @dns-server1
 dig example.org @dns-server2

Lisäjuttuja

DNSSEC käyttöön verkkotunnukselle

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

 sudo pdnsutil secure-zone 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 avaimen. Testaa DNSSEC toimivuus: 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
Mainos / Advertisement: