Windows 10沙盒在主机启用Surfshark VPN时无法联网,需实现沙盒经主机VPN访问网络
Windows 10沙盒在主机启用Surfshark VPN时无法联网,需实现沙盒经主机VPN访问网络
我之前也碰到过一模一样的问题,Surfshark的默认防火墙和路由配置确实会把Windows Sandbox的网络通路给挡住,下面给你几个亲测有效的解决办法,按步骤来应该就能搞定:
方法一:调整Surfshark防火墙设置,允许沙盒网络
- 打开Surfshark客户端,点击右上角的设置图标,进入高级选项卡
- 找到「防火墙」模块,如果你开启了阻止所有非VPN流量(这个选项是罪魁祸首,会切断所有未走VPN的网络连接,包括沙盒的),可以先临时关闭试试,看沙盒能不能联网;如果不想关闭这个安全选项,就点击「添加例外」,把主机里的
vEthernet (Default Switch)适配器加进去——这个就是沙盒用的虚拟网络适配器,你可以在主机的「网络连接」面板里找到它
方法二:手动给沙盒添加VPN路由
这个方法适合临时使用,步骤如下:
- 在主机上右键开始菜单,打开管理员身份的PowerShell
- 运行
Get-NetAdapter,找到Surfshark的VPN适配器(名字一般是「Surfshark VPN」),记下它的InterfaceIndex数值 - 接着运行
Get-NetRoute -InterfaceIndex <刚才记下的索引值>,找到DestinationPrefix为0.0.0.0/0的那条记录,它的NextHop就是VPN的网关地址,把这个地址记下来 - 启动Windows Sandbox,在沙盒里打开PowerShell,输入下面的命令(把
<VPN网关地址>换成你刚记的地址):
执行完之后,沙盒的所有流量就会走主机的VPN了route add 0.0.0.0 mask 0.0.0.0 <VPN网关地址> metric 1
方法三:用沙盒配置文件实现自动路由(持久化方案)
如果不想每次启动沙盒都手动输命令,可以做一个自定义配置文件:
- 新建一个文本文档,把后缀改成
.wsb,比如命名为SandboxVPN.wsb - 打开这个文件,粘贴下面的内容,把
<VPN网关地址>替换成你之前查到的地址:<Configuration> <Networking> <NetworkingMode>Default</NetworkingMode> <AllowNetworking>true</AllowNetworking> </Networking> <LogonCommand> <Command>route add 0.0.0.0 mask 0.0.0.0 <VPN网关地址> metric 1</Command> </LogonCommand> </Configuration> - 以后双击这个
.wsb文件启动沙盒,就会自动执行路由命令,直接通过主机VPN联网了
注意事项
- 每次重启Surfshark VPN后,网关地址可能会变化,这时候需要重新查地址更新配置文件或者命令里的地址
- 如果Surfshark客户端更新后设置被重置,记得再检查一遍防火墙的例外设置
备注:内容来源于stack exchange,提问作者Skyline




