Adresy a jména neboli DNS
IP adresa počítačů je tvořena čtyřbajtovým
číslem. Zapisuje se jako čtyři číslice oddělené
tečkami. Jednotlivé číslice jsou vždy v rozsahu 0 - 255. Podle
toho, jakým číslem adresa začíná se rozlišuje několik tříd
adres. Navíc existuje několik speciálních adres vyhrazených pro
experimenty, se kterými se na Internetu vůbec nesetkáte. Jsou to
adresy začínající na 192.168 (přesněji adresy v rozsahu
192.168.0.0 až 192.168.255.0) a sada adres v rozmezí 172.16.0.0
až 172.32.0.0.
Pro přidělování číselných IP adres existují přísná
pravidla. Při připojování k Internetu není možné použít
libovolnou adresu, která vás právě napadne. Aby nedošlo ve světě
ke konfliktům, musí vám nejprve adresu přidělit nějaká
zodpovědná osoba. U intranetu je tomu jinak: protože je vaše síť
oddělená od zbytku světa, můžete si zvolit adresu
libovolně. Stejné je to se jmény domén a počítačů: jméno domény
musí být nejprve zaregistrováno, chcete-li se připojit k
Internetu. Dříve se doporučovalo použít již při tvorbě
intranetu skutečné IP adresy, abyste neměli problémy s pozdějším
připojováním k Internetu. Dnes je to trochu jinak: IP adres
ubývá, zato počítačů připojených do Internetu
přibývá. Pravděpodobnost, že vám někdo jen tak (a za rozumnou
cenu) přidělí pro firmu vybavenou dvaceti počítači dvacet
samostatných IP adres není příliš vysoká. Chcete-li navíc svůj
intranet i po připojení k Internetu před zbytkem světa skrývat,
není vhodné používat skutečné adresy. Doporučuji proto pro
intranetovou síť zvolit adresy uvedené v předcházejícím
odstavci. V příštím díle seriálu si ukážeme, jak intranet
bezpečně připojit k Internetu.
Dále se musíte rozhodnout, jak budou vypadat
slovní adresy počítačů zapojené ve vaší
intranetové síti. Tyto adresy jsou stejné jako v Internetu:
obsahují doménová jména oddělená tečkou. Chcete-li se připojit k
Internetu, doporučuji zvolit doménové jméno stejné jako je vaše
registrovaná doména (dejme tomu, že je to www.firma.cz). Jednotlivé počítače můžete
pojmenovávat libovolně, omezeni jste jen zásadami pro vytváření
doménových jmen: název může obsahovat písmena bez diakritiky
(velká a malá písmena se nerozlišují), znak podtržítko a znak
pomlčka. Většinou se doporučuje nesvazovat příliš jména
jednotlivých počítačů se jmény jejich uživatelů: zaměstnanci
přicházejí a odcházejí, ale síť zůstává. Proto je dobré zvolit
nějaký jiný systém. V ukázkách v článku budu postupně vytvářet
intranet pro doménu firma.cz, jednotlivé
počítače pojmenuji pc1,
pc2, pc3 atd. Server se
bude jmenovat server. Kromě toho serveru
přidělíme ještě nějaká další symbolická jména pro jednotlivé
služby: dns, www
apod. Kdyby se totiž časem ukázalo, že výkon serveru nestačí na
jeho náročné úkoly, bude podstatně jednodušší rozdělit práci pro
několik počítačů: DNS poběží na samostatném počítači dns a
stránky budou na počítači www. Původnímu serveru ponecháme na
starost například jen elektronickou poštu uživatelů. Tato
situace je zatím v nedohlednu, proto si raději ukážeme, jak
nastavit DNS pro server, který všechny tyto úkoly vykonává
současně.
Za chod DNS zodpovídá démon named,
který najdete ve většině distribucí v adresáři
/usr/sbin/named. Démon si svá nastavení čte
z několika konfiguračních souborů. V grafickém prostředí
některých distribucí najdete i nástroje, které potřebné údaje do
konfiguračních souborů doplní za vás. My si však ukážeme, jak
pracovat s konfiguračními soubory, protože je to
nejspolehlivější a především stejné pro všechny
distribuce. Nějaký jednoduchý textový editor najdete v každém
Linuxu.
Konfigurační soubory pro named jsou
dva: named.boot a
named.ca. V prvním souboru je určeno, pro
které domény slouží jako primární server a kde jsou uloženy
informace o těchto doménách. V intranetové síti existuje
většinou jen jedna doména (v našem případě firma.cz). Sestává-li firma z několika velkých
částí, je pochopitelně možné vytvořit domén několik nebo je
různě dělit, ale ve většině případů se to nepoužívá. Druhý
konfigurační soubor pro DNS obsahuje informace o tzv. kořenových
jmenných serverech Internetu: pro intranet jej proto
nepotřebujeme. Jestliže jej po instalaci na svém počítači
nemáte, stačí proto v tuto chvíli vytvořit prázdný
soubor.
Struktura souboru named.boot je
vcelku jednoduchá. Na začátku souboru je za slovem
directory uvedena úplná cesta k adresáři, ve
kterém jsou soubory s informacemi o všech obsluhovaných
doménách. Standardně se tyto informace ukládají do adresáře
/var/named, první řádek souboru by proto
mohl vypadat takto:
directory /var/named
Dále musíme přidat záznamy pro které je náš server
primárním jmenným serverem. Znamená to, že plně odpovídá za
překlad jmen v této doméně. Na další řádek souboru proto napište
za slovo primary název domény a název souboru, ve kterém je
popis domény. Název souboru si můžete libovolně zvolit. Já
například vždy používám pro soubory stejný název, jako je název
domény. Do souboru proto přibude následující řádek:
primary firma.cz firma
Informace o doméně firma.cz jsou uloženy v souboru
firma v adresáři
/var/named. Nic však není tak jednoduché,
jak to na první pohled vypadá. Aby bylo možné překládat oběma
směry, tedy určit IP ze jména a jméno z IP, existuje ke každé
doméně její reverzní doména umožňující určit jméno z IP
adresy. Jméno reverzní domény je odvozeno z prvních tří číslic
IP adresy serveru. Ty se napíšou v obráceném pořadí a připojí se
k nim speciální název in-addr.arpa. Dejme tomu, že jsme se
rozhodli informace o reverzní doméně uložit do souboru
firma.rev (i v tomto případě si můžete
zvolit libovolné jméno). Server bude mít IP adresu
192.168.0.1. Do souboru named.boot proto
přidejte ještě jeden řádek:
primary 0.168.192.in-addr.arpa
Nyní zbývá jen připojit soubory s popisem domén. Každý
soubor obsahuje základní informace o doméně, směrování
elektronické pošty, poddoménách a počítačích, které do domény
patří. Dejme tomu, že v do ukázkové domény patří tři počítače,
pojmenované pc1, pc2 a
pc3. Jak jsem uvedla výše, serveru
pojmenovanému server přidělíme ještě
symbolické jméno www a
dns.
Soubor firma popisující doménu
firma.cz bude vypadat takto:
@ IN SOA dns.firma.cz admin.server.firma.cz (
20000506
86400
3600
3600000
604800
)
IN NS dns.firma.cz.
IN MX 0 server.firma.cz.
localhost. IN A 127.0.0.1
;informace o jednotlivých počítačích:
server IN A 192.168.0.1
IN MX 0 server.firma.cz.
pc1 IN A 192.168.0.2
pc2 IN A 192.168.0.3
pc3 IN A 192.168.0.4
;symbolická jména
www IN CNAME server
dns IN CNAME server
Na začátku souboru je tzv. záznam SOA. Určuje některá
základní nastavení pro doménu. Za zkratkou SOA následuje jméno
primárního serveru pro doménu: jmenuje se dns.firma.cz. Jak již
víte, je to jen jiné jméno pro počítač server.firma.cz. Za
názvem serveru je uvedena emailová adresa správce domény. Na
rozdíl od klasického zápisu je zde znak zavináč,
@, nahrazen tečkou. V uvedeném případě je tedy
adresa správce admin@server.firma.cz. Následuje pět
číslic. První z nich určuje verzi dat v souboru. Je dobré
používat nějaký kód související s datem, kdy došlo k souboru ke
změně (v ukázce vidíte, že soubor byl změněn 5.6. 2000). Podle
sériového čísla poznávají pomocné jmenné servery, zda se změnilo
nastavení DNS. Ačkoli v intranetové síti většinou žádný takový
server není, je nutné sériové číslo uvádět. Může vám posloužit
později jako informace o stáří záznamů v souboru.
Následující čtyři čísla jsou údaje v sekundách. Jsou to
nejrůznější informace pro sekundární servery. První číslo
pomocným serverům říká, jak často mají zjišťovat, zda se
konfigurace nezměnila. Hodnota 86400 odpovídá 24 hodinám, tedy
aktualizaci jednou denně. Druhé číslo určuje, jak často se má
pomocný server pokoušet obnovit spojení, pokud se napoprvé k
hlavnímu serveru nepřipojí. Hodnota 3600 odpovídá frekvenci
dotazů jednou za hodinu. Další číslo určuje, po jaké době bez
navázaného spojení má pomocný server rozhodnout, že doména již
nefunguje. Minimální hodnota je týden, uvedené číslo odpovídá
asi šesti týdnům. Poslední číslo určuje, jak dlouho zůstávají
informace ve vyrovnávací paměti pomocného serveru. V intranetu
se málokdy vyskytuje pomocný DNS server, proto stačí opsat
uvedené nastavení.
Na řádku, který je uveden ihned pod záznamem SOA určujeme,
jak se jmenuje primární server pro popisovanou doménu. Jak
vidíte, v našem případě je opět uvedeno dns.firma.cz. Nic vám
pochopitelně nebrání uvést zde i jiné jméno serveru, například
server.firma.cz.
Následuje záznam MX (Mail eXchanger) určující jména
počítačů, na které má být zasílána elektronická pošta adresovaná
do domény. Tento záznam používají programy pro práci s
elektronickou poštou. Za MX je číslo určující prioritu
počítače. Pošta v doméně nemusí být směrována nutně jen na jeden
počítač. Je-li počítačů více, musí být uvedeny jako samostatný
MX záznam a musí mít různou prioritu. Při doručování pošty se
poštovní program obrátí nejprve na počítač s nejnižší
prioritou. Jestliže se nedočká odezvy, vyzkouší počítač s
prioritou vyšší. Při náhodném výpadku hlavního serveru tak
neztratíte žádný dopis. V intranetu však většinou stačí jeden
záznam pro server.
Řádek začínající slovem localhost obsahuje informace pro
tzv. smyčku (loopback), která je povinně v každém Linuxu. Její
adresa je 127.0.0.0. Řádek proto v souboru být musí, ať chcete
či nikoliv. Všimněte si, že za slovem localhost je
tečka. Nezapomeňte na ni, jinak si připravíte nejednu bezesnou
noc. Nezapomeňte ani na tečky za názvy v záznamech IN NS
a IN MX.
Následuje seznam všech počítačů v doméně. Záznam pro každý
počítač začíná jeho jménem. Za slovy IN A je na řádku vždy
uvedena IP adresa počítače.
Nakonec jsou v souboru dva záznamy pro symbolická jména
serveru. Jsou podobné záznamům pro jednotlivé počítače, místo IN
A však obsahují IN CNAME a místo IP adresy je zde uvedeno
skutečné jméno počítače, k němuž se symbolické jméno
váže. Podobně můžete definovat symbolická jména i pro jiné
počítače v doméně.
Soubor firma.rev obsahující
popis reverzní domény je podstatně jednodušší. Stejně jako
soubor firma, i tento soubor začíná
záznamem SOA. Záznam může zůstat stejný jako v souboru
firma. V souboru je potom uvedena adresa
serveru. Následují záznamy IN PTR vyjadřující vazbu mezi IP
adresou v doméně a jménem počítače. Jsou zde záznamy jen pro
skutečná jména počítačů. V ukázkovém případě proto soubor
obsahuje tyto údaje:
@ IN SOA dns.firma.cz admin.server.firma.cz (
20000506
86400
3600
3600000
604800
)
IN NS dns.firma.cz.
1 IN PTR server.firma.cz.
2 IN PTR pc1.firma.cz.
3 IN PTR pc2.firma.cz.
4 IN PTR pc3.firma.cz.
Opět dejte pozor na tečky za názvy počítačů! Nyní zbývá
jen nově spustit démona named, aby si nové
všiml konfigurace. Poslouží k tomu například příkaz
/etc/rc.d/init/named restart. K restartování
démona je pochopitelně nutné být přihlášen jako uživatel
root.
Zkuste spustit jiný počítač a vyzkoušejte, jestli DNS
skutečně funguje. K testování, zda nějaký počítač odpovídá po
síti na vaše výzvy slouží příkaz ping. Můžete
jej zadat v příkazovém řádku Linuxu i Windows. Příkazu můžete
jako parametr zadat buď jméno počítače, nebo jeho adresu. Zkuste
nejprve ping 192.168.0.1. Bude-li odezva
podobná, jako v následujícím příkladě, znamená to, že se počítač
server ozval a je dostupný.
PING 192.168.0.1 from 192.168.0.2 : 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=1.7 ms
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.5 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.4 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=0.4 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=0.4 ms
--- server.firma.cz ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.4/0.6/1.7 ms
Jestliže se namísto odezvy dočkáte odpovědi Request timed out
znamená to, že je někde problém. Buď máte špatně
nastavenou síť na počítači, ze kterého pinkáte,
nebo jste v nastavení DNS udělali chybu (např. překlep v IP
adresách).
Poslední, co zbývá, je nastavit správně jména a adresy
ostatních počítačů v síti. Ve Windows musíte v nastavení sítě
uvést IP adresu (takovou, jakou počítači přidělíte), IP adresu
DNS serveru (tím je náš dns.firma.cz, tedy 192.168.0.1), masku
podsítě (255.255.255.0) a doménu (firma.cz). Tato nastavení
vyplníte v položce Síť v Ovládacím panelu.
V Linuxu můžete u ostatních počítačů vyplnit stejné údaje.
Můžete využít grafické konfigurační nástroje jako je
netcfg nebo
netconfig. Kromě toho můžete ručně
upravit konfigurační soubor
resolf.conf. Soubor by na všech počítačích
měl obsahovat tyto řádky (jestliže jste se rozhodli pro jinou IP
adresu než 192.168.0.1, uveďte ji na druhém řádku):
domain firma.cz
nameserver 192.168.0.1
Dále zkontrolujte, zda soubor
hosts.conf obsahuje řádek podobný
následujícímu:
order bind hosts
V souboru /etc/hosts je uloženo jméno
počítače a jeho IP adresa. Na počítači pc1 s
IP adresou 192.168.0.2 by tento soubor měl obsahovat dva
řádky:
127.0.0.1 localhost localhost.localdomain
192.168.0.2 pc1.firma.cz pc1
První řádek se týká smyčky, druhý řádek obsahuje IP a
jméno.
A konečně zkontrolujte, zda máte správně
nastaveno jméno počítače. Jméno počítače změníte příkazem
hostname. Stačí zadat hostname -v
jmeno, kde jmeno je nové jméno
počítače. Samotný příkaz hostname bez
parametrů vám vypíše stávající jméno počítače.
Až na ostatních počítačích správně nastavíte jejich jména,
jméno domény a IP adresu DNS serveru, můžete zkusit
pinkat i na jméno serveru. V ideálním případě by
měl mít příkaz ping server.firma.cz odezvu
podobnou jako ta následující:
PING server.firma.cz (192.168.0.1) from 192.168.0.2 : 56(84) bytes of data.
64 bytes from server.firma.cz (192.168.0.1): icmp_seq=0 ttl=64 time=1.7 ms
64 bytes from server.firma.cz (192.168.0.1): icmp_seq=1 ttl=64 time=0.5 ms
64 bytes from server.firma.cz (192.168.0.1): icmp_seq=2 ttl=64 time=0.4 ms
64 bytes from server.firma.cz (192.168.0.1): icmp_seq=3 ttl=64 time=0.4 ms
64 bytes from server.firma.cz (192.168.0.1): icmp_seq=4 ttl=64 time=0.4 ms
--- server.firma.cz ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.4/0.6/1.7 ms
Jestliže se naopak dozvíte, že unknown host
server.firma.cz, je v nastavení DNS pravděpodobně někde
chyba. Zkontrolujte proto znovu veškerá nastavení.
|