🛡️ Определение: ситуация, когда контроллер домена на Windows Server 2025 ошибочно получает сетевой профиль Public (вместо DomainAuthenticated), что приводит к применению публичных правил брандмауэра и разрыву доменных функций (LDAP/Kerberos/DNS/репликация), вызвана сбоем определения доменной сети службой NLA или конфигурационными ошибками сети/DNS. ⚙️
Когда профиль сети контроллера домена (КД) становится Public, система применяет публичный профиль брандмауэра. Это блокирует критичные порты: 53, 88, 135, 389/636, 445, 464, 3268/3269 и др., из‑за чего ломаются вход доменных пользователей, репликация AD, публикация SRV‑записей DNS и GPO. Перевод КД в Public — почти всегда симптом, а не причина: нужно восстановить распознавание доменной сети, а не только «переключить» категорию.
| Признак 🧭 | Вероятная причина | Как проверить | Быстрая фиксация | 
|---|---|---|---|
| Unidentified network, профиль Public | Нет шлюза по умолчанию или несколько шлюзов | ipconfig /all— пустой Default Gateway или два шлюза | Указать один корректный шлюз, убрать дубли | 
| Профиль Public после перезагрузки | NLA стартует до Netlogon/DNS | Журналы System: 7036 (Netlogon Running) позже NlaSvc | Задержать запуск NLA или перезапускать NLA после Netlogon | 
| nltest ошибки, Kerberos сбои | Неверный DNS (внешние DNS на КД) | Get-DnsClientServerAddress,nltest /dsgetdc:domain | Оставить только внутренние DNS (AD‑интегрированные) | 
| Периодически теряется доменный профиль | Многосетевой КД (multi-homing) | Два и более активных NIC с разными сетями/шлюзами | Оставить один NIC для AD-трафика, убрать лишние шлюзы | 
| Сразу после обновления драйвера/патча | Сбилась подпись сети (NetworkList) | Журналы NlaSvc, новые GUID интерфейсов | Очистить старые профили сети, переопределить политику | 
| Clock skew, ошибки KDC | Неверное время/источник времени | w32tm /query /status, событие 36 W32Time | Починить синхронизацию времени на PDC/КД | 
| Отсутствует доступ по LDAP/SMB локально | Публичный профиль отрезал порты AD | Get-NetFirewallProfile, проверка портов | Временно открыть правила AD для Public (см. ниже) | 
| IPv6 отключён «галочками» | Неправильное выключение IPv6 ломает NLA | Get-NetAdapterBinding -ComponentID ms_tcpip6 | Восстановить IPv6 или отключить по гайдлайну Microsoft | 
Минимальный план фикса (порядок важен) 🔧
-  Проверить текущую категорию сети и интерфейс: Get-NetConnectionProfile Get-NetIPConfiguration
-  Исправить DNS только на внутренние адреса. Для КД обычно: собственный IP и IP другого КД (если есть). Не указывайте публичные DNS на контроллерах домена. $if = (Get-NetAdapter | ? Status -eq 'Up').InterfaceIndex Set-DnsClientServerAddress -InterfaceIndex $if -ServerAddresses 10.0.0.10,10.0.0.11 ipconfig /flushdns nltest /dsgetdc:yourdomain.local
-  Проверить и исправить шлюз/маршрутизацию (должен быть один корректный Default Gateway на активном NIC): route print # Удалить лишний шлюз route delete 0.0.0.0
-  Временная мера, чтобы восстановить доступ к AD до полного решения: перевести профиль в Private и открыть правила AD для любых профилей. Это временно, вернуть как было после починки NLA. $p = Get-NetConnectionProfile Set-NetConnectionProfile -InterfaceIndex $p.InterfaceIndex -NetworkCategory Private Get-NetFirewallRule -DisplayGroup "Active Directory Domain Controller" | Set-NetFirewallRule -Profile Any
-  Исправить порядок служб: обеспечить, чтобы NLA отрабатывала после Netlogon и DNS. Наиболее безопасно — запланировать перезапуск NlaSvc после старта Netlogon: # Одноразово: schtasks /Create /TN "Fix-NLA-After-Netlogon" /SC ONSTART /DELAY 0001:00 /RL HIGHEST /RU SYSTEM /TR "powershell -Command Start-Sleep -Seconds 20; Restart-Service NlaSvc"Либо включить отложенный запуск NLA: sc config nlasvc start= delayed-auto
-  Политика для «неопознанных сетей»: сделать их Private на серверах как страховку (не для рабочих станций DMZ). Конфигурация GPO: Computer Configuration → Windows Settings → Security Settings → Network List Manager Policies → Unidentified Networks → Location type = Private; Users can change = Disabled. 
-  Починка сетевой подписи, если менялись драйверы/вируальные свитчи: удалить устаревшие записи сети, чтобы NLA построила новую. На свой риск, только если понимаете последствия: # РЕЕСТР: HKLMSOFTWAREMicrosoftWindows NTCurrentVersionNetworkListProfiles # Удалить профили старых несуществующих интерфейсов (предварительно экспортируйте ключ)
-  Проверка безопасности канала и времени: nltest /sc_verify:yourdomain.local w32tm /query /status dcdiag /test:NetLogons /test:DNS /test:Advertising
Особенности Windows Server 2025, на которые стоит обратить внимание 🖧
- Брандмауэр стал более строгим по умолчанию; при Public профиль практически весь доменный трафик режется.
- NLA чувствительнее к некорректным стекам IPv6 и к множественным шлюзам на одном сервере.
- Виртуальные адаптеры (vEthernet/Teaming/VLAN) могут менять GUID интерфейса — NLA считает это новой сетью до перезагрузки/перезапуска NLA.
Практики, которых лучше избегать 🚫
- Полное отключение брандмауэра: Set-NetFirewallProfile -Enabled False. Это допустимо лишь как краткая аварийная мера и под окно изменений.
- Принудительное назначение DomainAuthenticated через реестр или PowerShell — этот профиль вычисляется NLA и не задаётся вручную.
- Отключение IPv6 «галочкой». Если требуется — делайте по официальной инструкции (DisabledComponents), понимая последствия для AD/DFS/Exchange.
Чек-лист для стабильного доменного профиля ✅
- Один активный NIC для AD, один Default Gateway.
- DNS только внутренний; на КД — собственный IP и/или IP другого КД.
- Корректная синхронизация времени (роль PDC‑эмулятора и источник времени).
- NLA запускается после Netlogon/DNS (отложенный запуск/задача).
- GPO для неопознанных сетей = Private как страховка на серверах.
- Регулярная проверка: Get-NetConnectionProfile,dcdiag,repadmin /replsummary.
Команды для быстрой диагностики 🧪
# Профиль сети и интерфейсы
Get-NetConnectionProfile; Get-NetAdapter | ? Status -eq Up
# DNS-клиент и шлюз
Get-DnsClientServerAddress -AddressFamily IPv4
ipconfig /all
# Службы и события
Get-Service nlasvc, netlogon, dnscache
Get-WinEvent -LogName System -Max 200 | ? {$_.ProviderName -match 'Nla|Netlogon'}
# AD и Kerberos
nltest /dsgetdc:yourdomain.local
klist get krbtgt
Идеальная цель — не «заставить» Private, а вернуть DomainAuthenticated. Private — это временный мост, пока вы устраняете первопричину (DNS/шлюз/службы/время/драйверы).
FAQ по смежным темам
Почему профиль меняется на Public после обновления?
Часто обновление меняет порядок инициализации драйверов NIC или создаёт новые виртуальные интерфейсы (новый GUID). NLA трактует это как новую сеть до перезапуска. Перезапуск NlaSvc после Netlogon, а также чистка устаревших записей NetworkList решает проблему.
Можно ли навсегда закрепить Private на КД?
Технически да через GPO/PowerShell, но это обходной путь. КД должен быть в DomainAuthenticated, иначе рискуете маскировать реальные проблемы AD/DNS. Используйте Private только как временную меру в окне восстановления.
Чем опасен Public профиль на контроллере домена?
Блокируются LDAP/Kerberos/SMB, ломается вход пользователей, репликация AD, публикация SRV-записей DNS, могут срываться службы, зависящие от AD (например, ADFS). В худшем случае форсинг входа по локальному администратору — единственный доступ.
Нужно ли отключать IPv6 на серверах AD?
Нет, рекомендовано оставлять IPv6 включённым. Если есть веские причины — отключайте по официальному гайду (DisabledComponents), предварительно протестировав. Неправильное отключение влияет на NLA, DNS и некоторые AD‑функции.
Как правильно настроить DNS на первом и единственном КД?
Укажите в качестве DNS только собственный IP (или 127.0.0.1 при согласованной политике; предпочтительно — свой адрес интерфейса). Не добавляйте публичные DNS. Для выхода в интернет используйте форвардеры на уровне DNS‑сервера.
Где посмотреть причины сбоя NLA?
Журнал System (источник NlaSvc), а также Netlogon, DNS Client. Полезны события 4002/4004 NlaSvc, 5719/5783 Netlogon, ошибки DNS. Проверьте также Applications and Services Logs → Microsoft → Windows → NlaSvc (если доступно).
