Linux documentation Project (CS) / Příručka správce sítě
Previous Content Next Up

 

6. Konfigurace resolveru a jmenných služeb

    Ve 2. kapitole jsme si řekli, že sítě na bázi protokolu TCP/IP mohou používat různá schémata konverze názvů na adresy. Nejjednodušším způsobem, který však nevyužívá výhody rozdělení jmenného prostoru do jednotlivých zón, je tabulka hostitelů, která je uložena v souboru /etc/hosts. Tento způsob je vhodný pouze pro malé lokální sítě, které spravuje jediný správce a které nepoužívají žádnou IP-komunikaci s okolním světem. Formát souboru hosts byl podrobně popsán v kapitole 5.

    Další možností je použití služby BIND - Berkeley Internet Name Domain Service - ta přiděluje názvy hostitelů jednotlivým IP-adresám. Konfigurace služby BIND je skutečným oříýkem, ale jakmile ji jednou zvládnete, bude pro vás začlenění případných změn v Síťové topologiš velmi snadné. V systému Linux, stejně jako u dalších unixových systémů, poskytuje jmenné služby program named. Program named načte při startu několik hlavních souborů do své vyrovnávací paměti a dále bude čekat na dotazy od vzdálených nebo místních uživatelských procesů. Existuje několik způsobů, jak nastavit službu BIND a zdaleka ne všechny vyžadují spuitiný jmenný server na každém hostiteli.

    V této kapitole by bylo možné uvést mnohem více informací, než jen hrubý náčrt způsobu, jakým lze provozovat jmenný server. Hodláte-li používat službu BIND v prostředí s většími sítěmi než jen LAN a pravděpodobně i s připojením na Internet, pak byste si měli sehnat nějakou kvalitní knihu pojednávající o službě BIND, například knížku "DNS and BIND" od Cricketa Liua (viz [AlbitzLiu92]). Aktuální informace najdete také v poznámkách vydávaných společně se zdrojovými soubory služby BIND. Otázkám systému DNS se věnuje i konference nazvaná comp.protocols.tcp-ip.domains.

6.1 Knihovna resolveru

    Hovoříme-li o "resolveru", nemáme namysli žádnou speciální aplikaci, ale spíše odkazy do knihovny resolveru, což je skupina funkcí nacházející se ve standardní knihovně jazyka C. Centrálními rutinami jsou procedury gethostbyname(2) a gethostbyaddr(2), které umí vyhledat všechny IP-adresy náležející danému hostiteli, a versa vice. Mohou být nastaveny tak, aby využívaly soubor hosts, aby se dotazovaly na počet jmenných serverů nebo aby používaly databázi hosts služby NIS (Síťové informační služby). Další aplikace, jako je například smail, mohou pro tyto účely obsahovat různé ovladače, které však vyžadují speciální péči.

6.1.1 Soubor host.conf

    Centrálním souborem, který řídí nastavení resolveru, je soubor host.conf. Nachází se v adresáři /etc a sděluje resolveru, jakou by měl použít službu a v jakém pořadí.  Jednotlivé volby musí být v souboru host.conf uvedeny na samostatných řádcích. Pole mohou být oddělena bílými mezerami (což jsou mezery nebo tabulátory). Symbol # označuje komentář, který končí u dalšího znaku nové řádky.

K dispozici jsou následující volby:

Následuje vzorový soubor pro bránu vlager:

# /etc/host.conf

# Používáme named, NIS (zatím) ne

order bind hosts

# Jeden hostitel může mít více adres

multi on

# Ochrana proti spoofingu

nospoof on

# Odstraňuji lokální doménu

trim vbrew.com.

6.1.2 Proměnné pro prostředí resolveru

    Nastavení v souboru host.conf lze potlačit pomocí několika proměnných prostředí resolveru.

Následuje výpis těchto proměnných:

