Windows Server: меняется тип сети при перезагрузке

На контроллерах домена с Windows Server 2025 встречается проблема, когда после перезагрузки сервер неправильно идентифицирует сеть как Public (Общедоступная) вместо Domain (Доменная). Если у вас ряд правил файервола Windows Defender привязаны к профилю (типу) сети, это может вызвать проблемы с сетевой доступностью сервера.

Самостоятельная смена типа сети после перезагрузки, это довольно старый глюк, который встречался еще в Windows Server 2019 и 2022 как на контроллерах домена, так и на рядовых серверах. В этих версиях Windows Server для автоматического возврата профиля сети на доменный достаточно было перезапустить службу Network Location Awareness ( NlaSvc ), настроить задержку ее запуска, или внедрить параметра реестра (ключ меняет поведение службы NLA при повторных попытках обнаружить домен):

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesNlaSvcParameters" -Name "AlwaysExpectDomainController" -Value 1 -Type DWORD

Однако в Windows Server 2025 службы Network Location Awareness по умолчанию отключена.

Чтобы хост с Windows Server 2025 правильно определил тип сети, достаточно после перезагрузки перезапустить сетевой адаптер. Если у вас есть доступ к консоли сервера (iLO или аналог), отключить и включить сетевой адаптер можно из панели управления сетевыми подключениями ( ncpa.cpl ).

Если есть только RDP или PowerShell Remoting доступ к DC, лучше перезапустить сетевые адаптеры PowerShell командой:

Get-NetAdapter -Physical | Where-Object { $_.Status -eq "Up" } | Restart-NetAdapter

После этого сеть правильно идентифицируется как доменная (DomainAuthenticated):

Get-NetConnectionProfile

Проблема сброса типа сети при перезагрузке контроллера домена Windows Server, связана с тем, в момент загрузки указанный в его настройках DNS сервер (если это он сам) может не ответить на DNS запрос определения своего состояния. Поэтому в качестве типа сети будет назначен безопасный профиль Public.

Поэтому проверьте, что во вторичных DNS серверах на DC указаны адреса других контроллеров домена, и вы не перезагружаете их одновременно (разнесите плановые перезагрузки по времени).

Либо можно сделать обходное решение, добавив в планировщик задач простой PowerShell скрипт, который будет ожидать запуска службу DNS и перезапускать сетевой адаптер (запускать от имени SYSTEM):

Program/script: powershell.exe
Add arguments (optional): -ExecutionPolicy Bypass -NonInteractive -WindowStyle Hidden -command "do {$status = (Get-Service dns)} until ($status.Status -eq 'Running'); Get-NetAdapter -Physical | Restart-NetAdapter"

Если нужно применить такой скрипт для всех DC, можно через GPO распространить такое задание планировщика для OU Domain Controllers.


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *