因此,我已经建立了 IPSec 站点到站点隧道。
站点 A 有一个 SonicWall,站点 B 有一个 EdgeRouter。
第一条隧道由站点 A 的 NATed IP 到站点 B 的 NATed IP 组成。
一切如预期。
接下来,我有一个站点 B 需要访问的公共 IP 范围,但是,请求看起来像是来自站点 A。当我设置这个隧道时,我只能看到网关处的流量下降。
我无法访问任何这些 IP。由于它在相同的 LAN 到 LAN 配置下工作正常,我相信这可能是 NAT 问题 - 但我不确定,也不知道如何进一步诊断。
这可能是一个转移注意力的幌子,因为我不是很确定...我尝试在 VPN>WAN/WAN>VPN 上放入“允许所有”规则,然后过滤到单个 IP,然后从站点 B ping 它...我看到丢弃了数据包。
有人能在这里提供一些建议吗?
答案1
如果我理解你的问题,你正在尝试这样做:
Server A - Router A - VPN - Router B - Site B
您需要站点 B 能够通过 VPN 访问服务器 A(公共 IP),但您需要源地址看起来像是来自站点 A?
您需要指定发往服务器 A 的流量通过路由器 B 上的 VPN。在路由器 A 上,您需要指定返回流量通过 VPN。接下来,在路由器 A 上,您需要配置 NAT 规则,将来自站点 B 并发往服务器 A 的流量的 SRC IP 更改为服务器 A 将接受的 IP 地址。
答案2
那么,您只需要通过隧道将请求路由到互联网上的某个范围吗?您可以为该范围添加静态路由吗?
作为一种解决方法,请在站点 A 设置一个代理服务器,并让站点 B 上的机器使用该代理服务器访问某些站点。
想得简单点!
答案3
回到我发布的一个老问题:
答案是...买一个新的路由器!
我在这上面浪费了太多时间……结果许多现成的路由器根本无法应对。Sonicwall 和 Juniper 就是其中几个失败的例子。
问题是,您必须定义您的 WAN 和 LAN,并且 IPSEC/VPN 接口连接到 WAN,然后,如果存在一点交叉或者您需要不同寻常的设置,它就会失败并且无法正确路由。
最后,我发现 Vyatta 和 EdgeOS(从 Vyatta 分支)出色地处理了这种设置,您只需说明要转发哪些子网、隧道应该在哪个接口上 - 它就能按预期工作。