[[oktatas:linux:dns_szerver|< DNS szerver]]
====== PowerDNS ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2012, 2013
* Licenc: GNU Free Documentation License 1.3
* Web: http://szit.hu
===== Bevezetés =====
Egy rövid leírás a PowerDNS használatáról MySQL háttérrel.
Ha szétnézünk az Interneten, Debian, Ubuntu vagy más Linuxokon hogyan is kell beállítani a PowerDNS-t, akkor
nagyon sok utasítás szerepel például az adatbázis, táblák, felhasználók létrehozásáról, konfigurálásról, stb.
Itt pedig én elintéztem a beállításokat egyetlen állománytörléssel. Miért van ez?
A jelenlegi Debian verzió a 7.2. Itt egyszerűen nem kell többről gondoskodni. A telepítő mindent megcsinál,
ha megadom a MySQL root jelszavát, majd egy jelszót a PowerDNS számára.
===== A PowerDNS-ről =====
A PowerDNS egy C++-ban írt GPL licencelésű DNS szerver. A legnagyobb előnye, hogy
többféle háttérből képes dolgozni. Rendelkezik terheléselosztó és hibakezelő algoritmusokkal, több szálas.
A PowerDNS egy authoratív, azaz illetékes szerver. Ez annyit jelent, hogy DNS zónákat tárol, zónákban illetékes.
A DNS recursor egy teljesen különálló program.
===== Telepítés MySQL háttérrel (backend) =====
Telepítsük a MySQL szervert:
apt-get install mysql-server
Telepítsük a PDNS szükséges csomagjait:
apt-get install pdns-server pdns-backend-mysql
A pdns-backend-mysql csomag telepítése létrehozza a MySQL-ban a szükséges táblákat.
===== Beállítás =====
Egyetlen fájlt kell törölni:
rm /etc/powerdns/pdns.d/pdns.simplebind
A fájlban lévő beállításokat csak telepítés utáni tesztelésre tették bele a gyártók.
===== Poweradmin =====
A PowerDNS-hez három féle webes adminisztrációs felület is ismert. Ebből egyet találunk itt, a többi weboldal megtalálható a linkek között.
Szedjük le a legújabb PHP alapú Poweradmin-t:
lynx https://www.poweradmin.org
Csomagoljuk ki, például a /var/www/poweradmin könyvtárba.
Ekkor így fogjuk elérni:
http://192.168.5.6/poweradmin/
Ha szeretnénk olyan felső szintű tartománynevet (top level domain), amely
nem valódi -- például tanulási céllal --, akkor szerkesztenünk kell
a következő állományt:
mcedit /var/www/poweradmin/inc/toolkit.inc.php
Keressük meg benne a $valid_tlds = array(); tömböt és egészítsük ki a kívánt
legfelső szintű tartománynévvel.
Például a végére írhatjuk az "and" nevet:
$valid_tlds = array(
...
...
... "zw", "and");
Ne felejtsünk el előtte vesszőt írni, és legyen idézőjelben.
Böngészőben:
http://192.168.5.6/poweradmin/install
Értelemszerűen beállítjuk.
Lesz egy ehhez hasonló SQL utasítás is. Ezt be kell másolni egy SQL parancssorba:
GRANT SELECT, INSERT, UPDATE, DELETE
ON pdns.*
TO 'joska'@'127.0.0.1'
IDENTIFIED BY '12345';
A végén kapunk egy ehhez hasonló tartalmat:
$db_host = '127.0.0.1';
$db_user = 'joska';
$db_pass = '12345';
$db_name = 'pdns';
$db_port = '3306';
$db_type = 'mysql';
$db_layer = 'PDO';
$session_key = '##Io[f0YTPc3&j!yeFm5FRgtl&Mitgfs0!C*qGe{+nCI^Q';
$iface_lang = 'en_EN';
$dns_hostmaster = 'hostmaster.kek.and';
$dns_ns1 = 'ns1.kek.and';
$dns_ns2 = 'ns2.kek.and';
Ezt el kell menteni a következő helyre:
/var/www/poweradmin/inc/config.inc.php
Kitöröljük az install könyvtárat és kész.
Persze kézzel is el lehet készíteni a fájl, a fenti könyvtárban van, hozzá egy minta:
cp /var/www/poweradmin/inc/config-me.inc.php /var/www/poweradmin/inc/config.inc.php
Szerkesszük a fájlt.
===== Zóna felvétele =====
A webfelületen bejelentkezünk:
http://192.168.5.6/poweradmin/
Felveszünk egy zónát. Egy zónának legyen minimum 1 NS rekordja és egy A rekordja a teszteléshez.
Utána parancssorban:
pdnssec rectify-zone zold.and
Ehhez hasonló eredményt látunk:
Adding NSEC ordering information
===== Tesztek =====
==== MySQL ====
Ellenőrizzük:
netstat -tap | grep mysql
Lehetséges kimenet:
root@jupiter:~# netstat -tap | grep mysql
tcp 0 0 localhost:mysql *:* LISTEN 2342/mysqld
root@jupiter:~#
==== PDNS ====
apt-get install nmap
nmap -sU localhost
Eredményben lenni kell egy ilyen sornak:
53/udp open/filtered domain
==== Hibák ellenőrzése ====
tail -f /var/log/syslog
==== Zóna tesztje ====
dig @localhost zold.and
===== Függelék =====
További kapcsolódó csomagok:
* pdns-recursor - PowerDNS recursor (caching)
* pdns-backend-geo - geo backend for PowerDNS
* pdns-backend-ldap - LDAP backend for PowerDNS
* pdns-backend-mysql - generic MySQL backend for PowerDNS
* pdns-backend-pgsql - generic PostgreSQL backend for PowerDNS
* pdns-backend-pipe - pipe/coprocess backend for PowerDNS
* pdns-backend-sqlite3 - sqlite backend for PowerDNS
* pdns-backend-sqlite - sqlite backend for PowerDNS
* pdns-doc - PowerDNS manual
* pdns-server - extremely powerful and versatile nameserver
===== Linkek =====
* http://www.powerdns.com
* http://freecode.com/projects/pdns-admin
* http://www.poweradmin.org
* http://sourceforge.net/projects/powerdnsadmin/
* http://www.howtoforge.com/installing-powerdns-with-mysql-backend-and-poweradmin-on-debian-squeeze