Re: BIND9 a přízaz host nepřekládá

Petr Koval pk na nux.at
Pátek Duben 23 17:21:52 CEST 2004


Dalibor Straka <dast na panelnet.cz> wrote:
> Tak posli co nejrelevantnejsi cast kofiguraku named.conf a definici
> zony. Dobre to rozmysli, bude to v archivu ;o)

jako pomucku si vezmu
http://pekosoft.nux.at/named/
a pripravim se dusevne na opravovani chyb druhymi ;-)

tak nevim, ted sem si to cele precet, co sem ted napsal
a je to opet delsi, nez sem predpokladal :-)

text:

zakladni funkci snad zopakovat nemusim
tcp 53 pro zone transfery a
udp 53 pro dns zaznami dotazy

na to aby dns sluzba jela, neni nevyhnutelne
aby vsechny zaznamy (IN x recordy jako A CNAME apod)
ve vsech zaznamovych skucinach (SOAch) byli spravne
to by melo za nasledek, ze by poze defektni skupiny
a vsechny zaznamy techto skupin byli nodotazatelne
ale vsechny ostatni korektni zaznamy ano

aby SOA byla v poradku opet neni nevyhnutelne
aby vsechny casti SOAi byly v poradku az na ten zakladni
syntax, opet by to melo za nasledek pouze nefunkcnost
jistych podzaznamu ale ne celkove SOAi

odvolani na SOA zaznam v named.conf je v podstate
jednoduchy

napr. pro domenu localnet.lan a v ni napr. pc1.localnet.lan

zone "localnet.lan in { type master ; file "localnet.lan.zone" ; } ;

pricemz se localnet.lan.zone nachazi v /var/named/

k ostatnim detajlum se nezminuji, jelikoz pro zakladni funkcnost
nejsou podtatne (napr. allow-XXX apod, ledaze by bylo neco
extra v hlavni cati named.conf zakazano)

nyni k te zone samotne (SOA)
v nasem pripade /var/named/localnet.lan.zone

nejprve by dnes uz standartem mel byt udaj o nastaveni TTL
time to live, ktery plati v cele SOAe kdyz nic jineho neni uvedeno

$TTL 1W

cas ziti jednoho tydne celkem postaci, dalsi radek:

na zacatku radku budto pouze @ a nebo vypsane jmeno zony bez .zone
ale zato ukonceno teckou!
napr.

localnet.lan.

dale na radku: IN SOA a SOA udaje

jsou ted dve vseobecne moznosti typu SOA
a sice bud pro localhost pouziti, tzn, ze neni mozne tuto SOAu
s jineho  Systemu nez localhost samotneho pouzit
a nebo pro pouziti s localhost a jinich systemu

my se konzentrujeme na ten druhy pad, a tim i na spravnou funkcnost
pro mimo localhost!

nez se totiz dostaneme na prvni record SOA
musi byt tzv. SOA header naprosto v poradku
jinak nebude fungovat vubec nic s cele SOAi

a nejenom to ze by SOA nefungovala ale mela by byt take podle RFC
spravne

setkavam se dost s pripady, ze lidi v SOA maji naprosto jiny hostname
jak je pouzit v IN NS
ono to sice take funguje ale neni spravne!

co je ale podle RFC dovoleno, ze se nemusi SOA hostname
s hostname Systemu stotoznovat a to ted vyuzijeme
my chceme aby na pc1.localnet.lan coz je hostname systemu
nas dns jel na ns.localnet.lan
my take vime, ze je oboji na ip adrese 192.168.0.1

jdem na to chlapy, tudiz ted k te SOA a jejimu syntaxu

localnet.lan. IN SOA ns.localnet.lan. hostmaster.localnet.lan. (
2004022300 ; serial
2D ; refresh
4H ; retry
6W ; expiry
1W ) ; minumum

a hlavne pozor na tecky !

jako dalsi musi byt k SOA spravne uveden NS, spravne jak sem uz uvedl
opet je nekolik moznosti (a,b,c plati i pro reverz)

a)

<mezera> IN NS ns.localnet.lan.

b)

localnet.lan. IN NS ns.localnet.lan.

c)

@ IN NS ns.localnet.lan.

vsechny 3 moznosti jsou identicke

dalsi zaznam po zaznamu NS je MX
opet ono to funguje i bez nej
ale podle RFC by mel byt

<mezera> IN MX 10 mail.localnet.lan.

dalsi tri zaznamy jsou pro pc1, ns a mail

ns IN A 192.168.0.1
mail IN A 192.168.0.1
pc1 IN A 192.168.0.1

hotovo

nyni k te reverzni zone
pro SOA pouzijeme opet ns.localnet.lan

v named.conf

zone "0.168.192.in-addr.arpa" in { type master ; file "192.168.0.zone"
; } ;

a soubor /var/named/192.168.0.zone s

$TTL 1W
0.168.192.in-addr.arpa. IN SOA ns.localnet.lan. hostmaster.localnet.lan.
(
20040202300 ; serial
2D ; refresh
4H ; retry
6 W ; expiry
1 W ) ; minimum

@ IN NS ns.localnet.lan.
1 IN PTR pc1.localnet.lan.

a skontrolovat /etc/resolv.conf
nameserver 127.0.0.1
search localnet.lan

dig -t soa localnet.lan
dig -t mx localnet.lan
dig -t a pc1.localnet.lan
dig -t a ns.localnet.lan
dig -t a mail.localnet.lan
dig -t soa 0.168.192.in-addr.arpa
dig -t ptr 1.0.168.192.in-addr.arpa

to same i s host
take se podivat na /etc/nsswitch.conf
(hosts dns)

a ted se dat do dns restrikci coz uz je jina pohadka ;-)

doufam ze to pomuze
kdyz ne vyhod to do kybla

petr



Další informace o konferenci Linux