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 16:44 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.

    Ladislav Hagara | Komentářů: 1
    dnes 15:11 | IT novinky

    Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.

    Ladislav Hagara | Komentářů: 3
    dnes 13:55 | IT novinky

    Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

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

    Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 3
    včera 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    včera 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

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

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 02:22 | Nová verze

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (9%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (43%)
    Celkem 458 hlasů
     Komentářů: 12, poslední 14.1. 21:12
    Rozcestník

    DJBDNS – bezpečný DNS server – 2 (tinydns)

    16. 11. 2009 | Jirka Bourek | Sítě | 4592×

    Druhá a závěrečná část tutoriálu popisuje konfiguraci samotného DNS serveru (tinydns). Vše je vysvětleno na příkladech, ve kterých jako figurant slouží adresa abclinuxu.cz. Nakonec si předvedeme, jak v domácí nebo pracovní síti s pomocí tinydns vytvořit vlastní doménu nejvyšší úrovně a tu používat pro přístup k počítačům.

    Obsah

    tinydns

    link

    tinydns je démon poskytující služby jmenného serveru. Konfiguraci vytvoříme obdobně jako konfiguraci pro dnscache:

    # tinydns-conf tinydns dnslog /etc/tinydns 74.86.171.244

    Parametry jsou také obdobné, jedná se o uživatele, pod kterým tinydns poběží, uživatele, pod kterým poběží logování, a IP adresa, na které bude tinydns naslouchat. IP adresa uvedená zde je adresa jmenného serveru ns1.dnspark.net, který je autoritativní (mimo jiné) pro doménu abclinuxu.cz, kterou budu používat v příkladech níže.

    Poznámka: DNS záznamy abclinuxu.cz se během psaní tohoto článku měnily, takže je možné, že některé ze záznamů uvedených zde již neplatí.

    Opět vznikl adresář vhodný ke spuštění pomocí Daemon Tools, takže úpravy budou obdobné. Začneme souborem run:

    a2x5l5:/etc/tinydns# cat run
    #!/bin/sh
    exec 2>&1
    exec envuidgid tinydns envdir ./env softlimit -d300000 /usr/bin/tinydns

    Stejná situace jako v předchozím případě, programy z Daemon Tools opět nahradíme programem chpst:

    #!/bin/sh
    exec 2>&1
    exec chpst -U tinydns -e ./env -d 300000 /usr/bin/tinydns

    Adresář env obsahuje proměnné prostředí:

    a2x5l5:/etc/tinydns# ls env/
    IP  ROOT

    V IP je adresa, kterou jsme zadali výše, na ní bude tinydns naslouchat; ROOT je adresář, do kterého se tinydns po startu uzavře – /etc/tinydns/root

    Adresář root je oproti dnscache o něco zajímavější:

    a2x5l5:/etc/tinydns/root# ls
    add-alias  add-alias6  add-host  add-host6  add-childns  add-mx  add-ns  data  Makefile

    Soubory add-* jsou skripty, které slouží k přidávání záznamů do souboru data (djbdns bez podpory IPv6 nebude obsahovat add-alias6add-host6.) V souboru data je uložena kompletní konfigurace DNS záznamů, které bude tinydns vracet. tinydns nicméně nepoužívá informace v tomto souboru uvedené přímo, ale místo toho čte databázi data.cdb, kterou podle souboru data vytváří program tinydns-data.

    Abychom nemuseli složitě vypisovat tinydns-data pokaždé, když chceme záznamy aktualizovat, můžeme díky souboru Makefile použít make. Soubor Makefile vypadá takto:

    a2x5l5:/etc/tinydns/root# cat Makefile 
    data.cdb: data
            /usr/bin/tinydns-data

    Změny se projevují automaticky, tinydns není potřeba restartovat.

    Nyní se podívejme na jednotlivé záznamy, které může soubor data obsahovat:

    SOA – start of authority a jmenný server

    link

    Obecný formát je .fqdn:ip:jmeno:ttl:timestamp:lo

    Význam polí ttl, timestamplo je pro všechny záznamy stejný a tato pole je možné uvést u každého záznamu. ttl udává dobu, po kterou je tento záznam možné držet v DNS cache. timestamp určuje, kdy záznam platí, a lo umožňuje nastavit umístění klienta. Všechny tři hodnoty lze vynechat (v případě ttl tinydns použije výchozí hodnotu 86400 vteřin.)

    Výše uvedený řádek vytvoří následující DNS záznamy:

    • NS záznam – jmeno.ns.fqdn je jmenný server pro doménu fqdn

    • A záznam – jmeno.ns.fqdn má adresu ip

    • SOA záznam – jmeno.ns.fqdn je primární jmenný server pro fqdn a kontaktní adresa je hostmaster@fqdn

    Pokud jmeno obsahuje tečku, místo jmeno.ns.fqdn se použije přímo jmeno. ip lze vynechat, pokud má jmenodata přiřazenu IP adresu někde jinde.

    Pro abclinuxu.cz bychom tedy nastavili, že jmenným serverem je ns1.dnspark.net s IP adresou 74.86.171.244 a tento záznam je možné po dobu jedné hodiny držet v DNS cache:

    .abclinuxu.cz::ns1.dnspark.net:3600:

    Pokud naší doméně slouží více jmenných serverů, můžeme zde uvést více záznamů, ale jako SOA se uplatní pouze první – následující nastavení tedy nevytvoří další čtyři primární jmenné servery.

    .abclinuxu.cz::ns2.dnspark.net:3600:
    .abclinuxu.cz::ns3.dnspark.net:3600:
    .abclinuxu.cz::ns4.dnspark.net:3600:
    .abclinuxu.cz::ns5.dnspark.net:3600:

    Poznámka: všimněte si, že u žádného z těchto záznamů není uvedena IP adresa. Ta není potřeba proto, že abclinuxu.cz má stejné DNS servery jako dnspark.net, tinydns tedy bude muset poskytovat DNS záznamy pro obě tyto domény. IP adresa jmenných serverů nsX.dnspark.net tedy bude v konfiguračním souboru uložena zvlášť přímo v záznamech týkajících se domény dnspark.net. Například takto:

    .dnspark.net:74.86.171.245:ns1.dnspark.net:7200:
    .dnspark.net:83.170.89.43:ns2.dnspark.net:7200:
    .dnspark.net:66.98.161.195:ns3.dnspark.net:7200:
    .dnspark.net:209.160.65.32:ns4.dnspark.net:7200:
    .dnspark.net:67.228.229.243:ns5.dnspark.net:7200:

    A a PTR záznamy

    link

    Pokud chceme vytvořit A záznam a reverzní záznam zároveň, použijeme následující syntaxi =fqdn:ip:ttl:timestamp:lo

    Samostatný A záznam vytvoříme řádkem +fqdn:ip:ttl:timestamp:lo.

    V obou případech je fqdn plně kvalifikované jméno stroje, kterému přiřazujeme ip, ostatní parametry mají stejný význam jako v předchozím případě. Pro servery, na kterém běží ábíčko a jabber server abclinuxu.cz, by tedy záznamy vypadaly takto:

    =abicko.abclinuxu.cz:195.70.150.7:3600:
    +abclinuxu.cz:195.70.150.7:
    +jabber.abclinuxu.cz:195.70.150.51:

    Tyto dva záznamy říkají, že IP adresa stroje abicko.abclinuxu.cz je 195.70.150.7, že 7.150.70.195.in-addr.arpa ukazuje na abicko.abclinuxu.cz a že abclinuxu.cz má A záznam 195.70.150.7.

    Protože se nedávno IP adresa ábíčka měnila, můžeme si u tohoto záznamu ukázat význam pole timestamp. timestamp – časová značka – označuje dobu platnosti záznamu – pokud je stanoveno timestampttl má nenulovou hodnotu nebo není uvedeno, udává timestamp, odkdy daný řádek platí. Pokud je ttl rovno 0, platí daný záznam pouze do doby stanovené značkou. (V takovém případě je ttl dopočítáváno tak, aby nepřekročilo dobu platnosti záznamu.) Příklad:

    =abicko.abclinuxu.cz:195.70.150.5:0:400000004ab58ca0
    =abicko.abclinuxu.cz:195.70.150.7:3600:400000004ab58ca0

    400000004ab58ca0 je časová značka zapsaná v TAI64 v hexadecimálním formátu s malými písmeny. Tyto dva záznamy říkají, že do neděle 20.9.2009 do 2h ráno má abicko.abclinuxu.cz IP adresu 195.70.150.5, kdežto od druhé hodiny toho dne má IP adresu 195.70.150.7ttl 3600.

    CNAME

    link

    Obecný zápis je Cfqdn:jmeno:ttl:timestamp:lo – udává, že fqdn je kanonické jméno pro jmeno. Příklad:

    Cwww.abclinuxu.cz:abicko.abclinuxu.cz:3600:

    MX záznamy

    link

    Řádek ve tvaru @fqdn:ip:jmeno:prio:ttl:timestamp:lo říká, že server jmeno.mx.fqdn o adrese ip je přijímací SMTP server domény fqdn o prioritě prio. prio je možné vynechat, výchozí hodnota je 0. Pokud jmeno obsahuje tečku, je s ním zacházeno stejně jako v případě SOA záznamu – místo jmeno.mx.fqdn se použije pouze jmeno. Příklad:

    @abclinuxu.cz::aspmx.l.google.com:10:
    @abclinuxu.cz::alt1.aspmx.l.google.com:20:
    @abclinuxu.cz::alt2.aspmx.l.google.com:20:
    @abclinuxu.cz::aspmx2.googlemail.com:30:
    @abclinuxu.cz::aspmx3.googlemail.com:30:
    @abclinuxu.cz::aspmx4.googlemail.com:30:
    @abclinuxu.cz::aspmx5.googlemail.com:30:

    I u těchto záznamů vynecháváme IP adresu – je zbytečné uvádět v konfiguraci našeho DNS serveru IP adresy strojů v doménách google.comgooglemail.com, pro které není autoritativní. Na tyto adresy se ho nikdo nebude ptát.

    Reverzní záznam (PTR)

    link

    Pokud je na náš DNS server delegován zpětný překlad IP adres na jména, použijeme záznam, jehož obecný tvar je ^fqdn:jmeno:ttl:timestamp:lo – například:

    ^51.150.70.195.in-addr.arpa:jabber.abclinuxu.cz:

    Tento záznam říká, že IP adresu 195.70.150.51 má stroj jménem jabber.abclinuxu.cz. Aby se tento záznam uplatnil, musí být na náš DNS server delegován překlad odpovídajícího rozsahu IP adres a náš server tuto delegaci musí přijmout záznamem, jako je tento:

    .150.70.195.in-addr.arpa::ns1.dnspark.net:

    TXT záznam

    link

    Obecný tvar je 'fqdn:ret:ttl:timestamp:lo – TXT záznam pro fqdn je řetězec ret. Do řetězce je možné vložit libovolné znaky pomocí osmičkového kódu ve tvaru \xxx – například dvojtečku je možné vložit kódem \072

    Doména abclinuxu.cz žádný TXT záznam nemá, takže jako příklad použijeme smyšlený SPF záznam. Řekněme například, že e-maily z domény abclinuxu.cz smí přicházet pouze z smtp.gmail.com. Odpovídající TXT záznam by v takovém případě byl:

    'abclinuxu.cz:v=spf1\040ip4\072209.85.135.111\040ip4\072209.85.135.109\040-all:

    Záznam o delegování na jiný server

    link

    V případě složitější a větší sítě, kde jsou počítače rozmístěny různě po světě, ale patří do stejné domény, bývají některé záznamy delegovány na podřízené servery. Proč tomu tak je a jak něco takového nastavit pomocí tinydns, si ukážeme na příkladu.

    Řekněme, že nadnárodní společnost company.com má pobočky rozmístěné různě po světě a webové stránky (a další stroje) těchto poboček běží v příslušné zemi pod jménem www.kod.company.com, kde kod je kód země. Centrála firmy je – řekněme – v USA a tam jsou také jmenné servery pro company.com.

    Bylo by rozhodně možné na těchto jmenných serverech nastavit všechny záznamy pro všechny pobočky, ale to by znamenalo, že zákazníci firmy company by se před zobrazením stránek místní pobočky firmy nejprve museli ptát na adresu zahraničního serveru. A to trvá.

    Na jmenném serveru company.com proto nastavíme jenom záznamy pro pobočku v USA a ostatní záznamy lokálních poboček necháme vyřizovat lokální jmenné servery. Konfigurace tinydns pro company.com tedy bude vypadat nějak takto:

    .company.com:ip.ns.v.usa:ns1.company.com:
    =www.company.com:ip.www.v.usa:
    &cz.company.com:ip.ns.v.cr:ns1.cz.company.com:
    &uk.copmany.com:ip.ns.v.vb:ns1.uk.company.com:

    Tento (značně zjednodušený) konfigurační soubor říká, že jmenný server pro company.com je ns1.company.com s IP adresou ip.ns.v.usa a webový server www.company.com má IP adresu ip.www.v.usa. Pokud se nicméně bude někdo ptát na adresu v doméně cz.company.com – například na www.cz.company.com – dostane se mu odpovědi, že DNS pro subdoménu cz.company.com vyřizuje server ns1.cz.company.com s IP adresou ip.ns.v.cr, a toho je potřeba se zeptat.

    Konfigurační soubor pro jmenný server ns1.cz.company.com bude potom vypadat nějak takto:

    .cz.company.com:ip.ns.v.cr:ns1.cz.company.com:
    =www.cz.company.com:ip.www.v.cr:

    Jiné záznamy

    link

    Pro některé typy DNS záznamů tinydns neobsahuje přímou podporu, ale je nutné použít obecný záznam a typ uvést. Obecný tvar vypadá takto:

    :fqdn:typ:data:ttl:timestamp:lo

    Například pro SRV záznam je hodnota typ 33 a SRV záznam _jabber._tcp.abclinuxu.cz o prioritě 5 a váze 0 nasměrovaný na jabber.abclinuxu.cz na port 5269 vypadá takto:

    :_jabber._tcp.abclinuxu.cz:33:\000\005\000\000\024\225\006jabber\011abclinuxu\002cz\000:600

    \000\005 je priorita, \000\000 váha a \024\225 port – všechna čísla jsou zapsána osmičkově, vyšší byte je uveden první. Jméno serveru, na který tento záznam směřuje, je ukončeno nulovým bytem (\000) a před každou částí doménového jména (jabber, abclinuxucz) předchází jeden byte udávající délku dané části (6, 9 a 2).

    Pokud se vám nechce přemýšlet, která informace v záznamu má být kde, můžete použít například tento generátor.

    Komentáře

    link

    Všechny řádky v konfiguračním souboru, které začínají znakem #, jsou komentáře.

    Záznam s „divokou kartou“

    link

    Pokud chceme, aby se pro nějakou doménu vyhodnocovala všechna jména stejně, můžeme použít „wildcard“ tak, že místo jména stroje zapíšeme hvězdičku. Příklad:

    +*.abclinuxu.cz:195.70.150.7:

    Tento záznam říká, že pokud neexistuje specifický záznam cokoliv.abclinuxu.cz, pak má být vrácena IP adresa 195.70.150.7. S tímto záznamem tedy na dotaz na jabber.abclinuxu.cz bude stále vráceno 195.70.150.51, kdežto na asdfasdf.abclinuxu.cz 195.70.150.7. Obecně platí, že u wildcard záznamů má přednost konkrétní záznam, po něm specifičtější wildcard a nejobecnější wildcard se uplatní až v případě, když se neuplatnilo nic před ním.

    AAAA záznam

    link

    Pokud vaše tinydns obsahuje podporu IPv6, můžete AAAA záznam přidat takto:

    6fqdn:ipv6:ttl:timestamp:lo

    Ábíčko IPv6 adresu nemá, ale kdyby mělo řekněme adresu 2001:db8:1:2:3:4:5:6, pak by odpovídající záznam vypadal takto:

    6abicko.abclinuxu.cz:20010db8000100020003000400050006:

    Tento řádek automaticky vytvoří i reverzní záznam, pokud bychom to tak nechtěli, použijeme syntaxi:

    3fqdn:ipv6:ttl:timestamp:lo

    V tomto případě se záznam pro zpětný překlad nevytvoří. Můžeme ho nicméně nastavit ručně například takto:

    ^6.0.0.0.5.0.0.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa::abicko.abclinuxu.cz:

    Opět platí, že překlad IPv6 adres na jména musí být pro daný rozsah adres delegován na náš server a tuto delegaci je nutné přijmout odpovídajícím záznamem.

    Další typy záznamů a více příkladů naleznete v anglické dokumentaci tinydns. Tím kapitolu o tinydns ukončíme a můžeme se krátce podívat, jak tyto dva skloubit dohromady.

    dnscache, tinydns a doména .doma

    link

    Pokud máte domácí nebo podnikovou síť a chcete mít stroje v ní přístupné pomocí doménového jména, ale zároveň nechcete tato jména zpřístupnit zvenčí – třeba protože počítače nemají veřejné IP adresy – můžete propojením dnscache a tinydns vytvořit vlastní doménu nejvyšší úrovně a tu ve své síti používat.

    tinydns tentokrát nakonfigurujeme tak, aby naslouchalo na lokálním rozhraní:

    tinydns-conf tinydns dnslog /etc/tinydns 127.0.0.2

    Provedeme stejné úpravy jako ty, které jsme popsali v předchozí kapitole, a soubor data vyplníme nějak takto:

    .doma:192.168.253.1:ns1.doma:259200
    +router.doma:192.168.253.1:
    +jasonn.doma:192.168.253.3:
    +pocitac.vkuchyni.doma:192.168.253.5
    +ivetin.pocitac.doma:192.168.253.6
    +notas.doma:192.168.253.7

    Tím jsme vytvořili doménu doma a pěti počítačům v ní přiřadili IP adresy. Teď musíme jenom zajistit, aby dnscache věděla, že na naši doménu se nemá ptát kořenových DNS serverů, ale přímo lokálního stroje. To je možné nastavit v /etc/dnscache/root/servers – jak bylo zmíněno výše, v tomto adresáři dnscache standardně hledá soubor @ obsahující seznam kořenových DNS serverů, nicméně ostatní soubory v tomto adresáři také považuje za konfigurační soubory. Pokud tedy vytvoříme soubor doma a do něj vložíme adresu, na které naslouchá naše tinydns – 127.0.0.2 – bude dnscache dotazy na doménu doma (a její subdomény) zasílat na IP adresu 127.0.0.2 a ne kořenovým DNS serverům.

    Stejným způsobem je možné přesměrovat i dotazy na domény vyšších řádů a není nutné používat jenom IP adresu lokálního rozhraní – DNS cache takto umožňuje zasílat dotazy na libovolný server.

    Tím krátká zmínka o djbdns končí. Případné postřehy a doplnění pište do diskuze.

           

    Hodnocení: 67 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    17.11.2009 20:35 Marek
    Rozbalit Rozbalit vše IPv6
    Vy nemáte web přístupný pomocí IPv6? Styďte se!
    13.12.2021 09:45 geebranz
    Rozbalit Rozbalit vše Re: IPv6
    20.10.2018 08:10 Vivek Ydv
    Rozbalit Rozbalit vše Re: DJBDNS – bezpečný DNS server – 2 (tinydns)
    You always like to play spider solitaire because here you are really get a most additive free spider solitaire online playing game, here you have to no required any type of the registration and keep enjoying in free of cost.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.