6.1.3 Konfigurace vyhledávání jmenného serveru - resolv.conf

    Nakonfigurujete-li knihovnu resolveru tak, aby k vyhledávání hostitelů používala jmennou službu BIND, musíte jí sdělit, jaké má používat jmenné servery. K tomuto účelu se používá speciální soubor s názvem resolv.conf. Pokud tento soubor neexistuje nebo je prázdný, bude resolver předpokládat, že se jmenný server nachází na vašem místním hostiteli.

    Provozujete-li jmenný server na svém místním hostiteli, musíte ho nastavit samostatně, což si vysvětlíme v dalších statích. Pokud se nacházíte v lokální síti a máte možnost používat existující jmenný server, pak bude tento způsob vždy preferován.

    Nejdůležitější volbou v souboru resolv.conf je volba nameserver, která obsahuje IP-adresu používaného jmenného serveru. Zadáte-li několikanásobným uvedením volby nameserver několik jmenných serverů, pak budou tyto jmenné servery zkoušeny v uvedeném pořadí. Z toho důvodu byste měli na prvním místě uvést nejspolehlivější jmenný server.

V současné době jsou podporovány až tři jmenné servery.

Není-li uvedena žádna volba nameserver, pokusí se resolver spojit se jmenným serverem na místním hostiteli.

Další dvě volby domain a search ovládají implicitní domény, které budou připojeny k názvu hostitele v případě, že se službě BIND nepodaří při prvním dotazu nalézt příslušný název hostitele. Volba search určuje seznam zkouiených názvů domén. Jednotlivé položky v seznamu jsou od sebe odděleny mezerami nebo tabulátory.

Pokud žádnou volbu search neuvedete, bude z místního názvu domény sestaven implicitní vyhledávací seznam tím způsobem, že se použije název domény plus všechny nadřazené názvy domén až po kořenovou úroveň. Místní název domény je možné zadat pomocí volby domain; není-li tato volba uvedena, pak resolver získá tento název pomocí systémového volání procedury getdomainname(2).

Zdá-li se vám to zmatené, pak se podívejte na následující příklad souboru resolv.conf, který používá společnost Virtual Brewery:

# /etc/resolv.conf

# Naše doména

domain vbrew.com

#

# Hostitel vlager je centrálním jmenným serverem:

nameserver 191.72.1.1

Při rozkládání názvu vale by měl resolver nejprve vyhledat název vale. Neuspěje-li, měl by pokračovat vyhledáváním názvů vale.vbrew.com a vale.com.

6.1.4 Robustnost resolveru

    Pokud používáte menší lokální Síť v rámci rozsáhlé sítě, měli byste rozhodně používat centrální jmenné servery, jsou-li tyto k dispozici. Výhoda tohoto způsobu spočívá v tom, že centrální jmenné servery si vytvoří velkou vyrovnávací paměť, protože na ně budou směrovány veškeré dotazy. Toto schéma má ale i nevýhody: pokud vám například nedávno zničil oheň kabel na páteřní univerzitní síti, nebude v místním oddělení možné provozovat lokální Síť, protože resolver se nebude schopen spojit se žádným jmenným serverem. Nebudete se moci přihlásit k žádnému X-terminálu, nebude fungovat tisk atd.

    I když není příliš běžné, aby začala hořet páteř univerzitní sítě, budete asi chtít proti takovýmto případům učinit určitá opatření.

    Jednou z možností je nastavit místní jmenný server tak, aby hledal názvy hostitelů z vaší místní domény a všechny ostatní dotazy na další názvy hostitelů předával na hlavní servery. Samozřejmě, že toto schéma bude fungovat pouze v případě, že provozujete svou vlastní doménu.

    Máte i druhou možnost - v souboru /etc/hosts udržovat záložní tabulku hostitelů vaší domény nebo lokální sítě. Následně byste měli do souboru /etc/host.conf přidat volby "order bind hostsi., aby se resolver v případě nefunkčního centrálního jmenného serveru vrátil zpět k souboru hostitelů.

6.2 Provozování programu named

    Program, který na většině unixových počítačích poskytuje doménové jmenné služby, se obvykle jmenuje named ([neimdi:]). Jedná se o serverový program původně vyvinutý pro operační systém BSD, který poskytuje jmenné služby klientům a případně i dalším jmenným serverům. Zdá se, že v současnosti se na většině instalacích Linuxu používá verze BIND-4.8.3. Novější verze BIND-4.9.3 existuje momentálně ve verzi beta a již brzy by se měla stát součástí Linuxu.

    Tato stať vyžaduje určité znalosti způsobu, jakým funguje doménový jmenný systém. Budouli pro vás následující diskuse tak trochu španělskou vesnicí, mě-li byste si znovu přečíst 2. kapitolu, kde najdete více informací o základech systému DNS.

    Program named je obvykle spuštěn při zavádění systému a běží tak dlouho, dokud počítač nevypnete. Informace získává z konfiguračního souboru /etc/named.boot a z mnoha dalších souborů, které obsahují data týkající se mapování názvů domén na IP-adresy atp. Posledně zmiňované soubory se nazývají soubory zón. Jejich sémantika a formát bude vysvětlen v následující stati.

