这里有一个有挑战性的问题
我们有一台Fortigate 620B,我们正尝试使用它来将一些stream量通过VPN隧道发送给客户。
我们希望stream量通过我们的一个公共IP(我们将它设置为使用特定公共IP地址的NAT地址)与我们的接口连接到客户端上的公共IP。
我有一个configuration,我相信应该工作,除了stream量,因为它击中链接说,它来自我们的内部IP地址( 192.168.XX ),而不是公共IP地址( xxxx )。
我们在日志中得到的错误:
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上的快速模式select器被设置为使用我们的公共IP而不是我们的私有IP。
这里的挑战是我们和我们的客户端使用相同的私有IP空间,所以我们必须在stream量的两端都进行NAT。
为了解决这个问题,我有一个阶段1提案和两个阶段2提案。
路由规则起作用是因为静态路由引导数据包到VPN接口,并且策略规则工作,但由于某种原因,NAT不能正常工作。
我很乐意提供任何可以帮助解决问题的信息。
看来你已经遇到了糟糕的Fortinet行话的难题。 你想NAT的IPsec数据包的源IP? 哦,那将是Local Gateway Address 。
除了笑话之外,看起来你的configuration是好的,除了那个不好的IPsec NAT设置。
鉴于:
Internal src address => IPsec packets (qualified by src/dst) ~~ NATed to a public IP => ISP router
您必须使用Phase 1configuration中的Local Gateway Address作为NAT(全局)地址。
请记住将此IP绑定到接口,否则您将无法将接收到IP的数据包发送到接口(duh!)。
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/