宿主机使用虚拟机的VPN网络上网

本人的宿主机为 windows10,虚拟机为 VMware 启动的 windows10。

在使用 VPN 时必须安装除 VPN 外的一个软件,但因为”软件洁癖“,不想在宿主机安装这些软件,所以在虚拟机中安装 VPN 相关软件,在宿主机使用虚拟机共享出来的网络上网。

一、设置虚拟机的虚拟网络适配器

打开 VMware 中虚拟机的设置。

除了上图的 NAT 网络外,添加一个新的网络适配器,选择”仅主机模式“。

接着,打开网络编辑器,选中”仅主机模式“的网络适配器,将DHCP功能关闭。

  1. 单击编辑 > 虚拟网络编辑器,并选择”仅主机模式“的网络适配器。

  2. 取消勾选”本地 DHCP 服务将 IP 地址分配给虚拟机“

二、在虚拟机内设置共享连接

启动虚拟机,在虚拟机内一通操作,连接 VPN。

随后打开”控制面板 > 网络和 Internet > 网络连接“,会多出来一个除之前设置的两个虚拟网络适配器外的以太网连接。

查看这个以太网连接的属性中 Internet 协议版本 4 (TCP/IPV4)属性应该使用了一个 10.xxx.xx.xx 的内网 IP 。

点击高级,查看DNS的设置,记住这些配置,接下来设置宿主机时要用到。

查看此以太网的属性,点击共享选项卡,勾选”允许其他网络用户通过此计算机的 Internet 连接来连接“,并将下方的选择共享的网络连接,选为虚拟网络适配器中的”仅主机模式“的网络适配器。

这时,再去查看”控制面板 > 网络和 Internet > 网络连接“中,”仅主机模式“的网络适配器属性的 Internet 协议版本 4 (TCP/IPV4)属性,应该会自动变为使用一个 192.168.137.1 的 IP。

这时虚拟机内设置共享就完成了。

三、在宿主机中使用虚拟机共享的网络

回到宿主机。

打开”控制面板 > 网络和 Internet > 网络连接“,找到 VMware 创建的”仅主机使用“的虚拟网络适配器(大概会叫 VMnet1)。

设置其属性的 Internet 协议版本 4 (TCP/IPV4)属性。

使用的 IP 地址改为和 192.168.137.1 同网段的 IP(例如 192.168.137.2 ),这个需要自己简单计算下,网段计算规则自己查;

子网掩码使用255.255.255.0;

设置 DNS 则点开高级,还记得我们上个步骤说的要记住的那些配置么,完全照着那个 DNS 配置设置一遍。

保存即可。

到此步我们就快大功告成了,还有最后一步,我们要把宿主机中所有对内网网段的访问都路由到宿主机共享出来的网络去。

因此我们在路由表中添加一条配置。

使用管理员权限打开宿主机的 cmd,执行 route add 10.0.0.0 mask 255.0.0.0 192.168.137.1

route 命令是操作路由表的命令

route print 可以打印当前的路由表

此外还有 route add、delete 之类的操作:Route (命令) - 维基百科,自由的百科全书 (wikipedia.org)

好了!现在我们可以在宿主机中访问内网了!

附录 1:VMware 三种网络适配器的区别

Vmware虚拟机三种网络模式详解_CSDN已弃用-CSDN博客

VMware的几种网络模式 - 云+社区 - 腾讯云 (tencent.com)

附录 2:Mac 如何做到类似的配置

虚拟机共享网络给宿主机使用 | Michael’s (michaelpassion.github.io)

思路大致相同。