Program named spustíte v příkazové řádce zadáním:

# /usr/sbin/named

Program named načte konfigurační soubor named.boot a všechny další v něm uvedené soubory zón. Své identifikační číslo procesu zapíše ve formátu ASCII do souboru /var/run/named.pid a je-li to nutné, načte soubory zón z primárních serverů a spustí na portu číslo 53 odposlouchávání DNS dotazů.

6.2.1 Soubor named.boot

    Soubor named.boot je zpravidla velmi malý a obsahuje pouze ukazatele na hlavní soubory s informacemi o zónách a ukazatele na další jmenné servery. V tomto zaváděcím souboru začínají komentáře středníkem a končí u dalšího znaku nové řádky. Dříve, než si probereme formát souboru named.boot podrobněji, podíváme se na vzorový soubor pro bránu vlager, který vidíte na obrázku 6.1.

;

; /etc/named.boot pro vlager.vbrew.com

;

directory /var/named

;

; doména soubor

;--------------------------------------------------

cache . named.ca

primary vbrew.com named.hosts

primary 0.0.127.in-addr.arpa named.local

primary 72.191.in-addr.arpa named.rev

    Příkazy cache a primary, použité v tomto příkladu, načítají do programu named informace. Tyto informace jsou převzaty z hlavních souborů zadaných v druhém argumentu. Obsahují textové verze položek zdrojových záznamů systému DNS, které si popíšeme dále.

    V tomto příkladu jsme nakonfigurovali program named jako primární jmenný server pro tři domény, což naznačují tři příkazy primary na konci tohoto souboru. První z těchto tří řádek například říká programu named, aby se choval jako primární server pro adresu vbrew.com a aby načetl data ze souboru named.hosts. Klíčové slovo directory udává, že všechny soubory zón jsou umístěny v adresáři /var/named.

    Volba cache je speciální a rozhodně by měla být přítomna na všech počítačích provozujících jmenný server. Má dvojí funkci: přikazuje programu named, aby povolil vyrovnávací paměť a načítá ze zadaného souboru vyrovnávací paměti (v našem příkladu je to soubor named.ca) kořenové jmenné servery. Ke kořenovým jmenným serverům se vrátíme později.

Následuje seznam nejdůležitějších voleb, které můžete použít v souboru named.boot:

    Ještě jsme neuvedli dvě další volby, sortlist a domain. Kromě toho existují další dvě direktivy, které lze použít uvnitř databázových souborů zón. Jedná se o příkazy $INCLUDE a $ORIGIN. Protože jsou používány jen velmi zřídka, nebudeme se jimi dále zabývat.

6.2.2 Databázové soubory systému DNS

    Hlavní soubory, které využívá program named, například soubor named.hosts, obsahují vždy nějakou doménu, se kterou jsou sdruženy. Tato doména se nazývá počátek (origin). Doménu tvoří název domény zadaný pomocí příkazů cache a primary. V rámci hlavního souboru můžete zadávat názvy domén a hostitelů relativně vůči této doméně. Název uvedený v konfiguračním souboru je považován za absolutní, pokud končí jednou tečkou, v opačném případě je považován za relativní vůči počátku. Vlastní počátek se může odkazovat sám na sebe za pomoci symbolu "@".

    Všechna data obsažená v hlavním souboru jsou rozdělena do tzv. zdrojových záznamů (resource record), zkráceně záznamy RR. Vytvářejí nejmenší jednotky informace dostupné pomocí systému DNS. Každý zdrojový záznam je určitého typu. Například záznamy typu A mapují název hostitele na IP-adresu a záznam typu CNAME přiřazuje přezdívky hostitele oficiálnímu názvu hostitele. Máte-li zájem o nějaký příklad, podívejte se na obrázek 6.3, který ukazuje hlavní soubor named.hosts ve společnosti Virtual Brewery.

Položky zdrojových záznamů v hlavních souborech sdílejí následující společný formát:

