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 email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.