Nimeserveri tööleseadmine
Sisukord
- 1 Sissejuhatus
- 2 Nimeserveri seadistusfail
- 3 Tsooni zoo.tartu.ee. päri-ja pöördteistenduste tsoonifailid
- 4 Tsooni zoo.tartu.ee. päriteisenduste tsoonifail
- 5 Tsooni zoo.tartu.ee. pöördteisenduste tsoonifail
- 6 Käivitamine
- 7 Tsooni localhost. päri-ja pöördteisenduste tsoonifailid
- 8 Tsooni localhost. päriteistenduste tsoonifail
- 9 Tsooni localhost. pöördteisenduste tsoonifail
- 10 Juurnimeserverite kirjeldusfail
- 11 Tsooni tiik.aed. päri-ja pöördteisenduste tsoonifailid
- 12 Tsooni tiik.aed. päriteisenduste tsoonifail
- 13 Tsooni tiik.aed. pöördteisenduste tsoonifail
- 14 Nimeserveri avalikule kasutusele võtmine
- 15 Sekundaarse nimeserveri seadistamine
- 16 Tsoonide zoo.tartu.ee. ja 10.40.193.in-addr.arpa. delegeerimine
- 17 Logi
- 18 Vaheladu
Sissejuhatus
Enne nimeserveri paigaldamist tuleb planeerida
* milliste domeeninimede lahendamisega ta hakkab tegelema * milliseid kliente ta hakkab teenidama * millisesse masinasse on teda kõige otstarbekam paigaldada * millised nimeserverid on nõus hakkama tema tsoonide sekundaarseks nimeserveriteks
Kuna nimeserver peab olema üldiselt hästi kättesaadav kõikvõimalikele klientidele, siis paigaldatakse ta tavaliselt võrgu sõlmpunktidesse, so masinatesse, mis asuvad mitme võrgu piiril või selle lähedal.
Nimeserveri kasutuse planeerimine
Skeemil on kujutatud asutuse server kalake.zoo.tartu.ee, mis on ühelt poolt ühendatud internetti (193.40.10.2) ja teiselt poolt kohtvõrguga (192.168.10.1)
(( ..- ) ( ) ( ) ( ))) INTERNET ( . -) ((. ) (---- ) | | __|__ | | zoo-ruuter |__ __| 193.40.10.1 | | - - - - - - - teie haldusala piir - - - - - - - - | avalik võrk | |---|-- 193.40.10.0/24 ---|-------|--------------|-----| eth0 | __|__ __|__ __|__ 193.40.10.2 | | ... | | | | |_____| |_____| | | kalake 193.40.10.3 193.40.10.254 |__ __| | 192.168.10.1 eth1 | | sisevõrk |---|-----------------|--- 192.168.10.0/24 -------|-----| | | __|__ __|__ | | .... | | |_____| |_____| 192.168.10.2 192.168.10.254
Eeldame, et serveri ja kõigi kohtvõrgu klientide võrguseadmed ning ruuting on konfigureeritud vastavalt skeemile ning jääb üle vaid nimede lahedamine korda teha. Nagu skeemilt näha, teostatakse serveris kohtvõrgu 192.168.10.0/24 suhtes maskeraadi.
Nimed on otsustatud jaotada kahte domeeni, mis langevad kokku alamvõrkudega
* zoo.tartu.ee. - 193.40.10.0/24 * tiik.aed. - 192.168.10.0/24
Nimede ja IP-aadresside vastavus on selline
domeeninimi IP-aadress vork.zoo.tartu.ee 193.40.10.0 levi.zoo.tartu.ee 193.40.10.255 zoo-ruuter.zoo.tartu.ee 193.40.10.1 zoo.tartu.ee 193.40.10.2 kalake.zoo.tartu.ee 193.40.10.2 tuvike.zoo.tartu.ee 193.40.10.3 vork.tiik.aed. 192.168.10.0 kala.tiik.aed. 192.168.10.1 tiik.aed. 192.168.10.1 kahv.tiik.aed. 192.168.10.2 vesi.tiik.aed. 192.168.10.3 levi.tiik.aed. 192.168.10.255 Lähtematerjali valik
Programm BIND on vaba tarkvara ning ta on praktiliselt kõigi vabade operatsioonisüsteemide (sh Linux ja FreeBSD) osa. Kõige mugavam on teda paigaldada oma operatsioonisüsteemi paketist. Soovides ise kompileerida, kopeerige BINDi arendamisega tegeleva ISC (Internet Software Consortsium) kodulehelt http://www.isc.org/ programmi lähtetekstid.
Näiteks gentool võib olla bind mitte süsteemi paigutatud installi käigus. Küsige programmi versiooni mis serveris.
bash# named -v BIND 9.3.2
Nimeserveri seadistusfail
Nimeserverit ei õnnestu käivitada muidu, kui ei ole moodustatud sobivaid seadistusfaile. Bindi tööd juhib tavaliselt üks seadistusfail /etc/named.conf ning vastavalt vajadustele moodustatud tsoonifailid. Tsoonifailides on kirjas need andmed, mille suhtes on kõnealune nimesever pädev.
Seadistame esmalt nimeserveri käima kahe tsooni jaoks: zoo.tartu.ee. domeeni nimede päri-ja pöördteisenduste tegemiseks.
Looge sellise sisuga seadistusfail /etc/named.conf
options { directory "/etc/namedb"; allow-transfer { 193.40.10.193; 127.0.0.1; }; }; zone "zoo.tartu.ee" { type master; file "zoo.tartu.ee.zone"; allow-query { any; }; }; zone "10.40.193.in-addr.arpa" { type master; file "10.40.193.zone"; };
Selles failis on näidatud, et tsoonifailid paiknevad kataloogis /etc/namedb. Ja,et lubatakse tsooni transporti
lokaalses masinas ning 193.40.10.193 nimelises, mis on sekundeerivaks nimeserveriks.
Kusjuures kirjeldamist vajavad kaks tsooni
* zoo.tartu.ee. - tsoonile vastab päriteisenduste kohta andmeid sisaldav tsoonifail zoo.tartu.ee.zone * 10.40.193.in-addr.arpa - tsoonile vastab pöördteisenduste kohta andmeid sisaldav tsoonifail 10.40.193.in-addr.arpa.zone
Kuna nimeserver on antud domeenide jaoks primaarne, siis on see näidatud reaga 'type master;'. file'i järel on näidatud vastava tsoonifaili nimi, kataloogi /var/named suhtes.
Tsooni zoo.tartu.ee. päri-ja pöördteistenduste tsoonifailid
Tsooni zoo.tartu.ee. päriteisenduste tsoonifail
zoo.tartu.ee.zone failis kirjeldatakse domeeninimedele vastavad IP-aadressid.
$TTL 86400 @ IN SOA kalake.zoo.tartu.ee. root.zoo.tartu.ee. ( 2001072801 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum zoo.tartu.ee. 1D IN NS kalake.zoo.tartu.ee. vork.zoo.tartu.ee. 1D IN A 193.40.10.0 levi.zoo.tartu.ee. 1D IN A 193.40.10.255 zoo-ruuter.tartu.ee. 1D IN A 193.40.10.1 kalake.zoo.tartu.ee. 1D IN A 193.40.10.2 zoo.tartu.ee. 1D IN A 193.40.10.2 tuvike.zoo.tartu.ee. 1D IN A 193.40.10.3
Tsoonifail koosneb ridadest, tavaliselt vastab reale tsoonifaili kirje. Mööname, et samasuguse toimega tsoonifaili saaks panna kirja ka lühemalt, kuid selguse huvides me seda esialgu ei tee.
Kommenteerime kasutatud ridu ja kirjeid rida haaval
$TTL 86400
Reaga defineeritakse kõikide selle tsooni domeeninimede elueaks 86 400 sekundit ehk üks ööpäev.
@ IN SOA 1D kalake.zoo.tartu.ee. root.zoo.tartu.ee. (
2001072801 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum
Sellele osale vastab ilma kommentaarideta rida
zoo.tartu.ee. 1D IN SOA zoo.tartu.ee. root.zoo.tartu.ee. 2001072801 3H 15M 1W 1D
@ Reaga näidatakse, et tegu on tsooniga zoo.tartu.ee.
Niisiis, semikooloni (;) järel olevat käsitletakse kommentaarina ning sulge kasutatakse nende andmete, mis peaksid muidu olema ühel real, kirjutamiseks mitmele.
Toome järjekorras iga elemendi kohta selgituse
* zoo.tartu.ee. - kirje nimi, st domeeninimi, mille kohta SOA real näidatud parameetrid käivad * 1D - kirje eluaeg (aeg kui kaua vastava tsooni domeeninimed interneti vaheladudes säilitatakse) * IN - näitab, et rida on IN (interet) tüüpi kirje * SOA - näitab, et rida on SOA kirje * kalake.zoo.tartu.ee. - domeeni primaarne nimeserver * root.zoo.tartu.ee. - domeeni eest vastutava kontaktisiku e-postiaadress (@ asemel kasutatakse punkti!) * 2001072801 - seerianumber (näitab, kas tsoonis on vahepeal tehtud muudatusi; seda tuleb muudatuste kehtestumiseks iga kord suurendada) * 86400 - värskendusperiood (määrab kui tihti sekundaarne nimeserver kopeerib andmed primaarselt) * 7200 - korduskatse (kui korraline andmete kopeerimine ei õnnestunud, siis näidatud ajavahemiku järel uuesti proovida) * 2419200 - parim möödas (kui sekundaarsel nimeserveril ei õnnestunud andmeid uuendada, siis näidatud ajavahemiku möödudes viimasest värskendusest ei pea sekundaarne end kõnesoleva tsooni suhtes pädevaks) * 10800 - eluaeg (tsooni kirjete jaoks vaikimisi aeg, kui kaua vastava tsooni domeeninimed interneti vaheladudes säilitatakse)
zoo.tartu.ee. 1D IN NS kalake.zoo.tartu.ee.
See NS kirje on tsooni zoo.tartu.ee. pädevuskirje, millega näidatakse, et tsoon zoo.tartu.ee. jaoks on pädev nimeserver kalake.zoo.tartu.ee.
vork.zoo.tartu.ee. 1D IN A 193.40.10.0
See ja järgnevad A-kirjed seovad domeeninimele vastava IP-aadressi.
Tsooni zoo.tartu.ee. pöördteisenduste tsoonifail
Failis 10.40.193.in-addr.arpa kirjeldatakse IP-aadressidele vastavad domeeninimed
$TTL 86400 @ IN SOA kalake.zoo.tartu.ee. root.zoo.tartu.ee. ( 2001072801 ; Serial 3H ; Refresh 15M ; Retry 1W ; Expire 1D ) ; Minimum 10.40.193.in-addr.arpa. IN NS kalake.zoo.tartu.ee. 0.10.40.193.in-addr.arpa. IN PTR vork.zoo.tartu.ee. 255.10.40.193.in-addr.arpa. IN PTR levi.zoo.tartu.ee. 1.10.40.193.in-addr.arpa. IN PTR zoo-ruuter.zoo.tartu.ee. 2.10.40.193.in-addr.arpa. IN PTR kalake.zoo.tartu.ee. 3.10.40.193.in-addr.arpa. IN PTR tuvike.zoo.tartu.ee.
Kõik kirjed ja kirjete väljad on sarnase tähendusega nagu eelmise tsoonifaili puhul, kusjuures lisandunud PTR tüüpi kirje seob in-addr.arpa. domeeninimega 'päris' domeeninime. Efektiivselt toimub domeeninimede pöördteisendus, so IP-aadressid seostatakse domeeninimedega.
Käivitamine
Nimeserveri käivitamine toimub tavaliselt juurkasutaja õigustes juhtprogrammiga rndc, mis asendab bind 8 käsku ndc
bash# rndc start
Soovitav on vaadata ka süsteemi logisse samal ajal ilmuvaid teateid konfiguratsioonis leitud vigade kohta. Õnnestumisel lõpetab logi teatega
Jul 30 13:27:08 tsirk named[1005]: listening on IPv4 interface lo, 127.0.0.1#53 Jul 30 13:27:08 tsirk named[1005]: listening on IPv4 interface eth0, 193.40.10.2#53 Jul 30 13:27:08 tsirk named[1005]: listening on IPv4 interface eth0, 192.168.1.1#53
Lisaks tunnistab ndc käske
* stop - nimeserveri töö lõpetamine * reload - muudetud tsoonifailide laadimine * restart - nimeserveri taaskäivitamine; vajalik nimeserveri konfiguratsioonifailis tehtud muutuste kehtestamiseks
Seejärel veenduge, et teie nimeserver päringuid lahendab. Näiteks küsige tsooni zoo.tartu.ee. kohta võtmega ANY
bash$ dig @kalake.zoo.tartu.ee. zoo.tartu.ee. ANY
Vastus võiks olla sarnane punktis Päringud toodule. Katsetage ka teisi küsimusi.
Tsooni localhost. päri-ja pöördteisenduste tsoonifailid
Nagu teada on UNIXilistel olemas nö sisemine võrguseade lo, millega seostatakse nimi localhost ja IP-aadress 127.0.0.1. Ka see on kombeks kirjeldada nimeserveris.
Lisage nimeserveri seadistusfaili /etc/named.conf lisaks kaks lõiku
zone "localhost" IN { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "0.0.127.zone"; };
Tsooni localhost. päriteistenduste tsoonifail
localhost.zone failis kirjeldatakse domeeninimedele vastavad IP-aadressid.
$TTL 86400 @ IN SOA kalake.zoo.tartu.ee. root.zoo.tartu.ee. ( 2001072801 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum localhost. IN NS kalake.zoo.tartu.ee. localhost. IN A 127.0.0.1
Tsooni localhost. pöördteisenduste tsoonifail
0.0.127.in-addr.arpa.zone failis kirjeldatakse domeeninimedele vastavad IP-aadressid.
$TTL 86400 @ IN SOA kalake.zoo.tartu.ee. root.zoo.tartu.ee. ( 2001072801 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS kalake.zoo.tartu.ee. 1.0.0.127.in-addr.arpa. IN PTR localhost.
Juurnimeserverite kirjeldusfail
Reeglina peavad nimeserverid teadma juurnimeserverite IP-aadresse. Salvestage programmiga dig parasjagu toimivate juurnimeserverite aadressid faili root.hints
bash# dig > /var/named/root.hints
zone "." IN { type hint; file "root.hints"; };
Tsooni tiik.aed. päri-ja pöördteisenduste tsoonifailid
Lisage nimeserveri seadistusfaili /etc/named.conf lisaks lõik
zone "tiik.aed" IN { type master; file "tiik.aed.zone"; }; zone "10.168.192.in-addr.arpa" IN { type master; file "10.168.192.zone"; };
Tsooni tiik.aed. päriteisenduste tsoonifail
aed.tiik.zone failis kirjeldatakse domeeninimedele vastavad IP-aadressid
$TTL 86400 @ IN SOA kalake.zoo.tartu.ee. root.tiik.aed. ( 2001072801 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum tiik.aed. IN NS kalake.zoo.tartu.ee. vork.tiik.aed. IN A 192.168.1.0 tiik.aed. IN A 192.168.1.1 kala.tiik.aed. IN A 192.168.1.1 kahv.tiik.aed. IN A 192.168.1.2 vesi.tiik.aed. IN A 192.168.1.3
Tsooni tiik.aed. pöördteisenduste tsoonifail
Failis 1.168.192.in-addr.arpa kirjeldatakse IP-aadressidele vastavad domeeninimed
$TTL 86400 @ IN SOA kalake.zoo.tartu.ee. root.zoo.tartu.ee. ( 2001072801 ; Serial 3H ; Refresh 15M ; Retry 1W ; Expire 1D ) ; Minimum 10.168.192.in-addr.arpa. IN NS kalake.zoo.tartu.ee. 0.10.168.192.in-addr.arpa. IN PTR vork.tiik.aed. 255.10.168.192.in-addr.arpa. IN PTR levi.tiik.aed. 1.10.168.192.in-addr.arpa. IN PTR kala.tiik.aed. 2.10.168.192.in-addr.arpa. IN PTR kahv.tiik.aed. 3.10.168.192.in-addr.arpa. IN PTR vesi.tiik.aed.
Nimeserveri avalikule kasutusele võtmine
Selleks, et internetikasutajad saaksid teie nimesid kasutada, peate oma kirjeldatud domeenid registreerima. Domeeni registreerimisel lisatakse teie domeenist ülespoole jääva domeeni teenindava nimeserveri sobivasse tsooni vastav delegeerimiskirje. See delegeerimiskirje näitab millise nimeserveri pädevusse on kõnealuse domeeni kohta käivad andmed usaldatud.
Praktiliselt seadistatakse iga enda pädevusse saadava domeeni jaoks vähemalt kaks nimeserverit, tavaliselt üks primaarne ja teine sekundaarne. Mõnel juhul on see kõigi internetikasutajate huvides tehtud ka kohustuslikuks.
Jätkates esitatud näidet, on põhjust registreerida vaid zoo.tartu.ee. domeen, kuna teine on vaid kohaliku tähtsusega.
Sekundaarse nimeserveri seadistamine
Kui primaarse nimeserveri seadistamisega on üksjagu tegemist, siis sekundaarset on tunduvalt lihtsam tööle seada. Sekundaarse nimeserverina sobib kasutada mõnda muud juba töötavat nimeserverit, lisades selle nimeserveri seadistusfaili lõigud päri-ja pöördteisenduste kohta
zone "zoo.tartu.ee" { type slave; file "zoo.tartu.ee.slave.zone"; masters { kalake.zoo.tartu.ee; }; }; zone "10.40.193.in-addr.arpa" { type slave; file "10.40.193.in-addr.arpa.slave.zone"; masters { kalake.zoo.tartu.ee; }; };
primaarses nimeservers peab olema defineeritud ka rida allow-transfer option sektsioon
allow-transfer { 193.40.10.193; 127.0.0.1; };
Tulemusena kopeerib sekundaarne primaarselt nimeserverilt vastavad primaarse nimeserveri tsoonid omale ja salvestab failidesse zoo.tartu.ee.slave.zone. ning 10.40.193.in-addr.arpa.slave.zone. Kopeerimine toimub tsoonide SOA-kirjes näidatud värskendusperioodiga.
Normaalsel juhul on sekundaarne nimeserver klientide jaoks kõnealuse tsooni suhtes sama pädev kui primaarnegi.
Tsoonide zoo.tartu.ee. ja 10.40.193.in-addr.arpa. delegeerimine
Teatades domeeni zoo.tartu.ee. registreerimissoovis domeeni tartu.ee. administraatorile, esmalt veendudakse, et delegeeritavad domeenid on korrektselt kirjeldatud, so nimeserverid annavad päringutele adekvaatseid vastuseid.
Seejärel lisatakse tartu.ee. tsoonifaili kaks delegeerimiskirjet ning üks kleepekirje
zoo.tartu.ee. IN NS kalake.zoo.tartu.ee. kalake.zoo.tartu.ee. IN A 193.40.10.1 zoo.tartu.ee. IN NS kool.tartu.ee.
Kui kleepekirjet mitte kasutada, siis ei lahenduks nimi kalake.zoo.tartu.ee. internetikasutajate jaoks, va nende kasutajate jaoks, kes on seadnud otseselt end teenindama nimeserveri kalake.zoo.tartu.ee. Tõepoolest, domeeninimi kalake.zoo.tartu.ee. on kirjeldatud nimeserveri kalake.zoo.tartu.ee. tsoonis zoo.tartu.ee. ja et selle tsoonini jõuda, peab olema teada nimele kalake.zoo.tartu.ee. vastav IP-aadress. See aadress tehaksegi kleepekirjega internetikasutajatele teatavaks. Kleepekirje on ainus erand, mil on lubatud domeeninime kirjeldada väljaspool oma tsooni.
Kirjeldatud põhjusel ei ole sekundaarseks nimeserveriks hakanud kool.tartu.ee. nimele kleepekirjet tarvis.
Samuti lisatakse ka domeeni 40.193.in-addr.arpa. tsoonifaili sarnased delegeerimiskirjed
10.40.193.in-addr.arpa. IN NS kalake.zoo.tartu.ee. 10.40.193.in-addr.arpa. IN NS kool.tartu.ee.
Päri-ja pöördteisendusi võivad teile delegeerida üldiselt ka erinevad nimeserverid.
Logi
Vaikimisi saadab BIND süsteemi logisse käivitamisel või tsoonifailide laadimisel ilmnenud veateated.
bash# tail -f /var/log/messages
Vaheladu
Saates nimeserveri protsessile SIGINT signaali, salvestab ta parasjagu mälus olevad andmed faili, vaikimisi /var/named/named_dump.db
bash# kill -INT PID