[domain] [ttl] [class] type rdata

    Pole jsou navzájem oddělena pomocí mezer nebo tabulátorů. Položka může pokračovat na několika řádcích, pokud před první řádek vložíte levou kulatou závorku a za poslední pole vložíte pravou kulatou závorku. Vše mezi středníkem a novým řádkem bude ignorováno.

Následuje nekompletní seznam typů záznamů RR, které lze použít v hlavních souborech systému DNS. Existuje sice ještě více typů záznamů, ale zde je nebudeme popisovat. Jsou experimentální, a proto mají jen malé obecné použití.

[domain] [ttl] [class] MX preference host

Argument host přiděluje poštovnímu serveru pro doménu domain název hostitele host. Každý poštovní server má přiřazen celočíselný argument preference. Zprostředkovatel přenosu pošty, který chce doručit poštu do domény domain, se bude tak dlouho snažit spojit se všemi hostiteli, kteří mají pro danou doménu uvedený záznam typu MX, dokud neuspěje. Nejprve je kontaktován hostitel s nejnižší hodnotou argumentu preference, následně ostatní hostitelé v pořadí, které určuje zvyšující se hodnota argumentu preference.

HINFO Tento typ záznamu poskytuje informace o hardwaru a softwaru daného systému. Jeho syntaxe je:

[domain] [ttl] [class] HINFO hardware software

Pole hardware určuje typ hardwaru, který používá daný hostitel. Pro jeho specifikaci existují určité zvyklosti. Seznam korektních názvů obsahuje specifikace "Assigned Numbers" (RFC 1340). Pokud toto pole obsahuje nějaké mezery, pak musí být tyto mezery uzavřeny do uvozovek. Pole software obsahuje používaný operační systém. Opět by měl být vybrán korektní název ze seznamu "Assigned Numbers" RFC.

6.2.3 Sestavení hlavních souborů

    Obrázky 6.2, 6.3, 6.4 a 6.5 obsahují vzorové příklady souborů pro jmenný server pivovaru, který je umístěn na hostiteli vlager. Vzhledem k povaze diskutované sítě (jednoduchá Síť typu LAN) je příklad poměrně zřejmý. Máte-li složitější požadavky a nedaří-li se vám rozchodit program named, pak se poohlédněte po knize "DNS and BINDié od Cricketa Liua a Paula Albitze ([AlbitzLiu92]).

    Soubor named.ca, který vidíte na obrázku 6.2, ukazuje vzorové záznamy pro kořenové jmenné servery. Typický soubor vyrovnávací paměti obvykle popisuje zhruba deset jmenných serverů. Aktuální seznam jmenných serverů kořenové domény můžete získat pomocí nástroje nslookup, který bude popsán na konci této kapitoly.

;

; /var/named/named.ca

; Nejsme na Internetu a proto nepotřebujeme

; kořenové servery. Pro aktivaci těchto záznamů

; stačí odstranit středníky.

;

; . 99999999 IN NS NS.NIC.DDN.MIL

; NS.NIC.DDN.MIL 99999999 IN A 26.3.0.103

; . 99999999 IN NS NS.NASA.GOV

; NS.NASA.GOV 99999999 IN A 128.102.16.10

6.2.4 Kontrola nastavení jmenného serveru

Pro kontrolu správné funkce nastavení vašeho jmenného serveru existuje speciální nástroj. Nazývá se nslookup a lze ho používat jak interaktivně, tak i z příkazové řádky. V druhém případě ho spustíte následovně:

nslookup hostname

    Nástroj nslookup se bude dotazovat jmenného serveru zadaného v souboru resolv.conf na název hostitele hostname. (Je-li v tomto souboru uveden více než jeden server, pak nslookup náhodně zvolí jeden z těchto serverů.) Interaktivní režim je však mnohem zajímavější. Kromě vyhledávání jednotlivých hostitelů se můžete dotazovat na libovolný typ záznamu systému DNS a dále můžete v rámci příslušné domény přenášet veškeré informace o zónách.

Je-li nástroj nslookup vyvolán bez argumentů, zobrazí používaný jmenný server a přepne se do interaktivního režimu. Na příkazové řádce ">ic můžete zadat libovolný název domény, na který by se měl nástroj nslookup dotazovat. Implicitně se ptá na záznamy typu A, což jsou ty, které obsahují IP-adresy vztahující se k danému názvu domény.

;

; /var/named/named.hosts Místní hostitelé v pivovaru

