You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VirtualBox Host-Only适配器模式下Guest端VPN连接共享给Host失效的问题求助

VirtualBox Host-Only适配器模式下Guest端VPN连接共享给Host失效的问题求助

各位大佬好,我遇到了一个VirtualBox网络配置的棘手问题,想请教下有没有解决思路:

我在Debian系统的VirtualBox虚拟机里已经成功建立了VPN连接,原本的需求是直接从MacOS主机通过SSH连接到VPN背后的服务器,之前一套配置一直正常工作,但现在突然失效了。

我的网络拓扑原本是这样的:
[Mac主机]----------->[带VPN的Debian虚拟机]------->[VPN背后的目标服务器]

主机(MacOS)配置细节

  • 我的MacBook本地局域网IP是192.168.1.33,运行VirtualBox版本为7.0.6 r155176,系统是macOS 13.1 (22C65)
  • 为了让访问目标服务器的流量走虚拟机,我添加了静态路由:
    sudo route -n add -net 1.2.3.4/32 192.168.56.100
    

虚拟机(Debian)配置细节

  • 虚拟机配置了两个网卡:
    • NAT适配器:IP为10.0.2.15,用来提供外网访问能力,让VPN客户端能正常连接到VPN服务器
    • Host-Only网络适配器:IP为192.168.56.100,用来和主机做专属网络通信
  • 已经开启了IP转发功能:
    root@vbox:/home/user# cat /proc/sys/net/ipv4/ip_forward
    1
    
  • 配置了iptables的伪装规则,确保主机流量能通过VPN出去:
    iptables -t nat -I POSTROUTING -s 192.168.56.0/24 -o tun0 -j MASQUERADE
    

问题现状

之前这套配置完全能正常工作,我可以直接从Mac主机SSH到VPN背后的目标服务器,但现在突然不行了。目前唯一能临时解决的办法是把Host-Only适配器改成桥接模式,这样虚拟机拿到了本地局域网的IP,调整路由和iptables规则后就能正常访问了,但我还是想回到Host-Only模式下解决问题——毕竟桥接模式会让虚拟机直接暴露在局域网里,不是我想要的方案。

看起来主机到Host-Only网络的路由功能在VirtualBox里出问题了,有没有大佬成功用Host-Only适配器实现过这个需求?

备注:内容来源于stack exchange,提问作者giomanda

火山引擎 最新活动