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 00:55 | Nová verze

Po téměř 13 měsících vývoje od verze 0.11.0 byla vydána verze 0.12.0 hardwarově nenáročného desktopového prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklého sloučením projektů Razor-qt a LXDE. Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 2
včera 12:33 | Zajímavý software

Článek ne Medium představuje nejnovější stabilní verzi 2.0 svobodné decentralizované mikroblogovací platformy a sociální sítě podobné Twitteru Mastodon (Wikipedie). Detailní přehled novinek na GitHubu [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 06:00 | Komunita

V Praze na půdě Elektrotechnické fakulty ČVUT dnes probíhá RT-Summit 2017 – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt. Přednášky lze sledovat online na YouTube.

Ladislav Hagara | Komentářů: 0
20.10. 14:33 | Zajímavý projekt

Blender Animation Studio zveřejnilo první epizodu z připravovaného animovaného seriálu The Daily Dweebs o domácím mazlíčkovi jménem Dixey. Ke zhlédnutí také ve 3D s rozlišením 8K.

Ladislav Hagara | Komentářů: 0
20.10. 12:34 | Komunita

Aktualizovanou počítačovou hru Warhammer 40,000: Dawn of War III v ceně 39,99 eur běžící také na Linuxu lze o víkendu na Steamu hrát zdarma a případně ještě v pondělí koupit s 50% slevou. Do soboty 19:00 lze na Humble Bundle získat zdarma Steam klíč k počítačové hře Sid Meier's Civilization® III v ceně 4,99 eur běžící také ve Wine.

Ladislav Hagara | Komentářů: 0
20.10. 00:22 | Nasazení Linuxu

Společnost Samsung oznámila, že skrze dokovací stanici DeX a aplikaci Linux on Galaxy bude možno na Samsung Galaxy S8 a S8+ a Galaxy Note 8 provozovat Linux. Distribuce nebyly blíže upřesněny.

Phantom Alien | Komentářů: 19
19.10. 23:55 | Komunita

Společnost Purism na svém blogu oznámila, že její notebooky Librem jsou nově dodávány se zrušeným (neutralized and disabled) Intel Management Engine (ME). Aktualizací corebootu na již prodaných noteboocích lze Management Engine také zrušit. Více v podrobném článku.

Ladislav Hagara | Komentářů: 0
19.10. 21:44 | Nová verze

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 7
19.10. 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 1
19.10. 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 24
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (1%)
 (1%)
 (74%)
 (14%)
Celkem 177 hlasů
 Komentářů: 7, poslední 19.10. 23:06
    Rozcestník

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

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

    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!
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.