这里有一个具有挑战性的问题。
我们有一台 Fortigate 620B,我们正尝试使用它通过 VPN 隧道将一些流量路由到客户。
我们希望流量从我们的一个公共 IP(我们已将其设置为使用特定公共 IP 地址的地址)接口流出NAT
到客户端的公共 IP。
我有一个配置,我相信它应该可以工作,只是当它到达链接时,流量表明它来自我们的内部 IP 地址(192.168.X.X
)而不是公共 IP 地址(x.x.x.x
)。
我们在日志中得到的错误:
id=13 trace_id=368 msg="vd-root received a packet(proto=6, 192.168.XX.XX:50470->XX.XX.183.94:443) from port8. flag [S], seq 342573222, ack 0, win 8192"
id=13 trace_id=368 msg="Find an existing session, id-0a2bb411, original direction"
id=13 trace_id=368 msg="enter IPsec interface-XXX_P2P"
id=13 trace_id=368 msg="No matching IPsec selector, drop"
它丢弃数据包是因为 VPN 上的快速模式选择器设置为使用我们的公共 IP 而不是我们的私有 IP。
这里的挑战是我们和我们的客户使用相同的私有 IP 空间,因此我们必须对流量的两端进行 NAT。
为了解决这个问题,我提出了一个第一阶段的提案和两个第二阶段的提案。
路由规则有效,因为静态路由将数据包引导至 VPN 接口,并且策略规则有效,但由于某种原因,NAT 无法正常工作。
我很乐意提供任何我能提供的信息来帮助解决问题。
答案1
看来您陷入了 Fortinet 术语的困境。您想对 IPsec 数据包的源 IP 进行 NAT 吗?哦……那就这样吧Local Gateway Address
。
玩笑归玩笑,看起来你的配置很好,除了那个该死的 IPsec NAT 设置。
鉴于:
Internal src address => IPsec packets (qualified by src/dst) ~~ NATed to a public IP => ISP router
Local Gateway Address
您必须在配置中使用Phase 1
作为 NATed 到(全局)地址。
记得将此 IP 绑定到接口,否则您将无法将发往该 IP 的数据包发送到接口(呃!)。
config system settings
set allow-subnet-overlap enable #if applicable
end
config system interface
edit [interface name]
set secondary-IP
end
我写了一篇关于它的博客...想听吗?下面是:http://mbrownnyc.wordpress.com/2011/11/11/fortigate-vpn-problems-tell-your-fortigate-what-to-do/