6.3.2.3 SRV Records
The SRV DNS Resource Record for specifying the location of services is specified in [RFC2782]. An SRV record maps the name of a service to the DNS name of a server that offers that service.
The creation of DNS Resource Records is specified in [RFC2136].
The name of an SRV Resource Record is in the following form:
Service.Proto.Name TTL Class SRV Priority Weight Port Target
A client queries for these records by sending a DNS SRV query [RFC2782] to a DNS server.
Non-RODC server
If the DC is a non-RODC with default NC X (and NC X's GUID is G) in forest Z, then it registers SRV records with Service.Proto.Name equal to the following.
-
_ldap._tcp.X _ldap._tcp.dc._msdcs.X _ldap._tcp.G. domains._msdcs.Z _kerberos._tcp.X _kerberos._udp.X _kerberos._tcp.dc._msdcs.X _kpasswd._tcp.X _kpasswd._udp.X
In addition, the DC registers site-specific records for the following sites:
The site that the DC is in (see sections 6.1.1.2.2.1 and 6.1.1.2.2.1.2).
The sites listed in dc.dnsRegistrationSettings.SitesForDCRecordsList.
If dc.dnsRegistrationSettings.PerformAutoSiteCoverage is TRUE, the additional sites that SHOULD be covered by this DC as determined by the implementation's chosen algorithm.
For each site Yi in the above list of sites, the DC registers SRV records with Service.Proto.Name equal to the following.
-
_ldap._tcp.Yi._sites.X _ldap._tcp.Yi._sites.dc._msdcs.X _kerberos._tcp.Yi._sites.X _kerberos._tcp.Yi._sites.dc._msdcs.X
RODC Server
If the DC is an RODC with default NC X (and NC X's GUID is G) in site Y and in forest Z, then it registers SRV records with Service.Proto.Name equal to the following.
-
_ldap._tcp.Y._sites.X _ldap._tcp.Y._sites.dc._msdcs.X _kerberos._tcp.Y._sites.X _kerberos._tcp.Y._sites.dc._msdcs.X
Non-RODC GC server
If the DC is also a non-RODC GC server, then it registers SRV records with Service.Proto.Name equal to the following.
-
_ldap._tcp.gc._msdcs.Z _gc._tcp.Z
In addition, the DC registers site specific records for the following sites:
The site that the DC is in (see sections 6.1.1.2.2.1 and 6.1.1.2.2.1.2).
The sites listed in dc.dnsRegistrationSettings.SitesForGCRecordsList.
If dc.dnsRegistrationSettings.PerformAutoSiteCoverage is TRUE, the additional sites that SHOULD be covered by this domain controller as determined by the implementation's chosen algorithm.
For each site Yi in the above list of sites, the DC registers SRV records with Service.Proto.Name equal to the following:
-
_ldap._tcp.Yi._sites.gc._msdcs.Z _gc._tcp.Yi._sites.Z
RODC GC server
If the DC is also an RODC GC server, then it registers SRV records with Service.Proto.Name equal to the following.
-
_ldap._tcp.Y._sites.gc._msdcs.Z _gc._tcp.Y._sites.Z
PDC
If the DC is also holds the PDC Emulator FSMO role for its default NC, then it registers SRV records with Service.Proto.Name equal to the following.
-
_ldap._tcp.pdc._msdcs.X
Application NC host
If the DC also hosts application NCs, then for each application NC Ai, it registers SRV records with Service.Proto.Name equal to the following.
-
_ldap._tcp.Ai
In addition, the DC also registers site-specific records for the following sites:
The site that the DC is in (see sections 6.1.1.2.2.1 and 6.1.1.2.2.1.2).
The sites listed in dc.dnsRegistrationSettings.SitesForNDNCRecordsList.
If dc.dnsRegistrationSettings.PerformAutoSiteCoverage is TRUE, the additional sites that SHOULD be covered by this domain controller as determined by the implementation's chosen algorithm.
For each application NC Ai and each site Yi in the above list of sites, the DC registers SRV records with Service.Proto.Name equal to the following:
-
_ldap._tcp.Yi._sites.Ai
Example: If a DC with default NC:
-
X = na.fabrikam.com
is in site:
-
Y = site1
and forest:
-
Z = fabrikam.com
and NC X's GUID is:
-
G = 52f6c43b-99ec-4040-a2b0-e9ebf2ec02b8
then its record of type _ldap._tcp.Y._sites.dc._msdcs.X has:
-
Service.Proto.Name = _ldap._tcp.site1._sites.dc._msdcs.na.fabrikam.com
and its record of type _ldap._tcp.G.domains._msdcs.Z has:
-
Service.Proto.Name = _ldap._tcp.52f6c43b-99ec-4040-a2b0-e9ebf2ec02b8.domains._msdcs.fabrikam.com
The following table describes the other fields of each SRV record registered by a server.
-
Field
Value
TTL
Set to dc.dnsRegistrationSettings.DNSRecordTTL.
Class
Set to IN.
SRV
Set to SRV.
Priority
Set to dc.dnsRegistrationSettings.SRVRecordPriority.
Weight
Set to dc.dnsRegistrationSettings.SRVRecordWeight.
Port
Set to 389 for LDAP service. Set to 3268 for GC service. Set to 88 for Kerberos KDC service. Set to 464 for Kerberos Password Change service.
Target
Set to the fully qualified DNS name of the server.