Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:dns_szerver:powerdns

< DNS szerver

PowerDNS

  • Szerző: Sallai András
  • Copyright © Sallai András, 2012, 2013
  • Licenc: GNU Free Documentation License 1.3

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

oktatas/linux/dns_szerver/powerdns.txt · Utolsó módosítás: 2019/08/16 21:43 szerkesztette: admin