; Počátek je vbrew.com

;

@ IN SOA vlager.vbrew.com. (

janet.vbrew.com.

16 ; sériové číslo

86400 ; refresh: denně

3600 ; retry: 1 hodina

3600000 ; expire: 42 dní

604800 ; minimum: 1 týden

)

IN NS vlager.vbrew.com.

;

; lokální pošta je doručována na vlager

IN MX 10 vlager

;

; zpětnovazebné rozhraní

localhost. IN A 127.0.0.1

; Ethernet pivovaru

vlager IN A 191.72.1.1

vlager-if1 IN CNAME vlager

; vlager je také news serverem

news IN CNAME vlager

vstout IN A 191.72.1.2

vale IN A 191.72.1.3

; Ethernet vinárny

vlager-if2 IN A 191.72.2.1

vbardolino IN A 191.72.2.2

vchianti IN A 191.72.2.3

vbeaujolais IN A 191.72.2.4

Obrázek 6.3

Soubor named.hosts

;

; /var/named/named.local Reverzní mapování sítě 127.0.0

; Počátek je 0.0.127.in-addr.arpa.

;

@ IN SOA vlager.vbrew.com. (

joe.vbrew.com.

1 ; sériové číslo

360000 ; refresh: 100 hodin

3600 ; retry: 1 hodina

3600000 ; expire: 42 dní

360000 ; minimum: 100 hodin

)

IN NS vlager.vbrew.com.

1 IN PTR localhost.

Obrázek 6.4

Soubor named.local

;

; /var/named/named.rev Reverzní mapování našich IP-adres

; Počátek je 72.191.in-addr.arpa.

;

@ IN SOA vlager.vbrew.com. (

joe.vbrew.com.

16 ; sériové číslo

86400 ; refresh: denně

3600 ; retry: 1 hodina

3600000 ; expire: 42 dní

604800 ; minimum: 1 týden

)

IN NS vlager.vbrew.com.

; pivovar

1.1 IN PTR vlager.vbrew.com.

2.1 IN PTR vstout.vbrew.com.

3.1 IN PTR vale.vbrew.com.

; vinárna

1.2 IN PTR vlager-if1.vbrew.com.

2.2 IN PTR vbardolino.vbrew.com.

3.2 IN PTR vchianti.vbrew.com.

4.2 IN PTR vbeaujolais.vbrew.com.

    Tento typ je možné změnit příkazem "set type=typei., kde parametr type tvoří bui jeden z názvů zdrojových záznamů, které jsme popisovali ve stati 6.2, nebo za něj může být dosazeno klíčové slovo ANY. S nástrojem nslookup můžete vést například následující dialog:

$ nslookup

Default Name Server: rs10.hrz.th-darmstadt.de

Address: 130.83.56.60

> sunsite.unc.edu

Name Server: rs10.hrz.th-darmstadt.de

Address: 130.83.56.60

Non-authoritative answer:

Name: sunsite.unc.edu

Address: 152.2.22.81

    Pokusíte-li se dotazovat na název, který nemá přidělenu žádnou IP-adresu, ale v databázi systému DNS byly nalezeny jiné záznamy, vrátí příkaz nslookup chybovou zprávu "No type A records foundis (nebyly nalezeny žádné záznamy typu A). S pomocí příkazu nslookup je možné se dotazovat i na jiné záznamy než typu A. To lze provést příkazem "set type". Chcete-li například získat záznam typu SOA na adrese unc.edu, měli byste spustit následující sekvenci příkazů:

> unc.edu

*** No address (A) records available for unc.edu

Name Server: rs10.hrz.th-darmstadt.de

Address: 130.83.56.60

> set type=SOA

> unc.edu

Name Server: rs10.hrz.th-darmstadt.de

Address: 130.83.56.60

Non-authoritative answer:

unc.edu

origin = ns.unc.edu

mail addr = shava.ns.unc.edu

serial = 930408

refresh = 28800 (8 hours)

retry = 3600 (1 hour)

expire = 1209600 (14 days)

minimum ttl = 86400 (1 day)

Authoritative answers can be found from:

UNC.EDU nameserver = SAMBA.ACS.UNC.EDU

SAMBA.ACS.UNC.EDU internet address = 128.109.157.30

    Podobným způsobem se můžete dotazovat na záznamy typu MX atd. Pokud použijete typ záznamu ANY, vrátí příkaz nslookup všechny zdrojové záznamy, které jsou sdruženy s daným názvem.

