Prosim, preberite to poglavje, preden mi pišete.
Berete napačen HOWTO. Oglejte si starejšo različico teg a HOWTO, ki pokriva bind 4, na http://www.math.uio.no/~janl/DNS/
Namig: forward only;
, Verjetno boste potrebovali tudi
query-source port 53;
v razdelku ``options'' v datoteki named.conf
, kot je napisano
v zgledu
Imenski strežnik s predpomnilnikom.
Naredite več A zapisov za www.zelo-zaseden.com in uporabite bind 4.9.3 ali novejšega. Potem bo bind samodejno spreminjal svoje odgovore. Pri prejšnjih različicah binda to ne bo delovalo.
Izpustite datoteko root.hints
in napišite le območne datoteke. To
tudi pomeni, da vam ne bo treba posodabljati datoteke root.hints.
Če ima primarni/glavni strežnik naslov 127.0.0.1, dodajte tale razdelek v named.conf sekundarnega strežnika:
zone "linux.izmislek" { type slave; file "sz/linux.izmislek"; masters { 127.0.0.1; }; };
V polje masters
lahko vpišete tudi več glavnih strežnikov,
ločenih s ';' (podpičji).
V zvezi s tem so na voljo štiri rešitve:
Odkril sem novo različico BIND, pri kateri ni več potrebe po [<em/prekladanju datotek -ed/]. Poznamo nastavitev "forward" poleg nastavitve "forwarders", ki nadzira, kako se uporabljajo. Privzeta nastavitev je "forward first", ki najprej povpraša vse strežnike, podane v nastavitvi "forwarders", in šele zatem poskuša opraviti normalen, dolgotrajen postopek. Zato klic gethostbyname() traja tako dolgo časa, ko povezave ni. Toda če se nastavi "forward only", potem BIND obupa, ko ne dobi odgovora od posredovalcev. Tako se gethostbyname() hitro vrne. Zato se potem ni treba igrati s premeščanjem datotek v /etc in vnovičnim zagonom strežnika. V svojem zgledu sem le dodal vrstice forward only; forwarders { 193.133.58.5; }; v options { } razdelku moje datoteke named.conf. Deluje zelo lepo. Edina pomanjkljivost je, da spremeni zelo napreden kos programja DNS v neumen predpomnilnik. Ponekod bi želel uporabljati samo neumen predpomnilnik DNS, toda ni videti, da bi bilo kaj takega na voljo za Linux
Named tukaj poganjam v računalniku za 'Maškarado'. Imam dve datoteki root.hints, ena se imenuje root.hints.real in so v njej resnični podatki, druga pa je root.hints.fake in so v njej... ---- ; root.hints.fake ; this file contains no information ---- Ko se odklopim iz interneta, prekopiram datoteko root.hints.false v root.hints in vnovič zaženem named. Ko pa se priključim v internet, prekopiram root.hints.real v root.hints in vnovič zaženem named. Oboje postorita skripti ip-down in ip-up. Prvič, ko opravim poizvedbo o domeni, named nima podatkov o njej in v `messages' napiše... Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN A to me ne moti. Kar se mene tiče, vsekakor odlično deluje. Imenski strežnik lahko uporabljam za krajevne računalnike, ko niso priključeni v internet, in sicer brez poteka časa za zunanje domene; ko sem priključen v internet, pa delujejo poizvedbe normalno.
Peter Denison je menil, da Ian ne gre dovolj daleč, in je napisal:
Ko povezan) Ponudi predpomnjene (in LAN) vnose takoj. Nepredpomnjene vnose pa posreduj imenskemu strežniku ISP Ko nepovezan) Ponudi LAN vnose takoj Za druge poizvedbe **takoj** vrni napako. Kombinacija spreminjanja datoteke root.cache in posredovanja poizvedb ne deluje. Zato sem vzpostavil (po debati s krajevno LUG - Linux Users Group) dva Nameda, kot je dano: named-povezan: posreduje imenskemu strežniku ISP primarni za območje lokalnet primarni za obratno območje lokalnet (1.168.192.in-addr.arpa) primarni za 0.0.127.in-addr.arpa posluša na vratih 60053 named-zaprt: brez posredovanja datoteka "nepravi" root.cache sekundarni za 3 območja localnet (primarni je 127.0.0.1:60053) posluša na vratih 61053 Skupaj s preusmerjanjem vrat, ki preusmeri vrata 53 na 61053, ko sem povezan, in na 60053, ko sem nepovezan. (Uporabljam novi paket netfilter pod 2.3.18, toda stari (ipchains) mehanizem bi tudi moral delovati.) Opozorilo: to ne bo delovalo čisto takoj po priključitvi, ker hrošček v BIND 8.2, ki sem ga že posredoval razvijalcem, prepreči delovanje sekundarnega, če je primarni na istem IP (četudi na drugih vratih). Gre za enostaven popravek, ki bo moral biti kmalu dodan.
Navadno poganjam lasten named v vseh računalnikih, ki so le občasno priključeni v internet prek modema. Imenski strežnik se vede le kot predpomnilnik, nima območja pristojnosti in za vse poizvedbe sprašuje strežnike iz datoteke root.hints. Kot je v navadi za Slackware, se tudi zažene pred nfsd in mountd. Z enim od mojih računalnikov (Libretto 30 notebook) sem imel težave - včasih sem ga lahko dosegel iz drugega sistema, priključenega v moj LAN, večinoma pa to ni delovalo. Ista težava se je pokazala ne glede na to, ali sem uporabljal PLIP, omrežno kartico PCMCIA ali PPP po zaporedni povezavi. Z nekaj ugibanja in poskušanja sem ugotovil, da je named nekako pokvaril postopek prijave, ki ga nfsd in mountd izvedeta s portmapperjem pri zagonu (navadno takrat, ko zaženem računalnik). Zagon named po nfsd in mountd je to težavo popolnoma odpravil. Ker tako spremenjena zagonska procedura nima stranskih učinkov, vam priporočam, da jo popravite in tako preprečite morebitne težave.
Predpomnilnik je v celoti shranjen v pomnilniku in ni nikoli zapisan na disk, zato vsakič, ko ubijete named, izgubite njegovo vsebino. Predpomnilnika ni mogoče upravljati. Named ga uredi po nekih preprostih pravilih in to je to. Njegove vsebine in velikosti ne morete nikakor spremeniti ali omejiti. Če želite, lahko to ``popravite'' s hekanjem named, vendar vam tega ne priporočam.
Named svojega predpomnilnika ne shranjuje, ko umre. To pomeni, da mora predpomnilnik zgraditi na novo vsakič, ko ga ubijete in vnovič zaženete. Ni načina, da bi named shranil svoj predpomnilnik v datoteko. Če želite, lahko to ``popravite'' s hekanjem named, vendar vam tega ne priporočam.
linux-rules.net
. Kako bi jo lahko pripisal nase?
Povprašajte svojega ponudnika internetnih storitev, on vam bo zagotovo znal pomagati. Vendar si zapomnite, da je po svetu večinoma treba za domeno plačati.
Oboje sta napredni temi in si o njima lahko preberete v http://www.etherboy.com/dns/chrootdns.html. O tem tu ne bom več razglabljal.