Quo vadis Knot DNS?

Uběhl téměř rok od doby, kdy z Laboratoří CZ.NIC vyšla první ostrá verze autoritativního DNS serveru Knot DNS. Kde všude běží a co na něj říkají uživatelé?

Začátky byly skromné, o to více nás proto potěšil zájem komunity, která se nám stará o balíčky a porty. Můžete nás najít například v linuxových distribucích Ubuntu, Fedora, Gentoo a openSUSE. Co se BSD balíčků a portů týče, tak FreeBSD a NetBSD. Zároveň nás velmi potěšilo zařazení do programu Coverity Scan, nástroje pro statickou analýzu kódu, která je pro open-source software zcela zdarma. Statická analýza nám pomohla odhalit několik zajímavých chyb a přispěla tak celkově ke zkvalitnění kódu.

Ale zpět k uživatelům. Prvním velkým nasazením byly domény CZ.NICu. První vlaštovkou byla doména knot-dns.cz, později se přidávaly další a nakonec i samotná doména .cz, kde Knot DNS můžete najít v anycastovém uzlu. Počáteční problémy nám byly neocenitelnou zpětnou vazbou a napomohly k odladění řady chyb. Přestože byl Knot DNS původně zaměřen pro větší TLD, našel si cestu i k hostingovým společnostem a jednotlivcům. Z českých mohu zmínit například společnosti HOSTING90 a igloonet.

Naším nejnovějším velkým přírůstkem v zahraničí je dánská .dk doména, kde se Knot DNS zatím zdárně rozbíhá :). V experimentálním provozu server kořenové zóny L-root a ruská .ru doména. U kořenové zóny se projevil problém s nedostatečnou kompresí jmen mimo zónu, do odpovědi se tak bez EDNS0 nevešla část záznamů v Additionals sekci. Tento problém byl již odstraněn, snad se tedy dostane do ostrého provozu. Nejčastěji si pak uživatelé chválí jednoduchost, rychlost a také možnost přidávat a odebírat zóny za běhu. Co naopak doposud chybělo, je DDNS, jednoduché statistiky a možnost vzdáleného ovládání.

A co máme v plánu do budoucna? K Vánocům vám nadělíme verzi 1.2, která přinese podporu pro DDNS a po novém roce dlouho chystanou verzi s optimalizovanou spotřebou paměti, novou ovládací utilitou a bleskurychlým načítáním zón.

Marek Vavruša

Autor:

Komentáře (6)

  1. Kepi říká:

    Díky za výborný DNS server a těším se na novinky.

  2. Honza Jaroš říká:

    Co se týče DDNS, půjde nějak oddělit statické a dynamické záznamy v zónových souborech? Protože to mi u BINDu chybí, tam se oba typy záznamů v zónových souborech míchají a je z toho nepřehledný guláš. U Knotu se, pokud vím (praktické zkušenosti s Knot DNS zatím nemám), zóny před použitím nějak kompilují, takže tam by snad tyhle problémy být nemusely; je tomu tak skutečně…?

  3. Marek Vavruša říká:

    Moc díky za komentáře, těší mě :)
    Dynamickými záznamy myslíte záznamy přidané jednotlivými aktualizacemi?
    Nebo generované (např. podpisy záznamů) odděleně?

    Pokud jde o záznamy přidané jednotlivými aktualizacemi, tak by to asi nebylo hezké v případě, že se odebírá nebo přidává větší množství záznamů.
    Pokud jde o generované, je pravda, že udržovat podpisy zvlášt by bylo v některých případech přehlednější, zamyslíme se nad tím.
    K poslední otázce – u Knot DNS se zóny před použitím kompilují, ale jde především o urychlení načítání zóny a tedy i startu serveru.

  4. Honza Jaroš říká:

    No prostě když si nastavím u Bindu třeba aktualizace záznamů z DHCP, smíchají se mi v textovém zónovém souboru s těmi, které jsem tam zadal ručně. Zónový soubor nejde (nebo alespoň nevím že by šlo) rozdělit na dva, kde by záznamy přidané ručně byly v jednom a ty přidané přes DHCP v druhém. Nebo že by alespoň záznamy přidané přes DHCP zůstávaly v bínárních *.jnl souborech a do textových zónových souborů se vůbec nevypisovaly.

    Takže jsem se ptal jak tomu má být v případě DDNS (doufám, že mluvíme o tomtéž – prostě DNS záznamy dynamicky aktualizované z jiných zdrojů, třeba z toho DHCP) u Knotu, jestli „zdrojové“ soubory zón budou zůstávat stejné, nebo jestli se do nich ty dynamické změny taky budou promítat…

  5. Marek Vavruša říká:

    Tak už si rozumíme. No u Knot DNS je to tak, že změny z žurnálu (obdoba *.jnl) se v pravidelných intervalech (pokud se něco změnilo) se přenáší i do textového zónového souboru. Interval ovlivnuje volba „zonefile-sync“ u konfigurace zón, viz ukázkový konfigurační soubor. Jde nastavit velmi vysoká hodnota, a potom se změny do zónového souboru vůbec nepřenáší a zůstanou jen v v žurnálu. Na druhou stranu, ten není nafukovací a pokud se stane, že překročí nastavenou velikost (třeba několik GB), tak nemůže vyprázdnit nejstarší změny aniž by je první promítl do zónového souboru. Řešení to tedy není definitivní,
    i když jako překlenovací možné.

    Zamyslím se nad tím, jestli by bylo vhodné (a jak náročné) dynamické změny ukládat do zvláštního zónového souboru, který následně uvést pomocí include. Díky za nápad!

  6. Honza Jaroš říká:

    Jo! Jo! Joooo! :-)
    Tohle by pro mě byla ta správná „killer feature“. Viděl jsem i různě po webu, že to lidi řešili – a nevyřešili. Já to nakonec na jednom místě obešel kombinací Bindu pro DDNS+forwarder a před ním předřazeným dnsmasqem pro statické záznamy, ale to je takové … neelegantní. Nemluvě o nutnosti zajistit synchronizaci konfigurace dnsmasqu se sekundárním serverem a větším riziku bezpečnostních chyb.
    Takže předem díky.

Napsat komentář: Marek Vavruša Zrušit odpověď na komentář

Všechny údaje jsou povinné. E-mail nebude zobrazen.

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..