这篇文章写得很好,但是不好搜到, 搬到这里方便自查
原文作者没有注明证书,如果作者希望删除,请联系这个账号
本人一直习惯于在linux环境下进行开发工作,但是旧版本的维护是在VirtualBox虚拟机windows下进行。
有一个客户的维护工作需要使用vpn连接,要命的是这个vpn客户端安装程序只支持windows。现在的情况是虚拟机windows下通过vpn可以连接到客户那里,新的开发是在主机ubuntu下面进行。
现在要解决的问题是:主机(192.168.1.0网段)通过虚拟机的vpn连接到客户(192.168.16.0网段)那里。
解决的思路是:vbox虚拟机可以设置多个网卡,利用windows中的网络共享功能实现vpn连接共享给主机使用。
解决方案步骤如下:
- 在全局设定中,找到网络:
- 选择NAT网络,新增一个nat网卡,然后根据自己需要进行设置,网络名称设置为NatNetwork:
- 在虚拟机的网络设置中,首先设置第一个网卡,连接方式为桥接网卡,这个网卡的作用是主机用来使用虚拟机的vpn共享连接,所以将来在虚拟中需要指定此网卡的静态ip地址,让它和主机处于同一网段,以便主机访问此虚拟机。
- 然后启用并设置第二个网卡,连接方式为NAT网络,界面名称选择刚才在全局设置中增加的NatNetwork。此网卡用于虚拟机访问外网。
- 启动虚拟机,登录后在网络连接中,选择vpn安装程序增加的网卡,在属性中选择高级页面中,勾选允许其他网络用户通过此计算机的Internet连接来连接,并在家庭网络连接的下拉列表中选择桥接网卡。
- 确定后,然后选择桥接网卡的属性,他的ip系统默认是192.168.0.1,这个地址主机访问不了,所以将地址修改为主机所在的网段ip,例如192.168.1.101
在主机上设置路由,如果主机访问客户192.168.16.0网段则转发至虚拟机的桥接网卡192.168.1.101:
sudo route add -net 192.168.16.0 netmask 255.255.255.0 gw 192.168.1.101
在主机访问远端网络,一切OK。
个人补充,我没有对原文进行修改
新版的 vb 把全局网络管理放到了这