我在两个网络(一个是家庭网络,一个是办公室网络,A 和 B)之间建立了 VPN。它们的子网为:(A) 192.168.1.0 和 (B) 192.168.0.0
这两个网络具有相同的 ADSL 路由器。不幸的是,这些路由器只能进行拨出 VPN。因此,我在网络 B 上安装了一台 Windows 2008 服务器,充当 VPN 服务器(ServerB)。网络 A 的路由器(RouterA)穿过网络 B 的路由器,并通过 PPTP 连接到 ServerB。RouterA 在网络 B 上被分配了静态 IP 192.168.0.40。
ServerB 上有一个永久静态路由,指示它对所有发往网络 A 子网 192.168.1.0 的请求使用 0.40。(route -p add 192.168.1.0 mask 255.255.255.0 192.168.0.40)。这使 ServerB 能够 ping A 上的所有计算机(并且这些计算机能够 ping ServerB)。
VPN 连接偶尔会断开(我不确定为什么 - 它设置为始终保持开启状态,但似乎会随机断开)。这不会造成太大问题,因为它会自动快速重新连接,只是当它重新连接时,ServerB 上的静态路由不再起作用。
路由打印(在 ServerB 上)显示持久静态路由仍然存在。但是,对网络 A 上的计算机的 tracert 不使用静态路由;而是尝试使用 ServerB 的默认网关(即 RouterB),但无法找到该计算机。
删除并重新添加静态路由可以解决问题 - tracert 使用静态路由。目前,删除并重新添加静态路由的批处理文件计划每天运行。但这显然远非理想的解决方案!
希望这不会让人感到困惑。如能得到任何帮助,我将不胜感激。
答案1
您是否在 Windows 服务器上运行路由和远程访问服务?我自己没有在 Windows 2008 上使用过它,但在早期的 Windows 版本中使用过。使用此服务时,您可以管理用于 VPN 接口的路由以及用于路由的所有网络接口。我认为使用批处理文件手动执行此操作容易出错。