Стартирате Windows Sandbox, отваряте браузър в него и страницата се зарежда през нормалната ви връзка, макар хостът преди минута да беше във VPN. Нищо не е счупено. Пясъчникът получава виртуален мрежов адаптер, свързан към подразбиращия се комутатор на хоста, а дали тунелът на хоста покрива този път, е свойство на VPN клиента, не на Windows.

Какво всъщност получава пясъчникът

Пясъчникът е лека виртуална машина със собствен мрежов адаптер. Този адаптер се свързва през подразбиращия се комутатор на Hyper-V на хоста, който преобразува трафика на пясъчника към виртуалния Ethernet интерфейс на хоста, преди да напусне машината. Тази подробност обяснява почти всеки симптом, за който хората съобщават по този повод.

Значи пясъчникът не е процес на вашия работен плот. Той е отделна мрежова крайна точка, чиито пакети се препращат от хоста, и защитната стена на хоста и VPN клиентът виждат това препращане всеки по свой начин. Правило, написано за процес на браузър, не съвпада автоматично с преобразуван кадър от виртуален комутатор.

Две изисквания, които изглеждат като едно

Достигането до частен ресурс и принуждаването на всяка заявка от пясъчника да минава през тунела са различни цели. Първата изисква маршрут и разрешаване на имена, които работят за крайната точка на пясъчника. Втората изисква прилагане, което издържа на повторно свързване и на отказ. Нито едното не следва от другото и проверка, която удовлетворява едното, не казва нищо за второто.

Проверката на публичен адрес не отговаря напълно на нито един от двата въпроса. Виждането на VPN изхода отвътре в пясъчника показва, че част от трафика е използвала тунела. Тя не казва нищо за това дали частните имена се разрешават или какво става със заявка, започнала, докато тунелът е спрян.

Запишете кое от двете ви трябва, преди да тествате каквото и да е, защото двете изисквания водят до различни проекти и само едното може да се провери с браузър.

Проверявайте отвътре в пясъчника

Единственото смислено наблюдение идва от собствената сесия на пясъчника, не от хоста. Отворете там PowerShell и разгледайте адаптера, разрешаването на имена и пътя до адрес от документацията:

ipconfig /all
Resolve-DnsName files.corp.example
Test-NetConnection 198.51.100.7 -Port 443
Get-NetRoute -DestinationPrefix 0.0.0.0/0

Списъкът с адаптери ви показва адреса и шлюза, които пясъчникът е получил. Различен шлюз от този на хоста е нормално за подразбиращия се комутатор, затова сравнявайте изхода, а не шлюза. Тестът за разрешаване показва дали частно име изобщо получава отговор и точно тук конфигурациите split-horizon обикновено се разминават с хоста. Редът за маршрута показва кой шлюз пясъчникът смята за собственик на подразбиращия се маршрут.

Повторете същите три проверки с включен и изключен тунел. Резултат, който не се променя между тези две състояния, е доказателство, че тунелът изобщо не е по пътя на пясъчника, какъвто и адрес да е показала публичната проверка.

Изключете мрежата, когато пясъчникът не се нуждае от нея

За офлайн преглед персонализиран конфигурационен файл може да премахне мрежата напълно. Настройката е един елемент в конфигурационния документ:

<Configuration>
  <Networking>Disable</Networking>
</Configuration>

Справката за конфигурацията на пясъчника описва този елемент и предупреждава, че включената мрежа може да изложи вътрешни мрежи на приложения, на които не се доверявате. Това предупреждение е цялата причина да я зададете явно, вместо да приемете подразбиращата се.

Комутаторът обаче не избира VPN интерфейс. Това е двоично решение дали има мрежа, а не начин да обвържете пясъчника с конкретен тунел. Изискване, което назовава изход, не може да бъде изпълнено от комутатор, който само решава дали има такъв.

Проектирайте границата, преди да отпуснете каквото и да е

Ако изискването е строга изолация, изберете мрежов проект за виртуална машина, който може да я наложи и използвайте поддържаната политика на VPN продукта за препратен трафик или трафик на виртуални машини. Да гадаете поведението на клиента на хоста не е проект, а една успешна проверка не е реализация.

Не давайте на недоверен пясъчник корпоративен профил за VPN или частни удостоверения, за да мине тест. Това заменя границата, която се опитвахте да установите, срещу зелен резултат, а удостоверението живее по-дълго от теста.

Запишете мрежовия режим, наблюдавания изход и поведението при повторно свързване в бележките за внедряване. Когато актуализация на клиента промени как се обработва препратеният трафик, тези бележки са това, което ви казва, че изискването никога не е било наистина изпълнено.

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