Néhány szóban bevezetés:

Ez az egész DNS akármi olyasmi okokból jött létre, mivel az interneten lógó gépeknek a saját IP címükön kívül esetleg szükségük lehet más elérhetőségre is. Nna, ezért találták ki a DNS-t. Gondold el, mennyivel egyszerübb azt beírni, hogy mondjuk http://www.linux.org/, mint azt, hogy 198.182.196.51, pedig így is müx, nem ? Dehát ezt nem elég csak neked tudnod, tudatnod kell ezt a világgal is. Erre szolgál a domain name regisztráció. Először is találd ki, hogy mi alá regisztráltatod magad, aztán gondolkodj el, hogy megéri-e ez neked, majd találj ki egy domain nevet. Mi alá regisztrálhatod magad? Mondjuk a legismertebbek a .hu, a .com, a .org, és még sorolhatnám. Szükséged lesz egy Secondary Name Serverre is, aminek az okaira később kitérek. Vedd fel a kapcsolatot egy haver rencergizdával, hogy nem-e secondary-zna neked.... Szóval, találj ki egy domainnevet, az egyszerüség kedvég kedvéért legyen ez a bigyo.hu. Ennek a domainnévnek a DNS configját fogjuk most végigcsinálni.

Mielőtt nekiálsz elolvasni ezt a néhol szájbarágósra sikerült dokut, ha úgy gondolod, hogy kiigazodsz egy müködő configon, akkor itt megtalálod őket.

Azt nem mondom el, hogy miként tegyél fel Name Servert, mivel az mind RedHat, mind Debian alatt könnyen meg tudod csinálni, vagy akár le is tudod fordítani. Szal tedd fel a named utolsó verzióját.

named.boot

Az első file, amit meg kell szerkesztened, az a /etc/named.boot. Ebben vannak deklarálva a zónák. Nézzük, hogy miként is épül fel:


directory /var/named
cache . named.cache
primary bigyo.hu named.hosts
primary 67.228.195.IN-ADDR.ARPA named.rev
secondary secondary.hu 193.6.50.110 193.6.50.110 secondary/secondary.hu
secondary 50.6.193.IN-ADDR.ARPA 193.6.50.110 secondary/secondary.rev

A directory után meghatározod, hogy hol helyezkednek el a zónák leirásai.
Az első primary után van a domain név, valamint az azt leíró zóna file.
A második primaryban van a reverse zána leirá, ami az IP osztály visszafelé, és a szokásos IN-ADDR.ARPA.
A secondary sorokban ugyanezek vannak, csak ezek mind arra vonatkoznak, hogy honnét vegyük a secondary server nameserver beállításait, mi a címe, stb... értelemszerüen, a secondary domain neve, IP címe, és az őt leíró állomány.
A secondary-k file-jait nem kell megcsinálnod, de a könyvtárat bizony igen. A fenti file-ban hivakozott néven fogja létrehozni, mégpedig úgy, hogy lekérdezi a hivatkozott címről.
Persze nem akarok senkit sem elszomorítani, de a legújabb named-ekben a named.boot állományt átnevezték named.conf-nak, és más lett a felépítése is :) Az átálláshoz mellékeltek egy perl sctiptet, ami nagyon jol meg is csinálja ezt neked, (az átállást az is indokolja, hogy a régiben van egy nagy biztonsági hiba) de azért nézzük az új felépítését is:

named.conf


options {
directory "/var/named";
};

zone "." {
type hint;
file "named.cache";
};


zone "bigyo.hu" {
type master;
file "named.hosts";
};

zone "67.228.195.IN-ADDR.ARPA" {
type master;
file "named.rev";
};

zone "secondary.hu" {
type slave;
file "secondary/secondary.hu";
masters {
193.6.50.110;
193.6.50.110;
};
};

zone "50.6.193.IN-ADDR.ARPA" {
type slave;
file "secondary/secondary.rev";
masters {
193.6.50.110;
};
};

Szóval, amint látod, kapott egy kicsit strukturált szerkezetet, egy kicsit jobban áttekinthetö, de a lényegi felépítése nem változott.

named.cache

A cache-re direkt csak most térek ki, mivel azt fixen beírod, aztán nem is lesz vele gondod. Tehát itt egy named.cache:


. 3600000 IN NS a.root-servers.net.
. 3600000 IN NS b.root-servers.net.
. 3600000 IN NS c.root-servers.net.
. 3600000 IN NS d.root-servers.net.
. 3600000 IN NS e.root-servers.net.
. 3600000 IN NS f.root-servers.net.
. 3600000 IN NS g.root-servers.net.
. 3600000 IN NS h.root-servers.net.
. 3600000 IN NS i.root-servers.net.
a.root-servers.net. 3600000 IN A 198.41.0.4
b.root-servers.net. 3600000 IN A 128.9.0.107
c.root-servers.net. 3600000 IN A 192.33.4.12
d.root-servers.net. 3600000 IN A 128.8.10.90
e.root-servers.net. 3600000 IN A 192.203.230.10
f.root-servers.net. 3600000 IN A 39.13.229.241
g.root-servers.net. 3600000 IN A 192.112.36.4
h.root-servers.net. 3600000 IN A 128.63.2.53
i.root-servers.net. 3600000 IN A 192.36.148.17

Ez azért fontos, mert a domain név kéréseket a mi szerverünk mindet nem tudja kiszolgálni, tehát valakitől meg kell kérdeznie, hogy most akkor ki is micsoda. Itt vannak ezek a root szerverek meghatározva. A root szerverek helyett használhatsz forwardes opciót is, amikor kikerülöd a root szervereket, tehát nem állsz kapcsolatban velük, hanem a named a forwarders opcióban meghatározott name serverhez továbbítja a feloldatlan kéréseket.

