Чи має VPN-адаптер Windows бути приватним або загальнодоступним?
Вирішіть за допомогою трьох перевірок, чи належить VPN-адаптер Windows до приватного профілю: довірений шлях, стабільна класифікація та правила, які вам справді потрібні.
Перевести VPN-адаптер Windows у стан «Приватний» правильно для корпоративного тунелю і неправильно для клієнта комерційного VPN, і різниця не косметична. Категорія мережі вибирає профіль брандмауера, тому одна зміна одразу пропускає цілий набір правил. Я бачив сценарій входу, який переводив кожен невпізнаний адаптер у «Приватний», і це тихо відкрило спільний доступ до файлів у готельній бездротовій мережі. Відповідь визначають три умови, і всі вони мають виконуватися, перш ніж ви торкнетеся налаштування.
Що насправді визначає категорія
Network Location Awareness будує підпис для кожної підключеної мережі з того, що адаптер може повідомити: адресу шлюзу й MAC, суфікс DNS, чи відповідає контролер домену і чи мережа досягає інтернету. Windows прив'язує профіль до цього підпису, а потім брандмауер застосовує набір правил цього профілю. «Загальнодоступний» — запасний варіант, коли ідентифікація не вдалася, тому робочий тунель може й далі позначатися як невпізнана мережа.
Адаптер TUN або TAP зазвичай дає ідентифікації дуже мало відомостей. Партнер тунелю часто одна адреса, а не шлюз, DNS може передаватися лише всередині тунелю, а адаптер не має власного маршруту за замовчуванням. Отримана мітка описує вхід брандмауера, а не стан тунелю, і саме тому правила приватного профілю перестають збігатися в момент підключення VPN.
Умова перша: тунель — це довірений шлях
Вибір «Приватний» стверджує, що все доступне через цей інтерфейс принаймні таке ж надійне, як ваша власна LAN, оскільки виявлення та вхідні правила вважатимуть цю підмережу локальною. Для корпоративного тунелю в керовану підмережу з файловими серверами й принтерами це твердження зазвичай слушне. Адаптер — це двері до мережі, яку контролює ваша організація, а машина з іншого боку була допущена тією ж політикою, що допустила вашу.
Вихід комерційного VPN цієї перевірки не проходить. Інші абоненти поділяють вихідну підмережу, а позначення її як «Приватна» поміщає виявлення мережі, LLMNR і розв'язання імен NetBIOS у сегмент, повний сторонніх. Розділений тунель теж може не пройти: коли адаптер несе один маршрут до вузла для однієї програми, довіреної підмережі немає, і зміна категорії нічого вам не дає.
Умова друга: класифікація переживає повторні підключення
Новий шлюз або суфікс DNS дає новий підпис, і Windows ухвалює щодо нього нове рішення про профіль. Тому одноразовий Set-NetConnectionProfile діє до наступного перепідключення, а не вічно. Перевіряйте профіль після перепідключення, а не після першого підключення, бо саме тоді налаштування повертається саме.
Є три способи зробити це постійним. Найчистіший — політика: відкрийте secpol.msc, перейдіть у Network List Manager Policies і задайте тип розташування для мережі, включно з політикою для невпізнаних мереж, щоб профіль застосовувався політикою, а не командою. Другий — скрипт для кожного підключення або заплановане завдання, яке запускає командлет PowerShell після підняття тунелю. Третій — старий трюк із маршрутом, який дає ідентифікації шлюз для перевірки:
route -p add 0.0.0.0 mask 0.0.0.0 10.8.0.1 metric 50 IF 24
Get-NetConnectionProfile
Трюк із маршрутом — це обхід, а не класифікація. Він ламається, коли змінюється співвідношення метрик або клієнт VPN переписує маршрути під час перепідключення, і тихо змінює вибір шляху для всього, що потрапляє на другий маршрут за замовчуванням.
Умова третя: вам потрібен набір приватних правил
«Приватний» зазвичай містить спільний доступ до файлів і принтерів, виявлення мережі та групи віддаленого адміністрування. Якщо завдання — дістатися через тунель до ресурсу SMB або принтера, це і є справжня причина змінити категорію. Якщо завдання — вихідний доступ до одного вебзастосунку, категорія не має значення: напишіть вихідне правило, залиште «Загальнодоступний» і зупиніться на цьому.
| Scenario | Category | Why |
|---|---|---|
| Corporate tunnel to a file server or printer | Private | Private rules carry the sharing you need |
| Commercial VPN for privacy | Public | The exit subnet is shared with strangers |
| Split tunnel with a single host route | Public | No trusted subnet and an unstable signature |
| Site-to-site tunnel to a branch LAN | Private | The far subnet is managed like the local one |
| Lab adapter you control end to end | Private | Discovery helps and nothing else is exposed |
Читайте таблицю як відправну точку, а потім перевірте, які приватні правила справді ввімкнено у вашому образі. Посилений образ міг повністю прибрати спільний доступ до файлів із приватного профілю, і тоді зміна категорії нічого не дасть, доки ви не повернете правило. Ця перевірка коштує однієї команди й економить довгий вечір.
Внести зміну, не розширюючи все інше
Цільтеся на індекс інтерфейсу, а не на підстановлювальний знак, і прочитайте список до і після:
Get-NetConnectionProfile
Set-NetConnectionProfile -InterfaceIndex 24 -NetworkCategory Private
Get-NetFirewallProfile
Збережені профілі живуть під ключем NetworkList у реєстрі, де значення Category розділяє загальнодоступні, приватні та доменні мережі. Редагувати його можна і легко помилитися: треба змінити запис, що відповідає поточному підпису адаптера, а не старіший запис, залишений попередньою адресою. Застарілий запис виглядає в редакторі правильно і під час перепідключення нічого не робить.
Що б ви не робили, не випускайте скрипт, який переводить кожен невпізнаний адаптер у «Приватний». Це однорядкова версія відкриття виявлення в недовіреній бездротовій мережі. Якщо спільний доступ потрібен лише з підмережею тунелю, залиште профіль «Загальнодоступний» і додайте обмежені вхідні правила для діапазону віддалених адрес тунелю; правило брандмауера вужче за категорію.
Перевіряйте спільний ресурс, а не мітку
Після зміни перевірте сам ресурс, а не покладайтеся на мітку:
Test-NetConnection files.corp.example -Port 445
Resolve-DnsName files.corp.example
Якщо спільний ресурс і далі недоступний, а адаптер показує «Приватний», категорія вже не ваша проблема. Розв'язання імен, відсутній маршрут або права на спільний ресурс дадуть той самий симптом, і чергова зміна профілю не виправить нічого з цього. Перепідключіться один раз і знову запустіть Get-NetConnectionProfile, щоб переконатися, що налаштування втрималося, а потім розбирайте залишковий збій як звичайну проблему SMB.
Контрольний список: переконайтеся, що тунель — керований шлях, профіль переживає перепідключення, потрібні приватні правила є в образі, а спільний ресурс розв'язується і відповідає на порту 445. Якщо хоч одна з перших трьох умов хибна, залиште адаптер у «Загальнодоступний» і розв'яжіть проблему доступу обмеженим правилом.