abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:11 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 2
    včera 13:33 | Nová verze

    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.

    Pavel Křivánek | Komentářů: 6
    včera 04:55 | Zajímavý software

    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.

    Ladislav Hagara | Komentářů: 34
    25.4. 17:33 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 13
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    25.4. 13:22 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    25.4. 12:44 | Nová verze

    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).

    Ladislav Hagara | Komentářů: 0
    25.4. 04:55 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:22 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (74%)
     (8%)
     (2%)
     (16%)
    Celkem 817 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

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

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

    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.