Für jede Domain werden viele verschiedene Einträge im DNS erstellt,
die zum Auffinden des Verzeichnisses, des globalen Katalogs und des
Authentifizierungsdienstes genutzt werden. Wie bereits in der
Strukturdiskussion erwähnt, gibt es die Aufspaltung einer Domäne in
verschiedene Standorte beziehungsweise die Möglichkeit dazu. Dies
findet sich natürlich auch in den DNS-Einträgen wieder. Gleichzeitig
wird jedem Objekt eine SID zugeordnet, die sich auch in manchen
Einträgen wieder findet.
Die bei einer standardmäßigen Einrichtung angelegten DNS-Einträge
werden in 2 Subdomainen strukturiert und finden sich in folgender
Liste:
_msdcs.domain.tld. | ||||||
_ldap.Standortname._sites.dc | SRV | 0 | 100 | 389 | Domaincontroller | |
_kerberos.Standortname._sites.dc | SRV | 0 | 100 | 88 | Domaincontroller | |
_ldap._tcp.dc | SRV | 0 | 100 | 389 | Domaincontroller | |
_kerberos._tcp.dc | SRV | 0 | 100 | 88 | Domaincontroller | |
_ldap._tcp.DomainID.domains | SRV | 0 | 100 | 389 | Domaincontroller | |
_ldap.Standortname._sites.gc | SRV | 0 | 100 | 3268 | Domaincontroller | |
_ldap._tcp.gc | SRV | 0 | 100 | 3268 | Domaincontroller | |
_ldap._tcp.pdc | SRV | 0 | 100 | 389 | Domaincontroller | |
gc | A | DomaincontrollerIP |
domain.tld. | ||||||
_ldap._tcp.Standortname._sites | SRV | 0 | 100 | 389 | Domaincontroller | |
_kerberos._tcp.Standortname._sites | SRV | 0 | 100 | 88 | Domaincontroller | |
_gc._tcp.Standortname._sites | SRV | 0 | 100 | 3268 | Domaincontroller | |
_ldap._tcp | SRV | 0 | 100 | 389 | Domaincontroller | |
_kerberos._tcp | SRV | 0 | 100 | 88 | Domaincontroller | |
_gc._tcp | SRV | 0 | 100 | 3268 | Domaincontroller | |
_kpasswd._tcp | SRV | 0 | 100 | 464 | Domaincontroller | |
_kerberos._udp | SRV | 0 | 100 | 88 | Domaincontroller | |
_kpasswd._udp | SRV | 0 | 100 | 464 | Domaincontroller | |
_ldap._tcp.Standortname._sites. | ||||||
DomainDnsZones | SRV | 0 | 100 | 389 | Domaincontroller | |
_ldap._tcp.DomainDnsZones | SRV | 0 | 100 | 389 | Domaincontroller | |
DomainDnsZones | A | DomaincontrollerIP | ||||
_ldap._tcp.Standortname._sites. | ||||||
ForestDnsZones | SRV | 0 | 100 | 389 | Domaincontroller | |
_ldap._tcp.ForestDnsZones | SRV | 0 | 100 | 389 | Domaincontroller | |
ForestDnsZones | A | DomaincontrollerIP | ||||
Domaincontroller | DomaincontrollerIP |
Die Einträge der Tabelle werden für jeden Domaincontroller angelegt,
einzig die Einträge des PDC und des GC sind auf eine Auswahl an
Domaincontrollern beschränkt. Dadurch entsteht eine ziemlich lange
Liste, die sich wahrlich mit statischem DNS auf Grund ihrer
Unübersichtlichkeit und der Durchmischung mit Werten wie Domainen-IDs
schlecht pflegen lässt.
Aber die Liste enthält auch große Mengen redundanter Daten, die erst
in einem sehr stark strukturierten Ausbau von Active Directory Domänen
Auswirkungen zeigen beziehungsweise ein paar DNS-Requests weniger
verursachen. Solange sich eine Domain beispielsweise nicht über
mehrere Standorte erstreckt, also keinerlei Unterschiede für den
Clienten entstehen, welchen Domaincontroller er auch kontaktiert,
solange sind auch die Einträge mit -Bestandteil
vernachlässigbar und kürzen die Tabelle deutlich. Auch die typischen
Windows-Einträge, die auf die DomainID aufsetzen, dienen zwar der
internen Performance-Steigerung, können aber unter bestimmten
Gesichtspunkten auch aus der Liste gestrichen werden. Wie bereits
angesprochen, ist die DomainID die SID des Domain-Objektes im
AD-Verzeichnis. Diese ist einmalig und eindeutig und ändert sich auch,
wenn das Objekt gelöscht und mit selben Namen neu angelegt wird. Somit
ist die DomainID-basierte DNS-Suche eindeutiger und wird von Clienten
als erste versucht. Schlägt diese Suche nach der DomainID im DNS
allerdings fehl, wird automatisch auf die namensbasierte Suche
zurückgegriffen und der Zugriff auf AD-basierte Ressourcen nur
um einen DNS-Request verzögert. Probleme oder Uneindeutigkeiten können
natürlich nur entstehen, wenn eine Domäne gelöscht und eine Neue
mit gleichem Namen angelegt wird, auf die dann mit den alten
DNS-Einträgen verwiesen wird. Da aber auch alle Objekte der Domain
eine neue SID haben, was sich aus dem Aufbau der IDs
erklärt, wird
nur dann im folgenden Schritt der Zugriff abgewiesen, da auch die
Berechtigungen an SIDs gebunden sind.
Im Falle der Einbindung einer Subdomäne "`sub"' in den Domänenbaum von "`domain.tld"' werden folgende DNS-Einträge ergänzend für jede dieser Subdomänen angelegt:
_msdcs.domain.tld. | ||||||
_ldap._tcp.SubdomainenID.domains | SRV | 0 | 100 | 389 | Subdomaincontroller | |
_msdcs.sub.domain.tld. | ||||||
_ldap._tcp.Standortname._sites | SRV | 0 | 100 | 389 | Subdomaincontroller | |
_kerberos._tcp.Standortname._sites | SRV | 0 | 100 | 88 | Subdomaincontroller | |
_ldap._tcp.pdc | SRV | 0 | 100 | 389 | Subdomaincontroller | |
_ldap._tcp.dc | SRV | 0 | 100 | 389 | Subdomaincontroller | |
_kerberos._tcp.dc | SRV | 0 | 100 | 88 | Subdomaincontroller | |
sub.domain.tld. | ||||||
_ldap._tcp | SRV | 0 | 100 | 389 | Subdomaincontroller | |
_kerberos._tcp | SRV | 0 | 100 | 88 | Subdomaincontroller | |
_kpasswd._tcp | SRV | 0 | 100 | 464 | Subdomaincontroller | |
_kerberos._udp | SRV | 0 | 100 | 88 | Subdomaincontroller | |
_kpasswd._udp | SRV | 0 | 100 | 464 | Subdomaincontroller | |
_ldap._tcp.Standortname._sites | SRV | 0 | 100 | 389 | Subdomaincontroller | |
_kerberos._tcp.Standortname._sites | SRV | 0 | 100 | 389 | Subdomaincontroller | |
Subdomaincontroller | A | SubdomaincontrollerIP |