Nna, most nézzük a hivatkozott file-okat, amiknek a példában meghatározott helye a /var/named könyvtár.

named.hosts

Ebben a file-ban írjuk le azokat a hostokat, amik a bigyo.hu alá tartoznak, valamint megmondjuk a named-nek, hogy ki a secondary, stb...

$ORIGIN hu.
bigyo IN SOA hostnév.bigyo.hu. usernév.hostnév.bigyo.hu. (
1998032301 ; széria szám
10800 ; frissítés
3600 ; újraprólkozás
3600000 ; lejárat
86400 ) ; minimum ttl

IN NS hostnév.bigyo.hu.
IN NS secondary.secondary.hu.

IN MX 10 hostnév.bigyo.hu.

$ORIGIN hcbyte.hu.
hostnév IN A IP.Cím
www IN CNAME hostnév
ftp IN CNAME hostnév

Most magyarázom a bizonyítványomat :) A $origin után meghatározod, hogy mi alá regisztráltattad a domain nevedet. Az egy SOA típus, ami a hostnáv.bigyo.hu nevü szerveren van deklarálva, ez vagy Te. Ezután jön a hostmaster levelezési címe, jól látod, ponttal elválasztva. Még mielőtt elfelejtem megemlíteni, ékezeteket NE használj!.
Az a sok szám a zárójelek között, az bizony fontos. Az első a széria szám, ami alapján a secondary, és egyéb szerverek megtudják, hogy Te most módosítottad, vagy még mindig a régi. Gyk.: Ha nagyobb, akkor újabb :) Javaslom, hogy mindíg az aktuális dámot, valamint az aznapi verziót használd. A retry, és egyéb számok kózott vannak öszefüggések, de azokat majd kiszeded a kimenetekből :)
A többi is egyszerü, mivel jön az IN NS után meghatározva a két nameserver, (NS=Name Server), megint egy $origin, amiben meghatározzuk, hogy most a bigyo.hu alatti hostokat soroljuk fel. Ezután jönnek a bigyo.hu alá történő bejegyzések. Megjegyzem, hogy neked csak a domain nevet, ami jelen esetben a bigyo.hu, kell regisztráltatnod, nem ftp.bigyo.hu-t. Szóval az első bejegyzés a server neve legyen, amint látod, "A" típusként, akár a tübbinek, ami nem becenév. A becené típusa "CNAME". Ilyenek a péld&aacue;ban a www, meg a ftp.
Most visszatérek az MX rekordra egy picit. Itt meghatározod, hogy a $originben lévő név jövő leveleket (itt bigyo.hu volt ott) mely szerver kezelje le. Tehát, hogy a példánál maradjunk, a bigyo.hu domainre jövő leveleket 10-es prioritással a hosztnév.bigyo.hu szerver kezeli. Itt megadhatsz több szervert, más prioritással, a lényeg az, hogy előbb a kissebb számmal megáldott szerveren nézi meg, hogy kézbesíthető-e.
Itt van egy kis buktató, ami úgy nyilvánul meg, hogy a lokális levelek sorban visszajönnek címzett ismeretlennel. A megoldás az, hogy editáld meg a /etc/sendmail.cf-et, amiben keress rá a "Cwlocalhost" sorra. Ez után írd be, hogy ".bigyo.hu".(Hogy a példánál maradjunk....:)

named.rev

Itt vannak az IP cimek feloldására vonatkozó paraméterek.
@ IN SOA hosztnév.bigyo.hu. usernév.hosztnév.bigyo.hu. (
1998032301 10800 3600 3600000 86400 )

IN NS hosztnév.bigyo.hu.
IN NS secondary.secondary.hu.


1 IN PTR hosztnév.bigyo.hu.
2 IN PTR akarmi1.bigyo.hu.
3 IN PTR akarmi2.bigyo.hu.

Ha most azt mondom, hogy a fejléc ugyanazt takarja, mint a named.hosts-é, akkor elhiszed ? Pedig így van. :)
Ami változás van az említett állományhoz képest, az az, hogy az IP cim utolsó számjegye szerint vannak felsorolva a hostok, "PTR" típussal, utána a host telljes domain nevével. De most minek ez a revese nekem ?! Hát azért, mert így tudlak visszaellenőrizni, hogy Te az IP cimednek megfelelő domain névvel jössz-e felém. Ez valamelyest kontrollálja, hogy ne lehessen ugyanarra a domainre több IP címet bejegyezni, mert úgy is az első bejegyzést fogom megtalálni, ami nem biztos, hogy Te vagy. Szóval igazából biztonsági okai vannak a reverse szükségességének, ami neked is fontos. A secondary funciója is itt jön ki igazán, mivel a visszaellenőrzési kérelem mehet feléd is, meg feléis. Ha a secondary-ban nem vagy bejegyezve, akkor valószínü, hogy egy csomó szerver vissza is fog dobni, mivelhogy nem jó a reverse bejegyzésed. Javítok, nem telljes.

Buktatók

Nagyon alergiás a tab-ra és a space-ra. Ha lehet, használd az előbbit.
A pontokra nagyon figyelj!! Ha valahonnét kihagysz, vagy valahova több pontot teszel, nagyon el tudsz rondítani mindent.

Mit olvass

És mindez benne van a Linux Bibliában.

© 1998 Kaiser László