我想这个问题也可能属于网络类别,但我还是想在这里试一试。情况如下:
我们在工作中使用 IP 地址(无域名)访问 Web 服务器。例如:
http://192.168.1.12/blah.aspx
但是,当我在家,并通过 VPN 上班时(仍然使用工作电脑,但通过家庭互联网进行 VPN 连接),上述 URL 将不起作用。
原因似乎是它试图在我家里的私人网络上路由。现在,我有几种方法可以解决这个问题。主要是,我可以通过 RDP 连接到工作服务器,然后从那里上网。但是,我正在尝试想出一个不同的解决方案,并在这个过程中学习。
我想到的一个问题是计算机如何做出路由决策。我以为一旦我使用 VPN,一切都会通过这个虚拟适配器进行。也许这是一个分割隧道 VPN?
我最感兴趣的是这个问题的解决方案,这样我就可以通过 IP 地址浏览这些内部网站。但是,我也想知道为什么会发生这种情况。
谢谢!
答案1
抱歉,这条回复太长了,不适合评论。回复你上一条评论:
问题是路由表(至少在 Windows 中)非常简单。(如果您知道这一点,我再一次表示抱歉)
Windows 将看到一个 IP 范围和一个子网掩码,然后它有两个选项,即流量应该去往特定的 IP 地址(网关或外部地址等)或所谓的 on-link 地址,这意味着 Windows 会将其抛到网络适配器,因为它是本地 IP 地址并且不需要特定的路由。
因此,如果您的 IP 范围和 VPN IP 范围相同,则路由表中会有两个条目,一个是 192.168.1.0 255.255.255.0去ON-LINK,其中一个为 192.168.1.0 255.255.255.0去VPN 网关 IP。
现在 Windows 必须选择使用哪一个,这时所谓的度量就开始发挥作用,并用它来指导 Windows 使用最佳路线。
因此,如果您尝试访问 192.168.1.12,它将转到路由表并询问我需要将此流量发送到哪个网关才能获得正确的响应。请记住,较低的指标具有较高的优先级。
问题是,如果 Windows 使用 VPN 作为较低度量(或其较高优先级路由),那么它将无法访问重要内容,例如其自己的本地网关或其本地 DNS 等。因此,它必须使用 ON-LINK 路由作为较低度量(较高优先级)。
希望有所帮助,您可以通过转到命令提示符并键入 ROUTE PRINT 在 Windows 中查看您的路由表