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
- The Linux Network Administrators Guide By Olaf Kirch
- Linux NET-2/3 HOWTO by Terry Dawson
És mindez benne van a Linux
Bibliában.