Dependency of Active Directory on DNS

1

DNS Records that are required for proper functionality of Active Directory

 

We know that DNS servers serves more than resolving Name to IP and IP into Name. It is core protocol or you can say daddy of all protocols over a network.

In this article I have tried to visualize and explain all the core records of DNS without which Active Directory cannot function properly.

Here are the list of all core SRV, A and C-Name records that are used by Active Directory and Domain clients.

Please Note: The Red marked records in below table are used by Non-SRV-Aware Clients

 

Mnemonic Type DNS Record Requirements
  1. PDC
SRV _ldap._tcp.pdc._msdcs.<DnsDomainName> One per domain
  1. GC
SRV _ldap._tcp.gc._msdcs.<DnsForestName> At least one per forest
  1. KDC
SRV _kerberos._tcp.dc._msdcs.<DnsDomainName> At least one per domain
  1. DC
SRV _ldap._tcp.dc._msdcs.<DnsDomainName> At least one per domain
A <DomainControllerFQDN> One per domain controller (domain controllers that have multiple IP addresses can have more than one A resource record)
  1. GcIpAddress
A gc._msdcs.<DnsForestName> At least one per forest
  1. DsaCname
CNAME <DsaGUID>._msdcs.<DnsForestName> One per domain controller

 

Below I have mentioned the location of all these important records, with their properties and NSLOOKUP commands to verify if the record exists correctly or not. I have taken screenshot from a single domain lab, on default site i.e. my domain itself represent the forest. So results may vary if you explore these in big infrastructure.

 

 

In the records Properties window, you will notice below few fields:

Priority-    The priority of the server. Clients attempt to contact the server with the lowest priority.

Weight –   A load-balancing mechanism that is used when selecting a target host from those that have the same priority. Clients randomly choose SRV records that specify target hosts to be contacted, with probability proportional to the weight

Port Number-    The port where the server is listening for this service.

Target –   The fully qualified domain name of the host computer.

 

 

 

Host Records for SRV-Aware Clients

  1. PDC Record – _ldap._tcp.pdc._msdcs.<DnsDomainName>

Allows a client to locate the server that is acting as the primary domain controller (also known as a “PDC”) in the mixed-mode domain named in DnsDomainName . Only the PDC emulator master of the domain registers this SRV record.

 

 

 

  1. GC Record – _ldap._tcp.gc._msdcs.<DnsForestName>

Allows a client to locate a Global Catalog (gc) server for this forest. Only domain controllers that are functioning as Global Catalog servers for the forest named in DnsForestName register this SRV record.

 

 

  1. KDC Record – _kerberos._tcp.dc._msdcs.<DnsDomainName>

Allows a client to locate a domain controller that is running the Windows implementation of the Kerberos KDC service for the domain named in DnsDomainName . All Windows Server–based domain controllers that are running the KDC service (that is, that implement a public key extension to the Kerberos v5 protocol Authentication Service Exchange subprotocol) register this SRV record.

 

 

  1. DC Record – _ldap._tcp.dc._msdcs.<DnsDomainName>

Allows a client to locate a domain controller (dc) of the domain named by DnsDomainName . All Windows Server–based domain controllers register this SRV record.

 

 

  1. Domain FQDN A Record  – <DomainControllerFQDN>

This record helps to locate the domain controllers IP address in a domain.

 

Host Records for Non-SRV-Aware Clients

 

  1. GC IP Address – gc._msdcs.<DnsForestName>

Allows a non-SRV-aware client to locate any Global Catalog server in the forest by looking up an A record. A name in this form is returned to the LDAP client through an LDAP referral. A non-SRV-aware client looks up this name; an SRV-aware client looks up the appropriate SRV resource record.

Net Logon also registers a DNS CNAME (alias) record for use by Active Directory replication The Locator does not use this record.

 

 

  1. DsaCname Record – <DsaGUID>._msdcs.<DnsForestName>

Allows a client to locate any domain controller in the forest by looking up an A record. The only information that is known about the domain controller is the GUID of the directory system agent (also known as the “DSA”) object for the domain controller and the name of the forest in which the domain controller is located. This record is used to facilitate renaming a domain controller.

 

To know more about SRV records in DNS , please refer to below article

http://technet.microsoft.com/en-us/library/cc961719.aspx

 

 

For more article updates, videos and posters join our official page in Facebook

Facebook Page: https://www.facebook.com/ServerGeeks

Web Site: https://servergeeks.wordpress.com/

Video Channel: https://www.youtube.com/user/Habibmvp

 

Tools to Troubleshoot DC issues

2


Tools to Troubleshoot DC issues

DCDIAG

