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.