> set type=MX

> unc.edu

Non-authoritative answer:

unc.edu preference = 10, mail exchanger = lambada.oit.unc.edu

lambada.oit.unc.edu internet address = 152.2.22.80

Authoritative answers can be found from:

UNC.EDU nameserver = SAMBA.ACS.UNC.EDU

SAMBA.ACS.UNC.EDU internet address = 128.109.157.30

    Praktickou aplikací příkazu nslookup je kromě ladění jmenného serveru i získávání aktuálního seznamu kořenových jmenných serverů pro soubor named.ca. Lze to provést tak, že se budete dotazovat na všechny typy záznamů typu NS, které jsou spojeny s kořenovou doménou:

> set type=NS

> .

Name Server: fb0430.mathematik.th-darmstadt.de

Address: 130.83.2.30

Non-authoritative answer:

(root) nameserver = NS.INTERNIC.NET

(root) nameserver = AOS.ARL.ARMY.MIL

(root) nameserver = C.NYSER.NET

(root) nameserver = TERP.UMD.EDU

(root) nameserver = NS.NASA.GOV

(root) nameserver = NIC.NORDU.NET

(root) nameserver = NS.NIC.DDN.MIL

Authoritative answers can be found from:

(root) nameserver = NS.INTERNIC.NET

(root) nameserver = AOS.ARL.ARMY.MIL

(root) nameserver = C.NYSER.NET

(root) nameserver = TERP.UMD.EDU

(root) nameserver = NS.NASA.GOV

(root) nameserver = NIC.NORDU.NET

(root) nameserver = NS.NIC.DDN.MIL

NS.INTERNIC.NET internet address = 198.41.0.4

AOS.ARL.ARMY.MIL internet address = 128.63.4.82

AOS.ARL.ARMY.MIL internet address = 192.5.25.82

AOS.ARL.ARMY.MIL internet address = 26.3.0.29

C.NYSER.NET internet address = 192.33.4.12

TERP.UMD.EDU internet address = 128.8.10.90

NS.NASA.GOV internet address = 128.102.16.10

NS.NASA.GOV internet address = 192.52.195.10

NS.NASA.GOV internet address = 45.13.10.121

NIC.NORDU.NET internet address = 192.36.148.17

NS.NIC.DDN.MIL internet address = 192.112.36.4

    Kompletní seznam příkazů, které lze použít ve spojitosti s nástrojem nslookup, získáte příkazem help, který musí být zadán během interaktivní práce s nástrojem nslookup.

6.2.5 Další užitečné nástroje

    Existuje několik nástrojů, které vám mohou pomoci při úkolech, s nimiž se setkáte jako správce služby BIND. Zde si popíšeme dva z nich. Chcete-li získat informace o jejich použití, nahlédněte do dokumentace, která je dodávána spolu s nimi.

    Nástroj hostcvt pomáhá při prvotní konfiguraci služby BIND. Provádí konverzi souboru /etc/hosts do hlavních souborů pro program named. Vygeneruje data jak pro přímé mapování (typ záznamu A), tak i pro zpětné mapování (typ záznamu PTR) a postará se i o přezdívky. Samozřejmě, že nemůže udělat vše. Stále se budete muset postarat například o hodnoty časových intervalů v záznamu typu SOA, o přidání záznamů typu MX atp. Přesto vám však může ušetřit několik aspirinů. Nástroj hostcvt je částí zdrojového kódu služby BIND, ale je možné ho nalézt i jako samostatný balík na některých linuxových FTP serverech.

    Jakmile nakonfigurujete vlastní jmenný server, budete si ho zřejmě chtít otestovat. Ideálním (a podle mých vědomostí) zřejmě i jediným nástrojem, který byl vytvořen za tímto účelem, je dnswalk. Jedná se o balík napsaný v jazyce Perl, který projde vaši databázi systému DNS, vyhledá běžné chyby a ověří konzistenci informací. Nástroj dnswalk byl teprve nedávno uvolněn skupině comp.sources.misc a měl by být dostupný na všech serverech, které tento server zrcadlí (neznáte-li ve svém okolí žádný takový systém, pak zmiňovaný balík bezpečně najdete na serveru ftp.uu.net).

Previous Content Next Up