Du startar Windows Sandbox, öppnar en webbläsare i den, och sidan laddas via din vanliga anslutning trots att värden var på VPN en minut tidigare. Inget är trasigt. Sandlådan får en virtuell nätverksadapter kopplad till värdens standardbrytare, och huruvida värdens tunnel täcker den vägen är en egenskap hos VPN-klienten, inte hos Windows.

Vad sandlådan faktiskt får

Sandlådan är en lättviktsvirtuell maskin med en egen nätverksadapter. Adaptern ansluter via värdens Hyper-V-standardbrytare, som översätter sandlådans trafik till värdens virtuella Ethernet-gränssnitt innan den lämnar maskinen. Den detaljen förklarar nästan varje symptom folk rapporterar om detta.

Sandlådan är alltså inte en process på ditt skrivbord. Den är en separat nätverksändpunkt vars paket vidarebefordras av värden, och värdens brandvägg och VPN-klienten ser var sin del av den vidarebefordran på sitt eget sätt. En regel skriven för en webbläsarprocess matchar inte automatiskt en översatt ram från en virtuell brytare.

Två krav som ser ut som ett

Att nå en privat resurs och att tvinga varje sandlådeförfrågan genom tunneln är två olika mål. Det första kräver en rutt och en namnmatchning som fungerar för sandlådans ändpunkt. Det andra kräver genomdrivning som överlever en återanslutning och ett fel. Inget av dem följer av det andra, och en kontroll som uppfyller det ena säger ingenting om det andra.

En kontroll av den offentliga adressen svarar inte fullt ut på någon av de två frågorna. Att se VPN-utgången inifrån sandlådan visar att en del trafik använde tunneln. Den säger ingenting om huruvida privata namn löses upp, eller vad som händer med en förfrågan som startar medan tunneln är nere.

Skriv ner vilket av de två du behöver innan du testar något, eftersom de två kraven leder till olika konstruktioner och bara det ena kan verifieras med en webbläsare.

Kontrollera inifrån sandlådan

Den enda meningsfulla observationen kommer från sandlådans egen session, inte från värden. Öppna PowerShell där och titta på adaptern, namnmatchningen och vägen till en dokumentationsadress:

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

Adapterlistan visar den adress och gateway som sandlådan fick. En annan gateway än värdens är normal för standardbrytaren, så jämför utgången i stället för gatewayen. Matchningstestet visar om ett privat namn besvaras överhuvudtaget, och det är här split-horizon-uppsättningar vanligtvis avviker från värden. Ruttraden visar vilken gateway sandlådan anser äger standardrutten.

Upprepa samma tre kontroller med tunneln ansluten och frånkopplad. Ett resultat som inte ändras mellan dessa tillstånd är bevis för att tunneln inte alls ligger på sandlådans väg, vilken adress den offentliga kontrollen än visade.

Stäng av nätverket när sandlådan inte behöver det

För offline-inspektion kan en anpassad konfigurationsfil ta bort nätverket helt. Inställningen är ett enda element i konfigurationsdokumentet:

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

Referensen för sandlådekonfiguration dokumenterar det här elementet och varnar för att aktiverat nätverk kan exponera interna nätverk för program du inte litar på. Den varningen är hela skälet att sätta det uttryckligen i stället för att acceptera standarden.

Brytaren väljer dock inte ett VPN-gränssnitt. Det är ett binärt beslut om att ha ett nätverk, inte ett sätt att binda sandlådan till en viss tunnel. Ett krav som namnger en utgång kan inte uppfyllas av en brytare som bara avgör om det finns en.

Designa gränsen innan du ger något

Om kravet är strikt isolering, välj en nätverksdesign för virtuella maskiner som kan genomdriva det, och använd VPN-produktens stödda policy för vidarebefordrad trafik eller trafik från virtuella maskiner. Att gissa värdens klientbeteende är ingen design, och en enda lyckad kontroll är ingen implementering.

Ge inte en icke betrodd sandlåda en företags-VPN-profil eller privata uppgifter för att få ett test att gå igenom. Det byter gränsen du försökte etablera mot ett grönt resultat, och uppgifterna överlever testet.

Anteckna nätverksläge, den observerade utgången och återanslutningsbeteendet i driftsättningsanteckningarna. När en klientuppdatering ändrar hur vidarebefordrad trafik hanteras, är det anteckningarna som säger att kravet aldrig verkligen uppfylldes.

Relaterade artiklar