我在我的电脑的路由表中添加了一个自定义IP:
route add 203.29.222.150 MASK 255.255.255.255 192.168.1.145
192.168.1.145 是使用 virtualbox 在我的 PC 上托管的 VM,该 VM 安装了 VPN 客户端,出于某些安全原因,必须通过 VPN 调用“203.29.222.150”才能使用 Outlook。
我想要实现的是在我的 PC 上访问“203.29.222.150”,但通过 VM 路由。
问题是:添加路由后,我发现虚拟机在尝试访问“我的电脑”中的网站后突然无法访问任何网站(我也无法访问我的电脑上的 203.29.222.150),并且虚拟机内部显示以下错误屏幕: 为什么会发生这种情况?据我所知,如果我能够访问虚拟机内的“203.29.222.150”,那么我也应该能够将“203.29.222.150”路由到我的电脑,对吗?
答案1
对,但是除非:
客户机(VM)操作系统配置为允许IP 转发(路由)。如果运行的是 Windows,则可能难以启用此功能。
客户操作系统执行伪装 (SNAT),这样 VPN 软件和 VPN 服务器都不会看到任何“意外”的源 IP 地址。(这不是一般要求,但对于企业“客户端”VPN 来说几乎总是需要的。)
VPN软件不会故意阻止IP转发。
在 Windows 上,“Internet 连接共享”应该同时涵盖第 1 点和第 2 点——但是,同样,只要 VPN 软件不不兼容并且不会故意阻止它……
注意:第 2 点不是 VPN 技术所必需的。一般来说,但对于企业 VPN 来说,这几乎 100% 是必需的,因为你无法控制服务器端。(对于自定义 VPN,你可以做控制服务器端,真正的要求是远程主机有一条路由回到您的电脑的地址。