Jak na Internet server ? (3)

Zatφm jsem se v∞noval nastavenφm routingu. Nynφ si p°edstavme, ₧e se v uvedenΘ lokßlnφ sφti chceme z n∞kterΘho PC p°ipojovat k serveru (t°eba pomocφ telnetu).

Domain Name Service

Osobn∞ sice nepova₧uji p°φkaz 'telnet 200.0.5.65' za nic krkolomnΘho (sßm Φasto IP adresy takto pou₧φvßm), ale u₧ivatelΘ mohou mφt na celou v∞c jin² nßzor.

Proto vznikl hostlist, soubor, v n∞m₧ jsou uvedena jmΘna poΦφtaΦ∙ a k nim nßle₧φcφ IP adresy. Na unixov²ch systΘmech b²vß hostlistem soubor /etc/hosts, na poΦφtaΦφch s OS/2 b²vß hostlistem soubor X:\TCPIP\ETC\hosts nebo ve X:\MPTN\ETC\hosts, na poΦφtaΦφch s MS-Windows pak X:\WINDOWS\hosts, kde X: je systΘmov² disk. Takhle by mohl vypadat hostlist pro uvedenou sφ¥:

200.0.5.66 pc1
200.0.5.67 pc2
200.0.5.68 pc3
200.0.5.130 pc4
200.0.5.131 pc5
200.0.5.132 pc6
200.0.5.65 server

Pomocφ tohoto hostlistu je mo₧nΘ v²Üe uveden² p°φkaz 'telnet 200.0.5.65' nahradit p°φkazem 'telnet' 'server'. Uvßd∞t druhΘ a p°φpadnß dalÜφ sφ¥ovß rozhranφ serveru je naprosto zbyteΦnΘ.

Tento soubor by pak m∞l b²t ulo₧en na vÜech poΦφtaΦφch na tΘto sφti - u₧ to je vÜak pon∞kud nepraktickΘ, nebo¥ nap°. po p°idßnφ jednoho poΦφtaΦe do domΘny by bylo t°eba updatovan² soubor na vÜechny poΦφtaΦe v sφti znovu nakopφrovat. V takhle malΘ sφti to jeÜt∞ nenφ takov² problΘm, ale p°edstavte si sφ¥ s tisφci poΦφtaΦi, nebo t°eba cel² Internet. Navφc v takov²ch sφtφch by hostlist nabφral takovou velikost, ₧e byste si na n∞j museli koupit celΘ diskovΘ pole...

Proto vznikl systΘm DNS, Domain Name Service (pon∞kud kostrbat² p°eklad Jmennß slu₧ba pou₧φvat rad∞ji ani nebudu). DNS nßs zbavuje vÜech nev²hod hostlistu, je vÜak mnohem slo₧it∞jÜφ (a to i na pochopenφ).

