SRV записи регистрируемые службой Net Logon
Как уже многие знают, Active Directory очень сильно опирается на инфраструктуру DNS. Она является основной рабочей лошадкой. Итак давайте посмотрим, какие записи присутствуют и необходимы для работы AD.
Прежде всего надо отметить, что DNS должен поддерживать SRV записи, они являются ключевыми и указывают на Well-Known службы. Когда клиент подключается к домену, то он запрашивает эти записи и получает адреса нужных служб.
Во время поднятия роли сервера до DC, все необходимые записи в DNS создаются автоматически. В последующем, когда вы добавляете другие DC, сайты, удаляете данные. Все это прописывается в DNS. Именно по этой причине DNS сервер должен поддерживать динамические обновления ресурсных записей. Данные записи можно найти в файле%systemroot%\System32\Config\Netlogon.dns.
Теперь давайте поговори поподробней и начнем с _msdcs
- _msdcs — это поддомен, определнный Microsoft. Его задача определять расположение DC, которые выполняю определнные роли в лесу и в домене. Данная зона хранится в forest-wide application directory partition. Служба Net Logon регистрирует SRV записи для индентификации Well-Known ресурсов, таких как DC (Domain Controller), GC (Global Catalog), PDC (Primary Domain Controller), Domains (Globally Unique Identifier, GUID), как прфиксы в поддомене _msdcs. Определенные таким образом поддомены опрделеяют Domain Controllers, находящиеся в домене или лесу и выполнящие определнные роли. Что бы определять расположение DC по типу или по GUID, сервера Windows регистрируют SRV по следующему шаблону:
_Service._Protocol.DcType._msdcs.DnsDomainName
- SRV Записи. Когда контроллер домена загружается, служба Net Logon с помощью динамических обновлений регистрирует SRV и А записи на DNS сервере. SRV записи используются для закрепления имени службы ( к примеру LDAP) за DNS именем компьютера, на котором запущена данная служба. Когда рабочая станция подключается к домену, то она запрашивает DNS на наличие SRV записей по такой форме:
_Service._Protocol.DnsDomainName
Так как Active Directory использует TCP протокол, клиенты находять LDAP сервер в таком виде:
_ldap._tcp.DnsDomainName
- SRV записи регистрируемые службой Net Logon
_ldap._tcp.DnsDomainName. | Позволяет клиенту найти сервер с запущенным LDAP сервисом в домене DnsDomainName. К примеру: _ldap._tcp.inadmin.ru |
_ldap._tcp.SiteName. _sites.DnsDomainName. | Позволяет клиенту найти сервер с запущенным LDAP сервисом в домене DnsDomainName в сайте SiteName. SiteName относительное имя, которое хранится в контейнере Configuration в Active Directory. К примеру: _ldap._tcp.Moscow._Sites.inadmin.ru |
_ldap._tcp.dc._msdcs.DnsDomainName. | Позволяет клиенту найти контроллер домена в домене DnsDomainName. Все DС регистрируют данную SRV запись. |
_ldap._tcp.SiteName. _sites.dc._msdcs.DnsDomainName. | Позволяет клиенту найти контроллер домена в домене DnsDomainName в сайте SiteName. Все DС регистрируют данную SRV запись. |
_ldap._tcp.pdc._msdcs.DnsDomainName. | Позволяет клиенту найти PDC в домене DnsDomainName.Только PDC сервер регистрирует данную SRV запись. |
_ldap._tcp.gc._msdcs.DnsForestName. | Позволяет клиенту найти PDC в лесу DnsForestName.Только GC сервера регистрируют данную SRV запись. |
_ldap._tcp.SiteName. _sites.gc._msdcs.DnsForestName. | Позволяет клиенту найти GC в лесу DnsForestName.Только GC сервера принадлежащие данному лесу регистрируют данную SRV запись. К примеру: _ldap._tcp.Moscow._Sites._gc._msdcs.inadmin.ru |
_gc._tcp.DnsForestName. | Позволяет клиенту найти GC в данном домене. Только GC сервера принадлежащие данному лесу DnsForestName регистрируют данную SRV запись. К примеру: _gc._tcp.inadmin.ru |
_gc._tcp.SiteName. _sites.DnsForestName. | Позволяет клиенту найти GC в данном лесу DnsForestName в сайте SiteName. Только GC сервера принадлежащие данному лесу DnsForestName регистрируют данную SRV запись. К примеру: _gc._tcp._Moscow._Sites.inadmin.ru |
_ldap._tcp.DomainGuid. domains._msdcs.DnsForestName. | Позволяет клиентам найти DC по GUID. GUID это 128-битный уникальный указатель. Расчитано на тот момент, когда DnsDomainName и DnsForestName изменились. К примеру: _ldap._tcp.4f904480-7c78-11cf-b057-00aa006b4f8f.domains. _msdcs.inadmin.ru |
_kerberos._tcp.DnsDomainName. | Позволяет клиентам найти Kerberos KDC в данном домене DnsDomainName. Все DC регистрируют данную SRV запись. |
_kerberos._udp.DnsDomainName. | Тоже самое, что и _kerberos._tcp. DnsDomainName только через UDP |
_kerberos._tcp.SiteName. _sites.DnsDomainName. | Позволяет клиентам найти Kerberos KDC в данном домене DnsDomainName в сайте SiteName. Все DC регистрируют данную SRV запись. |
_kerberos._tcp.dc._msdcs.DnsDomainName. | Позволяет клиентам найти DC на котором запущена роль Kerberos KDC в данном домене DnsDomainName. Все DC с ролью KDC регистрируют данную SRV запись. |
_kerberos.tcp.SiteName. _sites.dc._msdcs.DnsDomainName. | Позволяет клиентам найти DC на котором запущена роль Kerberos KDC в данном домене DnsDomainName в сайте SiteName. Все DC с ролью KDC регистрируют данную SRV запись. |
_kpasswd._tcp.DnsDomainName. | Позволяет найти Kerberos Password Change для текущего домена. Все DC c ролью kerberos KDC регистрирую данную SRV запись |
_kpasswd._udp.DnsDomainName. | Тоже самое, что и _kpassword._tcp. DnsDomainName только через UDP |
Так же у SRV записей есть дополнительные поля:
Priority | Приоритет сервера. Клиенты пытаются подключиться к серверам с меньшим приоритетом. |
Weight | Используется в роли Load-balanced для серверов с одинаковым приоритетом. Клиенты рандомно выбирают сервер с вероятностью, пропорциональной весу. |
Port Number | Порт, на котором сервер «слушает» |
Target | FQDN сервера |