Active Directory – DNS Bind alapokon

Ez megint egy érdekes állatfajta lesz, előre szólok.
A példa rendszer kettő gépet fog tartalmazni, dc és dns, a tartomány pedig a szeretett mittudomain.com lesz.

Nos, most lássuk a hozzávalókat, két szerverre:
DC

  • Windows 2000 vagy 2003 Server
  • Support Tools

DNS

  • Bind 9
  • Valamilyen szövegszerkesztő

Először is, lássuk a DNS szervert, mert ez az egyszerűbb a bonyolultabb:
Telepítsük fel a bind-et, ha szükséges, tegyük elérhetővé a DNS portjait a belső háló szamara.
Nagyon fontos, hogy ezt a DNS szervert semmiképpen se próbáljuk meg valamilyen grafikus/webes eszközzel menedzselni, mert elég kényes dolgok vannak benne, amiket nem jó, ha egy magát okosnak érző eszköz szemétnek érzékelve kihajít.
A konfigfájlban keressük meg először az options reszt, majd pakoljunk ilyeneket bele:

auth-nxdomain no;
 

Ezután az options mezon kívül hozzunk létre kettő zónát, egyet a fő zónának, egyet pedig a _msdcs zónának. Ez utóbbit mindenképpen létre kell hozni, mert az Active Directory főképp erre támaszkodik. Lassuk a kódokat előbb, majd utána duma:
Zóna…

zone "mittudomain.com" IN {
type master;
file "zones/mittudomain.com.db";
allow-update {
10.0.20.0/24;
};
};
zone "_msdcs.mittudomain.com" {
type master;
file "zones/_msdcs.mittudomain.com.db";
allow-update {
10.0.20.5;
};
check-names ignore;
};

mittudomain.com zónafájl…

@       IN      SOA     mittudomain.com.    hostmaster.mittudomain.com. (
2008120901  ; serial
28800       ; refresh
7200        ; retry
3600000     ; expires
86400 )     ; minimum
IN      NS      dns
@       IN      A       10.0.20.3
dns             A       10.0.20.3
dc              A       10.0.20.5

_msdcs.mittudomain.com zónafájl…

_msdcs.mittudomain.com      IN SOA  mittudomain.com. hostmaster.mittudomain.com. (
2008120901 ; serial
28800      ; refresh (8 hours)
7200       ; retry (2 hours)
3600000    ; expire (5 weeks 6 days 16 hours)
86400      ; minimum (1 day)
)
_msdcs.mittudomain.com.     IN      NS      dns.mittudomain.com.

És akkor most duma:
Amint látható a mittudomain.com zónafájl a lehető legegyszerűbb lett, három A rekord, egy NS, egy SOA, és rövidített formátum. Amit lényeges megjegyezni belőle, hogy a @ rekordnak mindig, kivétel nélkül a DNS szerverre onmagara kell mutatni, meghozza A rekordként. Ez azért nagyon-nagyon fontos, mert az AD csak így értékeli a DNS szervert authoritativnak, és csak így lesz hajlandó beleírni magát.
Lássuk a nagyobbik rémet, a _msdcs-t. Itt mar a konfig is módosult, látszik, hogy a bekerülő nevek ellenőrzését kikapcsoltam. Ez is nagyon fontos dolog, ugyanis a szabvány szerint a DNS nevekben nem lehetne aláhúzás (underscore) karakter, márpedig itt maga a domain kezdődik így. Ez sajnos MS sajátosság, nincs mit ellene tenni.
A zónafájlban precízen ki kell írni mindent, ugyanis a bind tud elég sokat anyázni dolgokon, illetve neha nem képes a @ feloldására. Ilyenkor sajnos nincs más hatra, mint potyogni. Ettől eltekintve ez meg egyszerűbb: csak egy NS bejegyzés került ide, ami a DNS szerverünkre mutat.
Ezzel a bind kész is, indítsuk el. Ha a syslog-ba valamire panaszkodna, akkor először is ellenőrizzük a check-names meglétét a zóna konfigjában, majd nézzük át tüzetesen a zónafájlt.
Lassuk a DC-t.
Jelentkezzünk be, és ha eddig nem tettük volna meg, akkor adjunk egy jó erős jelszót az Administrator/Rendszergazda felhasználónak, mert a következő lépés ezt a jelszót importalja.
Állítsuk be a dns gépet a Windows elsődleges DNS szervereként, ne legyen másodlagos DNS. Hálózati helyek -> jobb klikk, Tulajdonságok. Válasszuk ki a hálózati kapcsolatunkat, majd a TCP/IP protokoll tulajdonságainál írjuk be a dns gép IP címet.
A Support Tools a Windows telepítőlemez SUPPORT mappájában található, van itt egy SUPTOOLS.MSI, na azon kell duplakatt, es Next,Next,Finish. Nyissunk parancssort:

cd "C:\Program Files\Support Tools"
netdiag /test:dns

… snip …
DNS test . . . . . . . . . . . . . : Passed
PASS – All the DNS entries for DC are registered on DNS server ‘10.0.20.3’ a
nd other DCs also have some of the names registered.
The command completed successfully

Ennek így kell kinéznie. Ha valami RCODE hibára panaszkodik, vagy arra, hogy a DNS szerver szerinte nem authoritativ, akkor ellenőrizzük nslookup -pal, hogy a domain nevére megkapjuk-e A rekordként a dns.mittudomain.com ip címet. Ha nem, akkor ellenőrizzük a DNS szervert, hogy a kukacos A rekord bekerült-e a zónafájlba. Esetleg indítsuk újra a bind-et.
Barmi egyéb hiba további keresést kell hogy maga után vonjon, bármilyen szösz keresztbe fog akadni a következő lépés torkan.
Most adjuk ki a dcpromo parancsot. Ezt nem részletezném kulon, hogyan kell kitölteni, egyvalamire hívom csak fel a figyelmet: a tartomány DNS neve feltétlen egyezzen azzal a névvel, amire a bind authoritativ, különben nem fogunk tudni továbblépni.
A dcpromo lefutása során meg nem történik semmi a DNS szerverünkkel, viszont amikor a Windows szerver újraindul, kezdjük árgus szemekkel figyelni a dns.mittudomain.com syslog-jat, mert a domain bejegyzések ekkor történnek meg. Ha lefutott, akkor csináljunk egy teljes restartot a bind-en. Bármily hihetetlen ugyanis, a bind képes a teljesen hibás bejegyzések eltárolására is, és ilyenkor ujranindításkor akadnak a torkan dolgok. Hogy ez ne tudjon váratlanul előfordulni, célszerű tehát szándékosan kezdeményezni. Ilyenkor általában a check-names szokott kiabálni. Ha nagyon kiabál, az options részben tegyünk egy ilyen bejegyzést:

check-names master warn;

És a zónafájlból vegyük ki a check-names bejegyzést. Ezzel ugyan globálisan kikapcsoltuk a nevek ellenőrzését, de hat ez egy ilyen világ.
Ha szerencsenk volt, akkor jelenleg van egy teljesen mukodokepes Active Directory rendszerunk Bind DNS szerverrel.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .