abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 18:22 | Nová verze

Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 9.0. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
dnes 14:00 | Komunita

Lars Knoll oznámil, že po 25 letech v ekosystému Qt, z toho 22 let pracující pro různé společnosti vlastnící Qt, odchází ze společnosti The Qt Company do malého norského startupu.

Ladislav Hagara | Komentářů: 1
dnes 13:22 | Zajímavý projekt

Na Kickstarteru běží kampaň na podporu mini ITX desky Turing Pi 2 Cluster Computer. Vložením 4 výpočetních modulů, podporovány jsou Raspberry Pi 4, Turing RK1 a Nvidia Jetson, lze získat 4uzlový cluster. Cena desky je 219 dolarů.

Ladislav Hagara | Komentářů: 1
dnes 10:00 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 198. brněnský sraz, který proběhne v pátek 20. května tradičně od 18 hodin v Pivovarské restauraci Moravia.

Ladislav Hagara | Komentářů: 2
dnes 07:00 | Zajímavý software

Byla vydána nová verze 0.25 herního enginu Fyrox, původně rg3d. Přehled novinek s kódy, náhledy i videi v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
dnes 00:11 | Nová verze

Multiplatformní audio přehrávač Qmmp (Wikipedie) byl vydán ve verzi 2.1.0. Z novinek lze zmínit například podporu XDG Base Directory Specification.

Ladislav Hagara | Komentářů: 0
včera 23:22 | Komunita

Letošní konference LibreOffice proběhne 28. září až 1. října v Bolzanu. The Document Foundation hledá přednášející.

Zdeněk Crhonek | Komentářů: 0
včera 14:11 | Zajímavý článek

Jiří Eischmann na MojeFedora.cz řeší, jak zlepšit konzistenci mezi GTK 4 a GTK 3. Pokud už používáte Fedora 36 Workstation, asi jste si všimli, že vzhled aplikací není tak konzistentní jako dřív. Aplikace, které jsou už portované na GTK 4 mají "ploché" téma vzhledu definované knihovnou libadwaita. Aplikace používající GTK 3 zůstávají u původního tématu Adwaita.

Ladislav Hagara | Komentářů: 13
včera 12:33 | Pozvánky

Byl zveřejněn program konference InstallFest 2022. Konference proběhne o víkendu 11. a 12. června v Praze na Karlově náměstí 13.

Ladislav Hagara | Komentářů: 1
včera 09:44 | Nová verze

Rocky Linux 8.6, klon Red Hat Enterprise Linuxu (RHEL) 8.6, byl vydán. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
Na sociálních sítích nebo jiných webových diskuzích vystupuji pod
 (61%)
 (17%)
 (23%)
Celkem 271 hlasů
 Komentářů: 23, poslední dnes 16:14
Rozcestník

PowerDNS - Autoritativní i rekurzivní dns server s klikátkem

17.1. 08:00 | Přečteno: 1520× | linux | poslední úprava: 17.1. 08:00

Je to už delší doba, co jsem sepsal článek PowerDNS – přívětivý a jednoduchý DNS server. Od té doby se toho hodně změnilo. Takže opět uvolním nějaký malý výcuc z interní dokumentace.

Úvod

PowerDNS se stále u nás používá v interní síti jako autoritativní dns server pro některé domény i jako rekurzivní dns server. Je to dáno historicky, je to dáno kvůli nezasírání si dns serverů v rámci Active Directory, ale i kvůli dalším věcem. PowerDNS se stále hodně vyvíjí a architektura se postupně přepracovala. Důvod, proč jako předsazený dns server nepoužíváme bind, je stále stejný. PowerDNS podporuje mysql, jsou k dispozici pěkná grafická klikátka a pro menší klikací nasazení je to tedy podle mě vhodnější.


Slovníček pojmů

Nejdříve si ujasníme základní pojmy.

Autoritativní DNS server

Jedná se o server, kde jsou vedeny domény. Dotazy na domény tedy nikam nepřeposílá, ale jen obhospodařovává to, co je na něm nastaveno. Typickým příkladem jsou dns servery webhostingů. Když se jich zeptáte na nějakou doménu, která není u nich vedena, tak odpoví, že jí neznají. Nepřepošlou dotaz dál a nepřeloží vám to.


Rekurzivní DNS server

Jedná se o dns server, který kešuje a přeposílá dotazy. Když se ho zeptáte na cokoli, tak odpoví a správně přeloží. Na rekurzivním dns serveru nejsou vedeny domény, funguje opravdu jen jako kešovací brána pro překlady. Typickým příkladem jsou dns servery poskytovatelů připojení k internetu.


Rekurzivní i autoritativní DNS server v jednom?

Je možné mít jednu službu, kde jsou vedeny nějaké domény, a když je nezná, přepošle dotaz dál. Od tohoto konceptu se ale ustupuje. A jeden z hráčů, který tak učinil, je i PowerDNS.

V původním článku má PowerDNS autoritativní část i rekurzivní část v rámci jednoho serveru. Od verze 4.1.0 byla rekurzivní část separována do vlastní služby. Tj. autoritativní část i rekurzivní část běží na vlastním portu.


Architektura PowerDNS

Já chci mít ve firmě PowerDNS, klikací a chci ho mít jako autoritativní i jako rekurzivní. Jak toho docílit? Řekli jsme si, že jsou tyto části rozděleny a každá běží na svém portu. Obě tedy nemohou běžet na portu 53. Jak to tedy funguje? Jednoduše, ani jedna nepoběží na portu 53 :).

Princip je jednoduchý, autoritativní část i rekurzivní část poběží na localhostu. Autoritativní část poběží třeba na portu 5300 a rekurzivní část třeba na portu 5301. Na portu 53 pak poběží load balancer, který bude podle politik rozhazovat komunikaci. Jako dns balancer se používá dnsdist. PDNS má note, jak provést migraci: Migrating from using recursion on the Authoritative Server to using a Recursor.

V původním článku bylo zmíněno jako klikací web rozhraní PowerAdmin, který se stále vyvíjí a jedná se asi o nejlepší klikací web rozhraní pro PowerDNS, které podporuje i dnssec. Pro mé použití jsem v době minulé zkusil zaexperimentovat a nasadil jsem PDNS Manager. Důvodů bylo několik malicherných, je to jednodušší, pěknější a v tu chvíli mi to více vyhovoval. Každý, nechť se rozhodne sám, co použije a jak.

Finální architektura nakonec vypadá takto:
PowerDNS Architecture


Konfigurace

Jak vidíte z architektury, tak nejdříve jde komunikace na dnsdist, který požadavky přesměruje na recursor. Ten se pak postará o rozhození správným směrem. Dnsdist komunikuje ale i s autoritativním PowerDNS kvůli transféru domén s dalšími dns servery. Tj. kvůli axfr komunikaci. V síti máme další dns servery, které fungují jako slave a dělá se na ně transfer dns zón. Těmi dns servery jsou: 192.168.1.1, 192.168.1.2, 192.168.1.3. Konfigurace pak tedy bude vypadat takto:


dnsdist

/etc/dnsdist/dnsdist.conf

addLocal('0.0.0.0:53')
addACL('0.0.0.0/0')

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

-- AXFR ACL
addAction(AndRule{
    OrRule{
        QTypeRule(dnsdist.AXFR),
        QTypeRule(dnsdist.IXFR)
    },
    NotRule(OrRule{
        -- localhost
        makeRule('127.0.0.1'),
        makeRule('::1'),
        -- A slave
        makeRule('192.168.1.1'),
        makeRule('192.168.2.1'),
        makeRule('192.168.3.5'),
    })
}, RCodeAction(dnsdist.REFUSED))


-- Notify ACL
addAction(AndRule{
    OpcodeRule(DNSOpcode.Notify),
    NotRule(OrRule{
        -- My superslave
        makeRule('192.168.1.1'),
        makeRule('192.168.2.1'),
        makeRule('192.168.3.1'),
    })
}, RCodeAction(dnsdist.REFUSED))


-- AXFR and Notify Target
addAction(OrRule{
    QTypeRule(dnsdist.SOA),
    QTypeRule(dnsdist.AXFR),
    QTypeRule(dnsdist.IXFR),
    OpcodeRule(DNSOpcode.Notify)
}, PoolAction("auth"))


-- IP address for redirect to recursor:
recursive_ips = newNMG()
recursive_ips:addMask('0.0.0.0/0')

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


PowerDNS - autoritativní

/etc/powerdns/pdns.conf

...
allow-axfr-ips=127.0.0.1
allow-unsigned-supermaster=no
also-notify=192.168.1.1,192.168.1.2,192.168.1.3
daemon=yes
disable-axfr=no
guardian=yes
local-port=5300
log-dns-queries=no
master=yes
trusted-notification-proxy=127.0.0.1
webserver=yes
webserver-address=0.0.0.0
webserver-allow-from=127.0.0.1,::1
webserver-password=heslo
webserver-port=8081
version-string=powerdns
...

/etc/powerdns/pdns.d/mysql.conf

launch=gmysql

gmysql-host=localhost
gmysql-port=3306
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=heslo123
gmysql-dnssec=no


PowerDNS - rekurzivní

/etc/powerdns/recursor.conf

...
daemon=yes
forward-zones-file=/etc/powerdns/recursor_forward_zones.conf
forward-zones-recurse=.=8.8.8.8
hint-file=/usr/share/dns/root.hints
local-address=0.0.0.0
local-port=5301
quiet=yes
...
/etc/powerdns/recursor_forward_zones.conf
devaine.local=127.0.0.1:5300
dcera.local=192.168.58.2
corp.devaine.cz=192.168.1.151:53;192.168.1.152:53


Jak vidíte, tak nastavení je jednoduché. Trochu složitější je zpočátku proniknout do nastavení politik co a jak kam směrovat u dnsdist, ale jinak je to vše úplně v klidu.


Sekundární DNS server

V původním článku jsem dělal sync dns zón na sekundární dns server pomocí syncu databáze. To jsem také časem změnil a sync dělám pomocí axfr transféru dns zón. Jinými slovy, uvedenou konfiguraci PowerDNS+dnsdist mám úplně stejně na dalším serveru, jen s tím rozdílem, že autoritativní část je nastavena takto:

/etc/powerdns/pdns.conf

...
allow-axfr-ips=127.0.0.1
allow-unsigned-supermaster=no
#also-notify=192.168.1.1,192.168.1.2,192.168.1.3
daemon=yes
disable-axfr=no
guardian=yes
local-port=5300
log-dns-queries=no
master=yes
slave=yes
slave-cycle-interval=60
trusted-notification-proxy=127.0.0.1
webserver=yes
webserver-address=0.0.0.0
webserver-allow-from=127.0.0.1,::1
webserver-password=heslo
webserver-port=8081
version-string=powerdns
...

/etc/powerdns/pdns.d/mysql.conf

launch=gmysql

gmysql-host=localhost
gmysql-port=3306
gmysql-dbname=powerdns
gmysql-user=powerdns
gmysql-password=heslo123
gmysql-dnssec=no


Diagnostika

Pokud chceme nějak diagnostikovat problémy s dns, tak základ je samozřejmě program "dig" z balíčku dnsutils. Tento program je něco jako nslookup, ale lepší. Pár příkladů:

# pošli dotaz na konkrétní dns server
dig @8.8.8.8 devaine.cz

# zdiagnostikuj autoritativní část z příkladu
dig @127.0.0.1 -p 5300 corp.devaine.cz

# zeptej se na mx záznam
dig @8.8.8.8 abclinuxu.cz mx

# zeptej se na txt záznam
dig @8.8.8.8 heronovo.cz txt

# zeptej se na rdns
dig -x 23.88.41.116

Dobrým nástrojem, který nám pomůže diagnostikovat problémy s rekurzorem je "rec_control":

# zjistit stav konkrétního záznamu
rec_control dump-cache /tmp/dns-cache.txt
cat /tmp/systemd-private-8e23dc6a1549477f9873f6b5594c873a-pdns-recursor.service-oBkeOV/tmp/dns-cache.txt

# smaž z cache
rec_control wipe-cache corp.devaine.cz

# zobraz aktuální dotazy
rec_control current-queries

# zobraz top
rec_control top-queries

Dalším nástrojem je "pdns_control", který slouží k ovládání dns serveru, pár příkladů

# jak dlouho běží služba
pdns_control uptime

# přehled zón na serveru
pdns_control list-zones

# zjisti, zda služba žije
pdns_control rping

# zobraz všechny statistiky
pdns_control show '*'

# zobraz konkrétní statistiku
pdns_control show udp4-queries


Závěr

Myslím si, že nemá smysl psát ucelený návod typu step2step jako v předchozím článku. Kdo chce grafické klikátko, tak si ho doinstaluje úplně stejně jako je v předchozím článku uvedeno, jinak se nic dalšího nemění.

A jak jste na tom vy? Co používáte a jak?

Zdar Max

       

Hodnocení: 100 %

        špatnédobré        

Anketa

Jak jste na tom? Co používáte?
 (48 %)
 (16 %)
 (20 %)
 (16 %)
 (7 %)
 (18 %)
 (7 %)
 (5 %)
 (11 %)
Celkem 44 hlasů

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

17.1. 10:28 MP
Rozbalit Rozbalit vše Re: PowerDNS - Autoritativní i rekurzivní dns server s klikátkem
Co se tyce grafickeho klikatka, tak jsem trochu nestastny. Puvodni PowerAdmin jiz neni vyvyjeny, takze momentalne vse konfiguruji pres cli, a jako nouzovou variantu mam Pdns Admin, cili misto klasickeho php nejaky kontejner s x technologiemi, coz se mi spatne dava do konfig managementu. A timpadem mam problem s moznosti vyuzivat Let's Encrypt.

Dnsdist pouzivam taky, ale mam to predrazene az pred auth servery, kdyz jsem kreslil redundantni schema vcetne ruznych forwardu intranetovych/public zon, tak dnsdist pred rekurzory mi vyrobil krasne neresitelne smycky. Jen si clovek musi davat bacha pri upgradech dnsdist, velmi radi meni nazvy funkci, coz se config managementem spatne vykryva, taky jsem na tom mel uz pekny firemni vypadek.

Max avatar 17.1. 10:54 Max | skóre: 70 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: PowerDNS - Autoritativní i rekurzivní dns server s klikátkem
PowerAdmin se ale pořád vyvíjí, jen to UI má myslím pořád strašný. Pokud jde o pdns admin, tak docker přece používat nemusíš, ne?
Zdar Max
Měl jsem sen ... :(
17.1. 11:48 MP
Rozbalit Rozbalit vše Re: PowerDNS - Autoritativní i rekurzivní dns server s klikátkem
Tak PowerAdmin - to je nejaka novinka, protoze pred rokem a vice to rozhodne bylo neudrzovany repo.

Eh, nahradou jsem pouzil Powerdns-Admin, coz kdyz se clovek podiva na postup instalace mimo kontejner - https://github.com/PowerDNS-Admin/PowerDNS-Admin/wiki/Running-PowerDNS-Admin-on-Ubuntu-or-Debian, tak ...
Max avatar 17.1. 12:19 Max | skóre: 70 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: PowerDNS - Autoritativní i rekurzivní dns server s klikátkem
Na ten postup jsem právě koukal a buď jsem už sešlehaný časem a jinýma řešeníma, nebo nevím, ale mě to nepřijde složitý. MySQL + Node.js + Python + bych před to dal Nginx jako reverzní proxy. Easy peasy :).
Zdar Max
Měl jsem sen ... :(
17.1. 13:50 MP
Rozbalit Rozbalit vše Re: PowerDNS - Autoritativní i rekurzivní dns server s klikátkem
a k tomu yarn, flask, pip prikazy...

Jaky rozdil nastavit nginx + slozku + nahrat primo zdrojaky...
Max avatar 17.1. 13:53 Max | skóre: 70 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: PowerDNS - Autoritativní i rekurzivní dns server s klikátkem
Pokrok nezastavíš, no :).
Zdar Max
Měl jsem sen ... :(
17.1. 10:53 Mayhem
Rozbalit Rozbalit vše Re: PowerDNS - Autoritativní i rekurzivní dns server s klikátkem
Pro me ucely vzdy dostacoval bind, ale pak jsem objevil dnsmasq a zamiloval jsem si jej. :-D knot jsem zkousel, ale to je pro muj ucel kanon na orla. A take je od cznicu, ktery nemam rad.
6.5. 11:15 Bangalore Escorts
Rozbalit Rozbalit vše Re: PowerDNS - Autoritativní i rekurzivní dns server s klikátkem
Excellent you will be positioned way way up. My companion and i also manage every day of the week on your web sites. Demonstrate thanks a individual for featuring this specific academics real fact. || Bangalore Escorts || Escorts in Bangalore || Call Girls in Bangalore || Bangalore Call Girls || Escorts Service in Bangalore
6.5. 11:17 Bangalore Escorts
Rozbalit Rozbalit vše Re: Escorts Service in Bangalore
Normally the spectacular take away there in buy to choose the picture superbly. Of which often much even more appropriate in typically the event the lighting effects accesories with typically the cleanout is probably minor. || Bangalore Escorts || Escorts in Bangalore || Call Girls in Bangalore || Escorts Service in Bangalore || Bangalore Escorts Service || Bangalore Escorts
6.5. 11:18 Bangalore Escorts
Rozbalit Rozbalit vše Re: Bangalore Escorts Service
The partner together with my companion together with I expect it will take spot to possibly be a new handful of typically the particularly adorable recommendations of massive facts files for professionally. || Bangalore Escorts || Escorts in Bangalore || Call Girls in Bangalore || Bangalore Call Girls || Escorts Service in Bangalore
6.5. 11:20 Bangalore Escorts
Rozbalit Rozbalit vše Re: Escorts in Bangalore
Great information receiving write-up. This certain sort of position up is absolutely actually attractive inside of this key problem. || Bangalore Escorts || Escorts in Bangalore || Call Girls in Bangalore || Bangalore Call Girls || Escorts Service in Bangalore || Bangalore Escorts Service

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.