由于种种原因,很多公司的vpn版本只能在windows上运行,而我用的是deepin,在外无法访问公司网络,这对于经常驻外办公的人来说,带来诸多不便,那么如何实现linux等操作系统连接仅支持windows的vpn呢,是否可以通过vmware虚拟机实现?

于是在网上搜索了很久都没有搜索到相关文章,只有部分是用mac本上安装虚拟机共享网络的,因此只有自己动手,实在不想再用回Windows!!!

我本机环境如下:

宿主机:deepin 15.11桌面版

虚拟机:vmware® Workstation 15 Pro

虚拟机安装操作系统:windows server 2003--比较古老,其他系统(如win10)配置方法大致一样

配置步骤如下:

安装VMware

安装windows虚拟机,确保windows虚拟机能够正常访问网络。安装和配置过程这里就不在阐述,可自行网络搜索。

编辑虚拟机网络配置

在终端输入sudo vmware-netcfg 命令,打开vmware网络设置器,也可以直接打开vmware,在Edit菜单中中选中Virtual Network Editor进行修改。

公司vpn只支持windows怎么办(公司vpn只支持windows怎么办)(1)

编辑网络

打开网络配置选项,如下图是我本机的配置,安装虚拟机时,自动创建的默认配置,未做任何修改。

公司vpn只支持windows怎么办(公司vpn只支持windows怎么办)(2)

这里需要注意的是host-only类型的vmnet2,后续的配置需要用到,并记录下ip子网地址"192.168.66.0"。如果没有host-only类型的网络,通过Add Network添加该类型的网络即可。

增加用于转发的网卡

不要打开windows虚拟机。通过编辑虚拟机给虚拟机增加一块网卡,用来转发网络请求。

点击Add按钮,添加网络适配器(默认已经存在一个网络适配器,这里需要增加第二个),并设置网络连接为自定义,并在下拉列表中选中第二步中的host-only类型的vmnet2网络,如下图所示

公司vpn只支持windows怎么办(公司vpn只支持windows怎么办)(3)

给虚拟机在原有一块网卡的基础上增加第二块网卡,用于转发网络请求

Windows虚拟机网络配置

启动虚拟机,打开网络设置,可以看到我的虚拟机中有三个网络

公司vpn只支持windows怎么办(公司vpn只支持windows怎么办)(4)

本地连接,是安装虚拟机时自动创建的网络,用来和主机进行通讯,并实现外网联通服务的(我使用的是Bridge(桥接模式))。

本地连接2,是安装EasyConnect vpn软件后vpn网络

本地链接3,是我们上一步新增的另外一块网卡(Host-only(仅主机)

打开本地链接3,打开属性标签页,默认为自动获取ip地址,我们这里为了后续配置,设置为固定ip。

这里需要注意,这里的ip地址必须使用第二步中vmnet2中的子网(Subnet ip)Ip在同一网段中。第二步中我们记录下来的子网地址为192.168.66.0,我这里随便设置了一个同网段的ip,192.168.66.18。

公司vpn只支持windows怎么办(公司vpn只支持windows怎么办)(5)

切记设置同网段的ip

设置本地连接2,即vpn网卡。选中高级选项卡,设置Internet连接共享,将网络共享给本地连接3,如图所示

公司vpn只支持windows怎么办(公司vpn只支持windows怎么办)(6)

设置宿主机的路由规则

为了将访问公司内网的网段的所有请求转发给虚拟机中的网络链接3(Host-only(仅主机),我们需要给宿主机添加路由规则,已达到该目的。

如图所示是我本机配置

公司vpn只支持windows怎么办(公司vpn只支持windows怎么办)(7)

红框是我们这一步需要增加的路由规则,通过它将内网网段的请求转发到虚拟机中的本地连接3中的ip地址(192.168.66.18),这样就实现了宿主机通过虚拟机共享的vpn网络访问公司内网的需求

执行命令如下

sudo route -n add -net 10.18.0.0 netmask 255.255.0.0 gw 192.168.66.18 其中10.18.0.0是公司内网的子网网段Ip

注:

这里需要特别注意子网掩码设置,我这里公司网络网段为10.18,那么参数 -net 为10.18.0.0,子网掩码为255.255.0.0。

如果公司网络网段为10.18.2,那么参数 -net 为10.18.2.0, 子网掩码为255.255.255.0

好了,将虚拟机vpn进行连接后,回到宿主机,发现已经可以连接公司内网了!!!

,