![我在办公室之间设置了站点到站点 VPN 隧道,当我从家里连接到任一办公室时,都无法看到另一端](https://linux22.com/image/486698/%E6%88%91%E5%9C%A8%E5%8A%9E%E5%85%AC%E5%AE%A4%E4%B9%8B%E9%97%B4%E8%AE%BE%E7%BD%AE%E4%BA%86%E7%AB%99%E7%82%B9%E5%88%B0%E7%AB%99%E7%82%B9%20VPN%20%E9%9A%A7%E9%81%93%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%8E%E5%AE%B6%E9%87%8C%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%BB%BB%E4%B8%80%E5%8A%9E%E5%85%AC%E5%AE%A4%E6%97%B6%EF%BC%8C%E9%83%BD%E6%97%A0%E6%B3%95%E7%9C%8B%E5%88%B0%E5%8F%A6%E4%B8%80%E7%AB%AF.png)
这是我第一次在这里发帖,所以请保持温柔。标题描述了我的问题,我将概述设置:
我在相距 100 英里的两个办公室中设置了站点到站点的双向 VPN 隧道。站点 A 运行 Watchguard Firebox x20e,站点 B 运行 Cisco ASA 5500(或类似设备)。
我已经成功在它们两者之间建立了隧道,这样当您在任一内部网络中时,您都可以 ping 并访问对面的网络。
但是,当我通过 VPN 完全连接到场外(例如,在家里)的任何一个网络时,我看不到对面的网络,但我能够毫无问题地看到通过 VPN 连接到的内部网络。
答案1
VPN 连接到站点 A,打开命令提示符并输入:
tracert -d 192.168.0.2
您会看到流量尝试到达站点 B 时所经过的所有路由器的列表(这需要一段时间才能建立)。第一跳应该是 192.168.10.1,即站点 A 的路由器。如果第一跳是到您 PC 的常用默认网关,那么您需要修改 PC 上的路由规则。如果第一跳是 192.168.10.1,但其余跳数超时,那么您需要修改路由器配置。
稍微展开一下(如果您已经了解这些内容,请耐心听我说!),假设您的 PC 的 IP 地址为 192.168.16.2,默认网关为 192.168.16.1(您可以输入 ipconfig 来获取此信息)。当您 ping 任何非 192.168.16.xxx 的地址时,流量将被路由到您的网关 192.168.1.1。
当您连接 VPN 时,您可能会获得第二个 IP 地址 192.168.10.something;实际上,VPN 会创建第二个网卡。如果您 ping 192.168.10.1(即站点 A 路由器),则它现在是一个本地地址,因此不涉及网关,站点 A 路由器应该会回复。现在 ping 192.168.0.1(站点 B 路由器)。此地址不在您的实际 NIC(192.168.16.xxx)或 VPN 虚拟 NIC(192.168.10.xxx)的本地网络中,因此数据包将转到默认网关 192.168.16.1。默认网关可能是您的 ADSL 路由器,因此数据包消失在互联网中并丢失。因此您无法 ping 站点 B。
现在,有些 VPN 会在您连接时更改默认网关。在这种情况下,默认网关将是 192.168.10.something,因此当您 ping 192.168.0.xxx 时,数据包应该会流经 VPN,您应该能够 ping 站点 B。
我似乎有些抱怨,但重点是 tracert 会快速地告诉你对站点 B 的 ping 去了哪里并给你一些关于哪里出了问题的线索。
JR
答案2
问题可能出在两个方面……也可能是两者兼而有之。
路由问题: 如果您的 VPN 子网与您通过 VPN 连接的站点不同,您需要告诉站点 b 的设备将流量路由回该子网的站点 a。
防火墙问题: 就像路线一样,交通需要被允许。
答案3
您必须设置路由器以允许来自 VPN 子网的流量通过隧道。