背景:
宿主机ubuntu,virtualbox中window中有VPN
需要在宿主机也能共享到VPN网络。
在virtualbox中添加host-only网络,取名vboxnet0
这里在菜单栏中: 管理 -> 工具 -> network manager
vboxnet0在宿主的IP为192.168.56.1
宿主机上运行ifconfig,会增加一个vboxnet0的网卡。
ifconfig
vboxnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.56.1 netmask 255.255.255.0 broadcast 192.168.56.255
在window虚拟机的网络属性中添加网卡2,加入host-only网络vboxnet0
右键window镜像,网络 -> 网卡2
启动window,连接VPN
在powershell中运行Get-NetAdapter
PS C:\Users\x> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
本地连接 TAP-Windows Adapter V9 for OpenVPN C... 15 Up 00-FF-CB-8B-09-70 1 Gbps
以太网 Intel(R) PRO/1000 MT Desktop Adapter 7 Up 08-00-27-79-27-94 1 Gbps
以太网 2 Intel(R) PRO/1000 MT Desktop Adapter #2 6 Up 08-00-27-C0-A4-D2 1 Gbps
这里看到windows里有3个网,1个VPN和2个网络。
可以看到对应关系是:
本地连接:VPN
以太网:NAT
以太网2:vboxnet0
我们的目标是把VPN共享给vboxnet0,也就是上一步设置的网卡2(即 以太网2)
将VPN的网络属性开放网络共享给vboxnet0
将vboxnet0网络设置静态IP
vboxnet0设置IP为192.168.56.2
之前在宿主机中vboxnet0的IP为192.168.56.1
宿主机中设置路由映射
例如将虚拟机中的10.20.1.1经过vboxnet0192.168.56.2映射到宿主机
sudo ip route add 10.20.1.1 via 192.168.56.2 dev vboxnet0
# delete
# sudo ip route del 10.20.1.1 via 192.168.56.2 dev vboxnet0
注意:这个指令下次重启后会失效。
reference link: