V pátek 6. a sobotu 7. března proběhl v pražském sídle Nejvyššího kontrolního úřadu (NKÚ) Hackathon veřejné správy 7.1. Publikovány byly vytvořené aplikace. V kategorii projektů rozvíjených z krajského kola zvítězil tým „Mackokládi“. Čtyři středoškoláci ze Dvora Králové uspěli s aplikací KompaZ. Jde o digitálního průvodce, který pomůže s rychlou a srozumitelnou orientací v životních i krizových situacích „krok za krokem“. Aplikace
… více »QGIS, svobodný desktopový GIS, byl vydán v nové hlavní verzi 4.0. Změny zahrnují několik nových analytických a editačních funkcí, rozšíření podpory 3D, více možností úprav uživatelského rozhraní či mnoho dalších zlepšení použitelnosti. Řada 3.44 má aktualizace plánovány do září.
Dan Blanchard vydal knihovnu pro Python chardet v nové verzi 7.0.0. S novou verzí byla knihovna přelicencována z LGPL na MIT. Souhlasili s tím všichni přispěvatelé? Dan Blanchard souhlasy vůbec neřešil. Zaúkoloval umělou inteligenci (Claude), aby knihovnu zcela přepsala a výslovně jí nařídil, aby nepoužila žádný LGPL kód. Dan Blanchard tvrdí, že se jedná o clean room design. Protistrana argumentuje, že umělá inteligence byla trénována
… více »Andy Nguyen si na svou herní konzoli PlayStation 5 (PS5) pomocí exploitu Byepervisor nainstaloval Linux (Ubuntu). V Linuxu si spustil Steam a PS5 tak proměnil v Steam Machine. Na PS5 může hrát hry, které jsou vydané pouze pro PC a jsou na Steamu [Tom's Hardware].
Správce sbírky fotografií digiKam byl vydán ve verzi 9.0.0. Jedná se o větší vydání provázené aktualizacemi knihoven. Mnoho dílčích změn se vedle oprav chyb týká uživatelského rozhraní, mj. editace metadat.
Byla vydána verze 2026 distribuce programu pro počítačovou sazbu TeX s názvem TeX Live (Wikipedie). Přehled novinek v oficiální dokumentaci.
Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].
Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.
Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.
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ší.
Nejdříve si ujasníme základní pojmy.
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.
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.
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.
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:
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:
/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'))
/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
/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.
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
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
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
Tiskni
Sdílej:
knot jsem zkousel, ale to je pro muj ucel kanon na orla. A take je od cznicu, ktery nemam rad.