Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).
OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
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: