Juniper SSG ScreenOS 上的接口 NAT 与基于策略的 NAT

网络工程 纳特 杜松 屏幕截图
2022-02-19 12:40:13

我继承了一个混合使用 SSG140、350M 和 550M 的网络。它们中的每一个都配置了一个 Trust、Untrust 和 VPN VR,每个都有多个自定义区域(我们不使用默认区域)。

[Zone: ISP Link]--(Untrust-VR)--(Trust-VR)--[Zone: Routed: Internal A]
                                          \
                                           -[Zone: NAT: Internal B]

我正在努力理解某些区域的配置方式之间的差异功能差异。我们有两种口味:

  • 应用了接口类型路由和基于策略的 NAT 的区域。
    • 策略配置为使用出口 IP(无 DIP)
  • 接口类型为 NAT 的区域,仅应用标准策略。

将连接到 Trust-VR 的区域中的接口设置为 NAT,我可以从日志中看到,NAT 不适用于流向连接到同一 Trust-VR 的其他区域的流量。

作为背景,我特别问,因为我们在使用基于策略的 nat 配置的区域上遇到了 RTMP(TCP 媒体流)问题。看起来它应该可以工作,流量日志显示 NAT 正在正确转换,但 TCP 握手从未完成,也没有数据包返回。我将流的源移动到配置有 NAT 接口的区域并且它工作,翻译从日志中看起来相同。此问题在 ssg140 上特别出现。

总结一下:

  • 没有 DIP 的策略 NAT 和基于接口的 NAT 有什么区别?
  • 我可以将连接到 Trust-VR 的所有区域/接口配置为 NAT 并且不会丢失任何功能吗?
1个回答

没有 DIP 的策略 NAT 和基于接口的 NAT 有什么区别?

基于接口的 NAT 仅适用于从 Trust 区域到 Untrust 区域(如在默认区域中)。其他区域之间的流量将始终被路由。所有这一切的例外(如您所发现的)是当目标区域位于 Untrust VR 中时,在这种情况下,所有流量都将经过源 NAT。

这是 Netscreen 时代的遗留问题,当时没有自定义区域,大多数盒子都有 <=3 个可用界面。它们被自动放置到区域中(这些实际上是在端口上方丝网印刷的)。

另一方面,只要流量与策略匹配,就会应用基于策略的源 NAT,而不管区域/VR。

如果您同时配置两者(例如将接口设置为 NAT 模式,然后配置基于策略的 NAT),则策略 NAT 将覆盖该流量的接口 NAT。

我可以将连接到 Trust-VR 的所有区域/接口配置为 NAT 并且不会丢失任何功能吗?

是的,这应该可以正常工作 - 如上所述,所有这些流量都将被路由,除非使用 Trust 或 Untrust 区域。如果有任何 NAT 要求,您可以配置基于策略以覆盖特定情况。

参考资料:Juniper KB6725 - [ScreenOS] 使用基于接口的 NAT 的配置示例:

http://kb.juniper.net/InfoCenter/index?page=content&id=KB6725&pmv=print&actp=search&searchid=1236690693051&type=currentpaging