Természetesen ez az oldal is használ cookie-kat.
Nem tetszik?

Nem, elmegyek
home

T  h  e
D a r k
S i t e

Magánjellegű internetes dokumentációs és publikációs felület és kísérleti weboldal a Morkpy tartalomkezelő rendszer fejlesztési folyamatainak tesztelésére és szemléltetésére

PowerDNS telepítés

dark Dokumentáció 2021-12-06 20:20:00

A jó öreg Bind névszerver évtizedeken keresztül jól bevált. Basszunk ki magunkkal és vezessünk be helyette valami újat!


Szükséges csomagok

apt install pdns-server pdns-recursor pdns-backend-mysql dnsdist

Konfiguráció

Az authoritatív

Ez az a rész, ami az illetékességhez kell. Azaz, ha az enyém a morknat.hu domain, akkor kell nekem egy authoritatív elsődleges és másodlagos dns szerver.

/etc/powerdns/pdns.conf

api=yes
api-key=apitapi
include-dir=/etc/powerdns/pdns.d
launch=
local-address=127.0.0.1
local-port=5300
master=yes
security-poll-suffix=
setgid=pdns
setuid=pdns
slave=yes
webserver=yes
webserver-address=0.0.0.0
webserver-allow-from=0.0.0.0/0,::/0
webserver-port=8081

/etc/powerdns/pdns.d/gmysql.conf

Igen, olyat tud, hogy MySQL-ben tárolja a zónák adatait.

launch+=gmysql
gmysql-host=localhost
gmysql-port=3306
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=jóamatőrlennehaidemásoltamvolna
gmysql-dnssec=yes

A rekurzor

/etc/powerdns/recursor.conf

Nem úgy, mint a Bind-nél, ez itt egy külön mutatvány. Enélkül a Powerdns nem fog névfeloldást produkálni sem a localhost, sem a helyi hálózat számára.

forward-zones=example.com=127.0.0.1:5300
hint-file=/usr/share/dns/root.hints
include-dir=/etc/powerdns/recursor.d
local-address=127.0.0.1
local-port=5301
lua-config-file=/etc/powerdns/recursor.lua
quiet=yes
security-poll-suffix=
setgid=pdns
setuid=pdns

MySQL

CREATE DATABASE IF NOT EXISTS `powerdns` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE OR REPLACE USER 'powerdns'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON `powerdns`.* TO 'powerdns'@'%';
FLUSH PRIVILEGES;
mysql -u root -p powerdns

Dnsdist

Csak, hogy ne legyen már olyan egyszerű. Az authoritatív és a rekurzor szerverek a localhost-on tanyáznak és még csak nem is a szokásos UDP 53-as porton. A külvilág számára a dnsdist lesz látható, ami eldönti, hogy a beérkező kéréseket melyik szervernek érdemes továbbítani.

/etc/dnsdist/dnsdist.conf

setSecurityPollSuffix("")

setLocal('127.0.0.1:53')
addLocal('192.168.12.3:53')
setACL({'0.0.0.0/0', '::/0'})

newServer({address='127.0.0.1:5300', pool='auth'})
newServer({address='127.0.0.1:5301', pool='recursor'})

recursive_ips = newNMG()
recursive_ips:addMask('127.0.0.0/8')
recursive_ips:addMask('192.168.12.0/24')

addAction(NetmaskGroupRule(recursive_ips), PoolAction('recursor'))
addAction(AllRule(), PoolAction('auth'))

PowerDns-Admin

Webes felület.

2021. december 06. hétfő

docker-compose.yml

version: '3'
services:
  powerdns-admin:
    image: ngoduykhanh/powerdns-admin:latest
    network_mode: bridge
    ports:
      - 192.168.12.3:9191:80
    extra_hosts:
      - docker:172.17.42.1
    volumes:
      - ./volumes/data:/data
    environment:
      - SECRET_KEY=összevisszakarakterek
    restart: always