Uruchamiasz Windows Sandbox, otwierasz w nim przeglądarkę, a strona ładuje się z Twojego zwykłego połączenia, choć host minutę wcześniej był w VPN. Nic nie jest zepsute. Piaskownica dostaje wirtualny adapter sieciowy podłączony do domyślnego przełącznika hosta, a to, czy tunel hosta obejmuje tę ścieżkę, jest właściwością klienta VPN, nie Windows.

Co piaskownica faktycznie dostaje

Piaskownica to lekka maszyna wirtualna z własnym adapterem sieciowym. Ten adapter łączy się przez domyślny przełącznik Hyper-V hosta, który tłumaczy ruch piaskownicy na wirtualny interfejs Ethernet hosta, zanim opuści on maszynę. Ten szczegół wyjaśnia prawie każdy objaw zgłaszany w tej sprawie.

Piaskownica nie jest więc procesem na Twoim pulpicie. To osobny punkt końcowy sieci, którego pakiety przekazuje host, a zapora hosta i klient VPN widzą to przekazywanie każdy po swojemu. Reguła napisana dla procesu przeglądarki nie pasuje automatycznie do przetłumaczonej ramki z wirtualnego przełącznika.

Dwa wymagania, które wyglądają jak jedno

Osiągnięcie prywatnego zasobu i wymuszenie, by każde żądanie piaskownicy przechodziło przez tunel, to dwa różne cele. Pierwsze wymaga trasy i rozwiązywania nazw, które działają dla punktu końcowego piaskownicy. Drugie wymaga egzekwowania, które przetrwa ponowne połączenie i awarię. Żadne nie wynika z drugiego, a kontrola spełniająca jedno nic nie mówi o drugim.

Kontrola adresu publicznego nie odpowiada w pełni na żadne z tych dwóch pytań. Widok wyjścia VPN z wnętrza piaskownicy pokazuje, że część ruchu korzystała z tunelu. Nie mówi nic o tym, czy nazwy prywatne są rozwiązywane, ani co dzieje się z żądaniem, które zaczyna się, gdy tunel jest wyłączony.

Zapisz, którego z dwóch potrzebujesz, zanim cokolwiek przetestujesz, bo oba wymagania prowadzą do różnych projektów i tylko jedno da się zweryfikować przeglądarką.

Sprawdź od wewnątrz piaskownicy

Jedyna sensowna obserwacja pochodzi z sesji samej piaskownicy, nie z hosta. Otwórz tam PowerShell i sprawdź adapter, rozwiązywanie nazw oraz ścieżkę do adresu dokumentacji:

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

Lista adapterów pokazuje adres i bramę, które dostała piaskownica. Inna brama niż u hosta jest normalna dla domyślnego przełącznika, więc porównuj wyjście, a nie bramę. Test rozwiązywania pokazuje, czy nazwa prywatna jest w ogóle rozwiązywana, i właśnie tutaj konfiguracje split-horizon zwykle różnią się od hosta. Wiersz trasy pokazuje, która brama zdaniem piaskownicy jest właścicielem trasy domyślnej.

Powtórz te same trzy kontrole z tunelem połączonym i rozłączonym. Wynik, który nie zmienia się między tymi stanami, jest dowodem, że tunel w ogóle nie leży na ścieżce piaskownicy, niezależnie od tego, jaki adres pokazała kontrola publiczna.

Wyłącz sieć, gdy piaskownica jej nie potrzebuje

Do przeglądu offline własny plik konfiguracyjny może całkowicie usunąć sieć. Ustawienie to jeden element w dokumencie konfiguracji:

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

Dokumentacja konfiguracji piaskownicy opisuje ten element i ostrzega, że włączona sieć może wystawić sieci wewnętrzne aplikacjom, którym nie ufasz. To ostrzeżenie jest całym powodem, by ustawić to jawnie, zamiast przyjmować wartość domyślną.

Przełącznik nie wybiera jednak interfejsu VPN. To binarna decyzja o tym, czy sieć istnieje, a nie sposób przypisania piaskownicy do konkretnego tunelu. Wymagania, które nazywa wyjście, nie spełni przełącznik, który jedynie decyduje, czy takie jest.

Zaprojektuj granicę, zanim cokolwiek przydzielisz

Jeśli wymaganiem jest ścisła izolacja, wybierz projekt sieci maszyny wirtualnej, który potrafi ją wymusić i użyj obsługiwanej polityki produktu VPN dla ruchu przekazywanego lub ruchu maszyn wirtualnych. Zgadywanie zachowania klienta hosta nie jest projektem, a jedna udana kontrola nie jest wdrożeniem.

Nie dawaj niezaufanej piaskownicy firmowego profilu VPN ani prywatnych poświadczeń, żeby test przeszedł. To wymienia granicę, którą próbowałeś ustalić, na zielony wynik, a poświadczenie żyje dłużej niż test.

Zapisz tryb sieci, zaobserwowane wyjście i zachowanie przy ponownym połączeniu w notatkach wdrożeniowych. Gdy aktualizacja klienta zmieni sposób obsługi ruchu przekazywanego, właśnie te notatki powiedzą, że wymaganie nigdy nie zostało naprawdę spełnione.

Powiązane artykuły