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

Byla vydána nová verze 0.30 display serveru Mir (Wikipedie) a nová verze 2.31 nástrojů snapd pro práci s balíčky ve formátu snap (Wikipedie). Z novinek Miru vývojáři zdůrazňují vylepšenou podporu Waylandu nebo možnost sestavení a spouštění Miru ve Fedoře. Nová verze snapd umí Mir spouštět jako snap.

Ladislav Hagara | Komentářů: 0
dnes 14:00 | Komunita

Na Indiegogo běží kampaň na podporu Sway Hackathonu, tj. pracovního setkání klíčových vývojářů s i3 kompatibilního dlaždicového (tiling) správce oken pro Wayland Sway. Cílová částka 1 500 dolarů byla vybrána již za 9 hodin. Nový cíl 2 000 dolarů byl dosažen záhy. Vývojáři přemýšlejí nad dalšími cíli.

Ladislav Hagara | Komentářů: 1
dnes 11:11 | Nasazení Linuxu

Před dvěma týdny se skupina fail0verflow (Blog, Twitter, GitHub) pochlubila, že se jim podařilo dostat Linux na herní konzoli Nintendo Switch. O víkendu bylo Twitteru zveřejněno další video. Povedlo se jim na Nintendo Switch rozchodit KDE Plasmu [reddit].

Ladislav Hagara | Komentářů: 2
dnes 05:55 | Komunita

Byla vydána vývojová verze 3.2 softwaru Wine (Wikipedie), tj. softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem. Z novinek lze zdůraznit například podporu HID gamepadů. Aktuální stabilní verze Wine je 3.0, viz verzování. Nejistá je budoucnost testovací větve Wine Staging s řadou experimentálních vlastností. Současní vývojáři na ni již nemají čas. Alexandre Julliard, vedoucí projektu Wine, otevřel v diskusním listu wine-devel diskusi o její budoucnosti.

Ladislav Hagara | Komentářů: 2
včera 16:55 | Komunita

Do 22. března se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 14. května do 14. srpna 2018, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 26
17.2. 15:44 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice dnes slaví 6 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně ale byla založena až 17. února 2012. Poslední lednový den byl vydán LibreOffice 6.0. Dle zveřejněných statistik byl za dva týdny stažen již cca milionkrát.

Ladislav Hagara | Komentářů: 1
17.2. 04:44 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že byla vydána nová verze 1.2.3 svobodného routovacího démona Quagga (Wikipedie) přinášející několik bezpečnostních záplat. Při nejhorší variantě může dojít až k ovládnutí běžícího procesu, mezi dalšími možnostmi je únik informací z běžícího procesu nebo odepření služby DoS. Konkrétní zranitelnosti mají následující ID CVE-2018-5378, CVE-2018-5379, CVE-2018-5380 a CVE-2018-5381.

Ladislav Hagara | Komentářů: 0
17.2. 00:22 | Pozvánky

V sobota 7. dubna proběhne v Brně na FIT VUT nekomerční konference Security Session '18 věnovaná novinkám a aktuálním problémům v oblasti bezpečnosti mobilních a informačních technologií. Organizátoři vyhlásili CFP. Návrhy přednášek a workshopů lze zaslat do 4. března. Spuštěna byla registrace.

Ladislav Hagara | Komentářů: 0
16.2. 23:55 | Nová verze

Byla vydána verze 1.10 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání. Zdůraznit lze vylepšené cachování buildů.

Ladislav Hagara | Komentářů: 0
15.2. 22:55 | Komunita

V sobotu 21. dubna proběhne v Bratislavě na Fakultě informatiky a informačních technologií STU konference Bratislava OpenCamp 2018. Organizátoři vyhlásili CFP. Návrhy přednášek a workshopů lze zaslat do 10. března. Spuštěna byla registrace.

Ladislav Hagara | Komentářů: 0
Který webový vyhledávač používáte nejčastěji?
 (2%)
 (28%)
 (62%)
 (2%)
 (3%)
 (1%)
 (1%)
 (1%)
Celkem 369 hlasů
 Komentářů: 34, poslední 14.2. 18:44
    Rozcestník

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

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

    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.