DCDIAG analyzes the state of domain controllers in a forest or enterprise and reports any problems to help in troubleshooting.

  1. Preparing to install or migrate to Exchange new version
  2. Checking FSMO roles.
  3. Troubleshooting Group Policy.
  4. Investigating Active Directory not replicating frssysvol error.
  5. Running down Kerberos authentication problems.
  6. Resetting the Directory Service Administrator’s password.
  7. Fixing servers Service Principle Name (SPN) error.
  8. Other DC issues

Example: dcdiag.exe /V /D /C /E > c:\dcdiag.log

DCDIAG tool article http://technet.microsoft.com/en-us/library/cc731968(v=ws.10).aspx

REPADMIN

Repadmin.exe is a Microsoft Windows 2000 Resource Kit tool that is available in the Support Tools folder on the Windows 2000 CD-ROM. It is a command-line interface to Active Directory replication. This tool provides a powerful interface into the inner workings of Active Directory replication, and is useful for troubleshooting Active Directory replication problems.

Example: repadmin.exe /showrepl dc* /verbose /all /intersite > c:\repl.txt

RepAdmin tool article http://technet.microsoft.com/en-us/library/cc770963(v=ws.10).aspx

NETDIAG

This command-line diagnostic tool helps to isolate networking and connectivity problems by performing a series of tests to determine the state of your network client. These tests and the key network status information they expose give network administrators and support personnel a more direct means of identifying and isolating network problems. Moreover, because this tool does not require parameters or switches to be specified, support personnel and network administrators can focus on analyzing the output rather than on training users how to use the tool.

  1. Installing Exchange and you wish to check that you can connect to other servers.
  2. Checking VPN network tunnels on the WAN.
  3. DNS problems.  Computers cannot ‘see’ their domain controller on the LAN.
  4. A quick check on hotfixes.
  5. Check the Network Card Bindings from the command prompt.
  6. You are having problems with IPSEC.
  7. Winsock corruption, wrong version incompatibilities.
  8. NetDiag checks that Domain Controllers are all able to ‘speak’ LDAP.

 

Example: netdiag.exe /v > c:\netdiag.log

Note: This command need to be run on each DC of the domain.

NetDiag tool article http://technet.microsoft.com/en-us/library/cc731434(v=ws.10).aspx

Active Directory Database and Log Files

3



Active Directory files and their functions




Ntds.dit

Ntds.dit is the main AD database file. NTDS stands for NT Directory Services. The DIT stands for Directory Information Tree. The Ntds.dit file on a particular domain controller contains all naming contexts hosted by that domain controller, including the Configuration and Schema naming contexts. A Global Catalog server stores the partial naming context replicas in the Ntds.dit right along with the full Domain naming context for its domain.


Edb.log

Edb.log is a transaction log. Any changes made to objects in Active Directory are first saved to a transaction log. During non-peak times in CPU activity, the database engine commits the transactions into the main Ntds.dit database. This ensures that the database can be recovered in the event of a system crash. Entries that have not been committed to Ntds.dit are kept in memory to improve performance. Transaction log files used by the ESE (Extensible Storage Engine is an Indexed Sequential Access Method (ISAM) data storage technology from Microsoft. ESE is the core of Microsoft Exchange Server and Active Directory.) engine are always 10MB.


Edbxxxxx.log

These are auxiliary transaction logs used to store changes if the main Edb.log file gets full before it can be flushed to Ntds.dit. The xxxxx stands for a sequential number in hex. When the Edb.log file fills up, an Edbtemp.log file is opened. The original Edb.log file is renamed to Edb00001.log, and Edbtemp.log is renamed to Edb.log file, and the process starts over again. Excess log files are deleted after they have been committed. You may see more than one Edbxxxxx.log file if a busy domain controller has many updates pending.


Edb.chk

Edb.chk is a checkpoint file. It is used by the transaction logging system to mark the point at which updates are transferred from the log files to Ntds.dit. As transactions are committed, the checkpoint moves forward in the Edb.chk file. If the system terminates abnormally, the pointer tells the system how far along a given set of commits had progressed before the termination.


Res1.log and Res2.log

Res1.log and Res2.log are reserve log files. If the hard drive fills to capacity just as the system is attempting to create an Edbxxxxx.log file, the space reserved by the Res log files is used. The system then puts a dire warning on the screen prompting you to take action to free up disk space quickly before Active Directory gets corrupted. You should never let a volume containing Active Directory files get even close to being full. File fragmentation is a big performance thief, and fragmentation increases exponentially as free space diminishes. Also, you may run into problems as you run out of drive space with online database defragmentation (compaction). This can cause Active Directory to stop working if the indexes cannot be rebuilt.


Temp.edb

This is a scratch pad used to store information about in-progress transactions and to hold pages pulled out of Ntds.dit during compaction.


Schema.ini

This file is used to initialize the Ntds.dit during the initial promotion of a domain controller. It is not used after that has been accomplished