Как изменить «Общедоступную сеть» (Public) на «Частную» (Private) в Windows 8.1/Server 2012
Windows 8.1 и Server 2012 R2 порой неправильно определяют тип сетевого подключения. Частная сеть (Private) может быть определена как общедоступная (Public Network) и наоборот, благодаря чему применяются разные правила брандмауэра. И если для домашнего компьютера это не критично, то на серверах такое не допустимо. Так, сервер, у которого в профиле сетевого подключения значится «Общедоступная сеть», не отвечает на пинги даже внутри сети.
Сетевые профили появились в Windows Vista и 2008-ом сервере и отныне являются частью брандмауэра Windows, в котором прописаны различные правила в зависимости от типа сети. В Windows Server 2012 убрали возможность управления типом соединения из графического интерфейса, оставив лишь просмотр примененного профиля (ну это же Microsoft и что у них творится в головах не понятно).
Сменить профиль можно выполнив пару команд в PowerShell. Для начала посмотрим текущие сетевые профили активных подключений командой Get-NetConnectionProfile:
PS C:\Users\Администратор> Get-NetConnectionProfile
Из скриншота видно, что «проблемный» интерфейс имеет индекс 12 и тип сети Public.
InterfaceIndex : 12 NetworkCategory : Public
Команда Set-NetConnectionProfile позволяет установить категорию сетевого профиля:
PS C:\Users\Администратор> Set-NetConnectionProfile -InterfaceIndex 12 -NetworkCategory Private
Дополнительно ничего перезагружать не требуется. После смены профиля на «частную» сеть, применяются новые правила файервола и сервер начинает отзываться на пинги внутри сети.
Изменение профиля «общедоступной сети» на «частную» через редактор реестра
Лично мне этот вариант не очень нравится, но пусть будет в качестве альтернативы. Запускаем редактор реестра и находим ветку, содержащую профили всех сетевых подключений:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
Имя интересующего нас профиля можно узнать в «Центре управления сетями и общим доступом». которое указано в ключе реестра ProfileName. Тип сети задается в параметре Category. Доступны следующие значения этого ключа:
- "0" — Общественная сеть (Public Network)
- "1" — Частная сеть (Private Network)
- "2" — Доменная сеть (Domain Network)
Комментариев: 5
А что, вполне актуально!
С учетом что пару лет назад майкрософт сняла Win8.1 с поддержки и всем очень сильно рекомендовала пеерйти на Win10
Ваш сарказм не очень уместен. Вы мыслите весьма узко, беря во внимание исключительно домашнюю версию Windows 8/8.1, но не забывайте сколько в работе серверов на Windows Server 2012/R2, которые ещё долгое время будут работать.
Уважаемый автор, Ваш пост не совсем корректен.
"Windows 8.1 и Server 2012 R2 порой неправильно определяют тип сетевого подключения" - при подключении эти ОС (и не только эти) спрашивают насчёт профиля сети. И если пользователь ответил "га-отвали" или вообще не ответил, то получим то, что получим.
Если уж "для начала", то оболочку PowerShell нужно сначала запустить. Для этого в той же 2012 R2 нужно нажать и отпустить кнопку Windows, затем начать набирать power... Система поиска подскажет полное имя и даст ссылку на запуск PowerShell. Либо можно открыть панель Charms (курсор мыши в правый верхний угол), а затем запустить поиск (значок лупы), далее точно так же набираем название оболочки.
"C:\Users\Администратор>" - совсем не факт, ибо оболочка показывает профиль текущего пользователя, которого необязательно зовут Администратор. Корректнее было бы написать C:\Users\имя_текущего_пользователя>
В остальном - информация, безусловно, полезная.
Zoltan Lisovsky, да вы, как я посмотрю, буквоед :) В таком случае следует начинать с включения компьютера. Полагаю, всем ясно, что PS C:\Users\Администратор> просто дано в качестве примера и сути командлета это не меняет.
Дибилы из MS по какому-то хитрому принципу назначают тип сети (то-ли по наличию прописанного шлюза, то-ли еще по чему) - почему бы не сделать возможность прямого выбора? В любом случае спасибо за подсказку про PowerShell :)