Трафік Windows Sandbox за замовчуванням не йде через VPN хоста
Пісочниця виходить у мережу через віртуальний адаптер на комутаторі за замовчуванням. Чи покриває її тунель — властивість клієнта, тому перевіряйте зсередини.
Ви запускаєте 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 або приватні облікові дані, щоб тест пройшов. Це обмінює межу, яку ви намагалися встановити, на зелений результат, а облікові дані живуть довше за тест.
Запишіть режим мережі, спостережуваний вихід і поведінку під час повторного підключення в нотатках про розгортання. Коли оновлення клієнта змінить обробку перенаправленого трафіку, саме ці нотатки скажуть, що вимога ніколи не виконувалася насправді.