Zßkladem celΘ slu₧by DNS je nameserver. Nameserverem je myÜlen poΦφtaΦ, na n∞m₧ b∞₧φ DNS program (jeho₧ nejΦast∞jÜφ implementace je znßmß pod nßzvem BIND, co₧ ovÜem nemß nic spoleΦnΘho s p°ivazovßnφm a provazy, ale je to zkratka z Berkeley Internet Name Domain. V∞tÜinou se ale onen program jmenuje 'named'. Slu₧by DNS vyu₧φvajφ TCP/IP port∙ (socket∙) 42 a 53.

Nameserveru se ptß na adresu IP poΦφtaΦe se specifikovan²m jmΘnem program zvan² resolver - ten je ji₧ tΘm∞° v₧dy souΦßstφ stacku TCP/IP, tak₧e se o n∞j nemusφte starat. KonfiguraΦnφ soubor od resolveru je na Unixu /etc/resolv.conf, v OS/2 X:\TCPIP\BIN\resolv, pop°. X:\MTPN\BIN\resolv, v MS-Windows b²vß konfigurace resolveru sice uvedena jinak, ale nakonec se stejn∞ generuje soubor X:\WINDOWS\resolv, kde X: je jmΘno systΘmovΘho disku. Formßt souboru resolv je nßsledujφcφ:

domain domena.cz

nameserver 200.0.5.65
nameserver 200.0.5.68
domain jina_domena.com
nameserver 123.45.67.8

V₧dy prvnφ je uvedeno jmΘno domΘny, dßle pak primßrnφ nameserver a p°φpadn∞ tΘ₧ dalÜφ sekundßrnφ nameservery. Adresa nameserveru 'musφ' b²t Φφselnß (jinak by Ülo o klasick² rekurzivnφ deadlock, proto₧e pak nelze zφskat IP adresu serveru, nebo¥ nelze zφskat IP adresu serveru, jeliko₧ nelze zφskat IP adresu serveru atd...). Resolver se ptß na IP adresu poΦφtaΦe ve zmφn∞nΘ domΘn∞ na serveru uvedenΘho v₧dy pro danou domΘnu na prvnφm mφst∞, nedostane-li se mu odpov∞di, ptß se dalÜφho atd. Pokud se resolver tß₧e na jmΘno poΦφtaΦe, jeho₧ domΘna nenφ v resolv.conf uvedena, tß₧e se prvnφho nameserveru, kter² v resolv.conf najde, pokud se mu nepoda°φ se spojit se serverem, vznßÜφ dotaz na dalÜφ nameserver atd.

Tolik o Φßsti klientskΘ, kterß je relativn∞ jednoduchß, nynφ p°ijde na °adu Φßst serverovß.

V principu rozliÜujeme t°i druhy nameserver∙, kterΘ, aΦ se neliÜφ b∞₧φcφm softwarem, liÜφ se funkcφ - nameservery primßrnφ, sekundßrnφ a nameservery cache only.

Primßrnφ nameserver je pro ka₧dou domΘnu jen jeden a obsahuje cel² DNS zßznam svΘ domΘny (nebo vφce domΘn, nebo¥ jak²koli nameserver m∙₧e spravovat libovolnΘ mno₧stvφ domΘn - resp. omezenφ jsou jen hardwarovΘho rßzu).

Sekundßrnφ nameservery kopφrujφ z primßrnφho nameserveru tyto zßznamy o spravovan²ch domΘnßch a cache-only nameservery slou₧φ jen jako cache - zaznamenßvajφ si p°φstupy a zφskßnφ adresy z domΘnovΘho jmΘna urychlujφ - nutno podotknout, ₧e tuto Φinnost konajφ i ostatnφ nameservery, kdy₧ p°es n∞ n∞jak² DNS zßznam putuje.

A jak takov² nameserver nastavit ? Dßle ukß₧i soubor named.boot, pou₧φvan² programem named/BIND, pro primßrnφ server domΘny domena.cz a pro sekundßrnφ server domΘny druha_domena.cz:

Nynφ si definujeme DNS zßznam naÜφ domΘny (soubor domena.cz.db):

JmΘno poΦφtaΦe s IP adresou definujeme pomocφ zßznamu typu A. Zßznam typu NS definuje nameserver pro specifikovanou (nebo takΘ pro implicitnφ) domΘnu. Pom∞rn∞ zajφmav² je zßznam MX, definujφcφ, kam mß sm∞°ovat poÜta pro tu kterou domΘnu (blφ₧e v dalÜφch pokraΦovßnφch o InternetovΘm E-mailu). Zßznam CNAME definuje nick (p°ezdφvku) pro n∞jak² poΦφtaΦ - v tomto p°φpad∞ pro poΦφtaΦ server.domena.cz definuji p°ezdφvku www (kv∙li obvyklΘ URL adresaci - na Web server na tomto poΦφtaΦi bude mo₧no p°istupovat p°es http://www.domena.cz/) a takΘ p°ezdφvku mail (kv∙li menÜφ pracnosti konfigurace n∞kter²ch klientsk²ch mailov²ch program∙). V²znam SOA zde blφ₧e rozvßd∞t nebudu, pou₧ijte dokumentaci od bindu (v Unixu vyvolßte p°φkazem 'man named'). Nezapome≥te na teΦky za jmΘny poΦφtaΦ∙ (definujφ konec jmΘna, jinak by z poΦφtaΦe server.domena.cz byl poΦφtaΦ server.domena.cz.domena.cz atd.). U reverznφho name-lookingu se pou₧φvß jeÜt∞ zßznam∙ typu PTR.

KonfiguraΦnφ zßznam domΘny druha_domena.cz musφ b²t p°φtomen na primßrnφm nameserveru domΘny druha_domena.cz, odkud si jej nßÜ server sßm automaticky p°evezme, a naopak, p°φpadn² sekundßrnφ nameserver si p°evezme DNS zßznam naÜφ domΘny z naÜeho primßrnφho nameserveru. Pro jednoduchost neuvßdφm nastavenφ reverznφho nameserveru - pokud dokß₧ete nastavit nameserver, pak reverznφ nameserver dßte dohromady takΘ.

Jen pro informaci - DNS server nemusφ pracovat jen v sφti zapojenΘ do Internetu, ale i v sφti, kterß v Internetu nenφ, pop°. v sφti, kterß je za firewallem. Zde si musφte server nastavit jako ko°enov², co₧ vcelku nenφ problΘm, jen je pot°eba op∞t Φφst dokumentaci.

Zbyn∞k Pospφchal


HorkΘ novinky | internet4U homepage