有一个 Palo Alto 防火墙(我必须对其进行配置)和一个我无法控制的工业控制器(他们称之为 CP)。
假设 Palo Alto 的外部 IP 为 1.1.1.1,而 CP 的外部 IP 为 2.2.2.2。这些是它们用于相互通信的 IP,这些 IP 可以在连接到 PA 外部接口的嗅探器上看到。
IPSec 隧道建立后,如果 CP 有第二个接口,则一切正常。但其中一些 CP 只有一个接口,只有一个 IP,并且该 IP 应该可以通过隧道访问,但事实并非如此。
从 PA 对 2.2.2.2 进行 ping 操作并观察嗅探器,结果显示原因如下:PA 发送未加密的 ICMP 回显请求,但未得到答复。当 CP 管理员对 1.1.1.1 进行 ping 操作时,嗅探器显示 ESP 数据包从 2.2.2.2 发往 1.1.1.1,然后 PA 用未加密的 ICMP 回显回复进行应答。
我怎样才能让我的 PA 通过隧道发送除 IPSec 流量之外的所有流量?
我试图通过隧道建立到 2.2.2.2 的路由 - 当然隧道没有建立,因为没有网络数据包通过未建立的隧道发送。
我试图“解释” PA 以不同于其他流量的方式发送 IPSec 流量 - 路由表不允许指定流量类型。
我尝试设置基于策略的转发,这需要隧道的 IP。隧道只有 2 个 IP;我尝试将 1.1.1.1 附加到它,但 PA 不喜欢这样。
我发现了类似的问题,甚至在 serverfailt 上也是如此,是的,如何将一些数据包直接通过互联网路由,将其他数据包通过隧道路由,这是同样的困难,但这是关于在 Linux 上开放 vpn,而不是 Palo Alto。
CP 管理员谈到的一些日志输出给了我这样的想法:CP 使用 Strong Swan,并且我已经能够在 Linux 机器上使用我的 PA 和 Strong Swan 复制上述行为。
现在我可以更快地进行测试,但仍然不知道如何让 PA 在路由方面区分加密和未加密的数据包。
还有什么更好的想法吗?
谢谢!TomTomTom
答案1
我很遗憾地通知你,现在你能够体会我的沮丧了:
PAN 不执行 IPsec 传输模式
为什么?我一点儿也不知道。它坏得难以置信。我希望有人能纠正我。
gateway charon: 11[IKE] <con3|14> establishing CHILD_SA con3{15}
gateway charon: 11[ENC] <con3|14> generating CREATE_CHILD_SA request 205 [ N(USE_TRANSP) N(ESP_TFC_PAD_N) SA No KE TSi TSr ]
gateway charon: 11[ENC] <con3|14> parsed CREATE_CHILD_SA response 205 [ N(TS_UNACCEPT) ]
gateway charon: 11[IKE] <con3|14> received TS_UNACCEPTABLE notify, no CHILD_SA built
我尝试采用的解决方案当然是将这些价格过高的垃圾扔掉。
答案2
我不知道 Palo Alto 防火墙。但我确信的是,我们不能通过隧道路由流量并期望它被加密。我们必须通过加密访问列表(或类似的东西)来指定它