Задаването на 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 споделяне или принтер през тунела, това е истинската причина да смените категорията. Ако задачата е изходящ достъп до едно уеб приложение, категорията е без значение: напишете изходящото правило, оставете „Публичен“ и спрете дотам.

ScenarioCategoryWhy
Corporate tunnel to a file server or printerPrivatePrivate rules carry the sharing you need
Commercial VPN for privacyPublicThe exit subnet is shared with strangers
Split tunnel with a single host routePublicNo trusted subnet and an unstable signature
Site-to-site tunnel to a branch LANPrivateThe far subnet is managed like the local one
Lab adapter you control end to endPrivateDiscovery 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. Ако някое от първите три не е вярно, оставете адаптера на „Публичен“ и решете проблема с достъпа с ограничено правило.

Подобни статии