本页内容
源 NAT
源 NAT 最常用于将专用 IP 地址转换为公共可路由地址,以便与主机通信。源 NAT 更改通过路由器的数据包的源地址。NAT 池是一组地址,旨在替换客户端 IP 地址。有关更多信息,请参阅以下主题:
了解源 NAT
源 NAT 是离开瞻博网络设备的数据包的源 IP 地址的转换。源 NAT 用于允许具有专用 IP 地址的主机访问公共网络。
源 NAT 只允许为传出网络连接(例如,从专用网络到 Internet)启动连接。源 NAT 通常用于执行以下转换:
-
将一个 IP 地址转换为另一个地址(例如,为专用网络中的单个设备提供 Internet 访问权限)。
-
将一个连续的地址块转换为另一个相同大小的地址块。
-
将一个连续的地址块转换为另一个较小大小的地址块。
-
使用端口转换将连续的地址块转换为单个 IP 地址或较小的地址块。
-
将连续的地址块转换为出口接口的地址。
转换到出口接口地址不需要地址池;所有其他源 NAT 转换都需要配置地址池。相同大小的地址块的一对一和多对多转换不需要端口转换,因为要转换的每个地址池中都有一个可用地址。
如果地址池的大小小于要转换的地址数,则可以转换的并发地址总数受地址池大小的限制,或者必须使用端口转换。例如,如果将包含 253 个地址的块转换为包含 10 个地址的地址池,则最多可以同时连接 10 台设备,除非使用端口转换。
支持以下类型的源 NAT:
-
将原始源 IP 地址转换为出口接口的 IP 地址(也称为接口 NAT)。始终执行端口地址转换。
-
将原始源 IP 地址转换为用户定义地址池中的 IP 地址,而无需转换端口地址。原始源 IP 地址与转换后的源 IP 地址之间的关联是动态的。但是,一旦存在关联,对于匹配同一 NAT 规则的新流量,相同的关联将用于相同的原始源 IP 地址。
-
使用端口地址转换,将原始源 IP 地址转换为用户定义地址池中的 IP 地址。原始源 IP 地址与转换后的源 IP 地址之间的关联是动态的。即使存在关联,对于匹配相同 NAT 规则的新流量,也可以将相同的原始源 IP 地址转换为不同的地址。
-
通过移动 IP 地址,将原始源 IP 地址转换为用户定义地址池中的 IP 地址。这种类型的转换是一对一的、静态的,没有端口地址转换。如果原始源 IP 地址范围大于用户定义池中的 IP 地址范围,则未转换的数据包将被丢弃。
如果您在聚合多服务 (AMS) 接口上使用源 NAT,则在 MX 系列设备上。命令 service set 为每个 AMS 接口创建一个单独的条目。因此,内存利用率耗尽,如果配置额外的 AMS 接口,则会导致配置提交错误。
用户端口利用率警报
您可以使用运营商级网络地址转换 (CGNAT) 来监控和管理端口利用率。使用以 set secuirty nat source subscriber-pool-utilization-alarm 配置阈值限制,以便在端口或端口块使用率超过配置的阈值时接收通知。
如果将池配置为端口块分配 (PBA),并且订阅者使用的端口块数超过阈值,则会生成通知。
对于确定性 NAT (DETNAT) 池,如果订阅者使用的端口数超过已分配块中的阈值,则会生成通知。
阻尼间隔
当超过配置的阈值限制时,系统将发送一个RAISE_ALARM,然后是抑制期,在此期间不会再发送警报。
使用可配置的计时器,通过 dampening-interval at [set secuirty nat source subscriber-pool-utilization-alarm] 层次结构防止系统日志或 SNMP 服务器频繁收到报警通知。
如果未触发CLEAR_ALARM,则抑制期连续。如果在禁止期间内收到CLEAR_ALARM,系统日志将从计时器中删除并发送CLEAR_ALARM。
有关更多信息,请参阅 subscriber-pool-utilization-alarm 和 show security nat source port-block。
了解 NAT 的中心点架构增强功能
系统会话容量和会话提升速率受中心点内存容量和 CPU 容量限制。以下列表介绍了用于提高性能的 NAT 增强功能:
中心点架构不再支持中心点会话。因此,NAT 需要维护一个 NAT 跟踪器,以跟踪 IP 地址或端口分配和使用情况。NAT 跟踪器是 SPU 会话 ID 到 NAT IP 或端口映射的全局阵列,用于管理 NAT 资源。
默认情况下,NAT 规则告警和陷阱统计计数器更新消息每隔 1 秒从服务处理单元 (SPU) 发送到中心点,而不是根据中心点系统中的每个会话触发器更新统计信息。
要支持分配的特定 NAT IP 地址或端口,使 NAT 之后的 5 元组散列与 NAT 之前的原始 5 元组散列相同,请选择一个 NAT 端口,通过特定计算得出与原始散列相同的散列。因此,转发会话会减少。使用 NAT 时,反向翼将散列为不同的 SPU。必须安装正向会话才能将反向流量转发到会话 SPU。NAT 尝试选择一个端口,哈希算法可以使用该端口将反向翼散列到与初始翼相同的 SPU。因此,使用这种方法可以提高 NAT 性能和吞吐量。
为了提高 NAT 性能,会将 IP 转移池(非 PAT 池)管理从中心点移至 SPU,以便在本地管理该池的所有本地 NAT 资源,而不是将 NAT 请求发送到中心点。因此,提高了 IP 地址切换 NAT 池每秒连接数和吞吐量。
端口溢出突发模式
端口溢出突发模式允许您使用分配的端口块之外的端口。您可以将突发池配置为具有一系列 IP 地址的端口,以保留用于突发。
有主池和突发池类型,一旦订阅者达到主池中配置的限制,设备就会使用突发池。
以下设备支持 Brust 模式:
具有 PBA 类型突增池的确定性 NAT 源 NAT 池。
具有动态网络地址端口转换 (NAPT) 类型突发池的确定性 NAT 源 NAT 池。
具有 PBA 类型突增池的常规 PBA 源 NAT 池。
具有动态 NAPT 类型突增池的常规 PBA 源 NAT 池。
| NAT 类型 |
在配置的端口阻止限制不超过之前 |
配置后的端口块限制不超过 |
|---|---|---|
| 具有 PBA 类型突增池的确定性 NAT 源 NAT 池 |
使用主 DetNAT 池中的端口块。 |
PBA 中配置的突发池中的端口块。 |
| 具有动态网络地址端口转换 (NAPT) 类型的突发池的确定性 NAT 源 NAT 池 |
使用主 DetNAT 池中的端口块。 |
在动态 NAPT 中配置的突发池中的端口阻止。 |
| 常规 PBA 源 NAT 池与 PBA 类型突增池 |
使用主 PBA 池中的端口块。 |
PBA 中配置的突发池中的端口块。 |
| 具有动态 NAPT 类型突发池的常规 PBA 源 NAT 池 |
使用主 PBA 池中的端口块。 |
在动态 NAPT 中配置的突发池中的端口阻止。 |
PBA 突发类型方法 — PBA 支持 APP 和非 APP作模式。
-
APP 模式 — 端口从主池中分配。当订阅者限制超过主池时,如果突发池中有相同 IP 地址的任何可用端口,则会创建新会话。
-
非 APP 模式 — 端口从主池中分配。当订阅者超过主池的限制时,将从突发池使用任何可用 IP 地址和端口创建新会话。
DetNAT 突发类型方法 — 端口从主池中分配。如果突发池中的相同 IP 地址或同一 IP 地址中的所有可用端口都不可用,则会使用其他 IP 地址创建新会话。如果突发池配置了与主池不同的 IP,则使用突发池中的另一个 IP。
优化源 NAT 性能
源 NAT 可以根据功能和性能需求进行优化。
端口随机化模式(默认)
对于基于池的源 NAT 和接口 NAT,默认启用并使用端口随机化模式。
在此模式下,设备会轮询方式选择 IP 地址,端口选择是随机的。也就是说,当设备执行 NAT 转换时,它首先通过轮询方式选择 IP 地址,然后通过随机化方式选择用于该 IP 地址的端口。
虽然随机端口号分配可以防御 DNS 毒害攻击等安全威胁,但由于涉及计算和 NAT 表资源,它也会影响性能和内存使用。
轮询模式
资源密集度较低的 NAT 转换方法涉及仅使用轮询分配方法。随机化需要对每个分配的端口进行计算工作,而轮询方法只是按顺序选择端口。
在此模式下,设备会轮询方式选择 IP 地址和端口。也就是说,当设备执行 NAT 转换时,它首先通过轮询方式选择 IP 地址,然后通过轮询方式选择用于该 IP 地址的端口。
例如,如果源池仅包含一个 IP 地址:
当流的第一个数据包到达(创建会话)时,它将被转换为 IP1 端口 N。该流中的后续数据包将被分配到相同的 IP/端口。
当新流的第一个数据包到达时,它将被转换为 IP1、端口 N+1 等。
如果源池包含两个 IP 地址:
当流的第一个数据包到达(创建会话)时,它将被转换为 IP1 端口 X。该流中的后续数据包将被分配到相同的 IP/端口。
当第二个流的第一个数据包到达时,它将被转换为 IP2 端口 X。
当第三个流的第一个数据包到达时,它将被转换为 IP1 端口 X+1。
第四个流的第一个数据包到达后,将其转换为 IP2、端口 X+1,依此类推。
配置
默认情况下启用轮询模式,但端口随机化模式(也已启用)具有更高的优先级。要使用轮询模式,请禁用优先级较高的端口随机化模式,如下所示:
user@host# set security nat source port-randomization disable
要禁用轮询模式(并重新启用端口随机化),请删除配置语句,如下所示:
user@host# delete security nat source port-randomization disable
会话亲缘模式
在上述模式下,入站 SPU 会根据 5 元组(源 IP、dest IP、源端口、dest 端口、协议)哈希处理给定会话。当涉及 NAT 时,会话的出站部分与会话的返回部分的 5 元组哈希会有所不同。因此,出站 NAT 会话信息可能位于一个 SPU 中,而返回(反向)NAT 会话信息可能位于另一个 SPU 中。会话亲缘模式的目标是维护同一 SPU 上出站和回传流量的转发会话信息。
在此模式下,设备使用“反向 NAT 增强”转换算法进行 IP 和端口选择,以提高 NAT 会话和吞吐量的性能。NAT 模块会尝试选择可与散列算法配合使用的 IP 地址和端口,以确保为出站流和返回流元素选定的 SPU 可以完全相同。
配置
默认情况下会启用会话关联模式,但端口随机化和轮询模式(也已启用)的优先级更高。要使用会话关联模式,请同时禁用端口随机化和轮询模式,如下所示:
user@host# set security nat source port-randomization disable user@host# set security nat source port-round-robin disable
要禁用会话关联模式并重新启用轮询模式或端口随机化模式,请删除一个或多个配置语句,如下所示:
user@host# delete security nat source port-round-robin disable user@host# delete security nat source port-randomization disable
使用说明
会话关联模式的注意事项和准则包括:
尽可能使用大型 NAT 端口池(请参阅下面的安全注意事项)
该算法从配置的端口范围内选择一个端口。如果没有可用端口,则会根据随机选择分配 NAT 端口。
静态 NAT 和目标 NAT 不能使用关联模式。
安全注意事项
尽管会话亲缘性通过整合转发会话来提高性能,但它在一定程度上降低了安全性,因为该算法基于具有特定参数的预定义算法选择 IP 地址和端口,而不是纯粹的随机化。也就是说,事实上,算法通常有多个符合条件的端口可供选择,因此仍然存在一定程度的随机化。
降低安全风险的最好方法是确保使用的源端口号的可预测性较低。也就是说,选择临时端口的 NAT 池资源范围越大,攻击者猜测所选端口号的几率就越小。鉴于此,建议尽可能配置大型 NAT 端口池。
监控源 NAT 信息
目的
显示有关源网络地址转换 (NAT) 规则、池、永久 NAT 和配对地址的配置信息。
行动
在 J-Web 用户界面中选择 Monitor>NAT>Source NAT ,或输入以下 CLI 命令:
显示安全 NAT 源摘要
显示安全 NAT 源池 pool-name
显示安全 NAT 源 persistent-nat-table
显示安全 NAT 源配对地址
表 2 介绍了用于监控源 NAT 的可用选项。
田 |
描述 |
行动 |
|---|---|---|
| 规则 | ||
规则集名称 |
规则集的名称。 |
从列表中选择要显示的所有规则集或特定规则集。 |
规则总数 |
配置的规则数。 |
– |
编号 |
规则 ID 号。 |
– |
名字 |
规则的名称。 |
– |
从 |
数据包流经的路由实例/区域/接口的名称。 |
– |
自 |
数据包流向的路由实例/区域/接口的名称。 |
– |
源地址范围 |
源池中的源 IP 地址范围。 |
– |
目标地址范围 |
源池中的目标 IP 地址范围。 |
– |
源端口 |
源端口号。 |
– |
IP 协议 |
IP 协议。 |
– |
行动 |
对与规则匹配的数据包执行的作。 |
– |
持久 NAT 类型 |
持久 NAT 类型。 |
– |
非活动超时 |
永久 NAT 绑定的非活动超时间隔。 |
– |
报警阈值 |
利用率警报阈值。 |
|
最大会话数 |
最大会话数。 |
– |
会话(成功/失败/当前) |
成功、失败和当前会话。
|
– |
翻译点击率 |
转换表中的转换用于源 NAT 规则的次数。 |
– |
| 池 | ||
池名称 |
池的名称。 |
从列表中选择要显示的所有池或特定池。 |
池总数 |
添加的池总数。 |
– |
编号 |
池的 ID。 |
– |
名字 |
源池的名称。 |
– |
地址范围 |
源池中的 IP 地址范围。 |
– |
单/双端口 |
分配的单端口和双端口数。 |
– |
港口 |
池中的源端口号。 |
– |
地址分配 |
显示地址分配的类型。 |
– |
报警阈值 |
利用率警报阈值。 |
– |
端口过载因素 |
端口过载能力。 |
– |
路由实例 |
路由实例的名称。 |
– |
地址总数 |
总 IP 地址、IP 地址集或地址簿条目。 |
– |
主机地址库 |
原始源 IP 地址范围的主机基址。 |
– |
翻译命中率 |
转换表中的转换用于源 NAT 的次数。 |
– |
| 十大翻译点击率 | ||
图 |
显示排名前 10 位的翻译命中次数的图表。 |
– |
| 持久 NAT | ||
| 持久性 NAT 表统计信息 | ||
绑定总计 |
显示 FPC 的持久性 NAT 绑定总数。 |
– |
使用中的绑定 |
用于 FPC 的持久性 NAT 绑定数。 |
– |
enode 总计 |
FPC 的持久性 NAT 电子节点总数。 |
– |
使用中的 enode |
用于 FPC 的持久性 NAT 节点数。 |
– |
| 持久 NAT 表 | ||
源 NAT 池 |
池的名称。 |
从列表中选择要显示的所有池或特定池。 |
内部 IP |
内部 IP 地址。 |
从列表中选择要显示的所有 IP 地址或特定 IP 地址。 |
内部端口 |
显示系统中配置的内部端口。 |
从列表中选择要显示的端口。 |
内部协议 |
内部协议。 |
从列表中选择要显示的所有协议或特定协议。 |
内部 IP |
传出会话的内部传输 IP 地址,从内部到外部。 |
– |
内部端口 |
从内部到外部的传出会话的内部传输端口号。 |
– |
内部协议 |
传出会话的内部协议,从内部到外部。 |
– |
反射式 IP |
源 IP 地址的转换 IP 地址。 |
– |
反射端口 |
显示端口的转换编号。 |
– |
反射协议 |
翻译后的协议。 |
– |
源 NAT 池 |
使用持久 NAT 的源 NAT 池的名称。 |
– |
类型 |
持久 NAT 类型。 |
– |
剩余时间/会议时间 |
剩余的非活动超时期限和配置的超时值。 |
– |
当前会话数/最大会话数 |
与持久 NAT 绑定关联的当前会话数和最大会话数。 |
– |
源 NAT 规则 |
应用此持久性 NAT 绑定的源 NAT 规则的名称。 |
– |
| 外部节点表 | ||
内部 IP |
传出会话的内部传输 IP 地址,从内部到外部。 |
– |
内部端口 |
传出会话的内部端口号,从内部到外部。 |
– |
外部 IP |
传出会话的外部 IP 地址,从内部到外部。 |
– |
外部端口 |
传出会话的外部端口(从内部到外部)。 |
– |
区 |
传出会话的外部区域,从内部到外部。 |
– |
| 配对地址 | ||
池名称 |
池的名称。 |
从列表中选择要显示的所有池或特定池。 |
指定地址 |
IP地址。 |
选择所有地址,或选择要显示的内部或外部 IP 地址,然后输入 IP 地址。 |
池名称 |
显示选定的一个或多个池。 |
– |
内部地址 |
显示内部 IP 地址。 |
– |
外部地址 |
显示外部 IP 地址。 |
– |
| 资源使用情况 | ||
| 所有源池的利用率 | ||
池名称 |
池的名称。 |
要查看端口地址转换 (PAT) 池的其他使用信息,请选择池名称。该信息显示在指定池的详细端口利用率下。 |
池类型 |
池类型:PAT 或非 PAT。 |
– |
端口过载因素 |
PAT 池的端口过载能力。 |
– |
地址 |
池中的地址。 |
– |
使用 |
池中已用资源数。 对于非 PAT 池,将显示已使用的 IP 地址数。 对于 PAT 池,将显示已使用的端口数。 |
– |
可用 |
池中的可用资源数。 对于非 PAT 池,将显示可用 IP 地址的数量。 对于 PAT 池,将显示可用端口数。 |
– |
总 |
池中已使用和可用资源数。 对于非 PAT 池,将显示已使用和可用 IP 地址的总数。 对于 PAT 池,将显示已用和可用端口的总数。 |
– |
用法 |
已用资源的百分比。 对于非 PAT 池,将显示使用的 IP 地址的百分比。 对于 PAT 池,将显示端口的百分比,包括单端口和双端口。 |
– |
峰值使用量 |
高峰日期和时间内使用的资源百分比。 |
– |
| 指定池的详细端口利用率 | ||
地址名称 |
PAT 池中的 IP 地址。 |
选择要显示详细使用信息的 IP 地址。 |
因子指数 |
索引号。 |
– |
端口范围 |
显示一次分配的端口数。 |
– |
使用 |
显示已用端口数。 |
– |
可用 |
显示可用端口数。 |
– |
总 |
显示已使用和可用端口的数量。 |
– |
用法 |
显示高峰日期和时间期间使用的端口百分比。 |
– |
使用运营商等级 NAT 监控用户端口利用率
开始之前:
-
了解监控订阅者端口利用率的准则。请阅读 配置端口块分配大小。
您可以配置阈值限制,通过在超过端口或端口块使用率时接收通知来监控端口利用率。支持端口块分配 (PBA) 和确定性 NAT (DetNAT) 部署模式。
SNMP MIB 对象包括:
-
jnxJsSrcNatSubThresholdStatus - 源 NAT 订阅者阈值状态陷阱
-
jnxJsNatSubscriberIP – 订阅者 IP 地址
-
jnxJsNAT–NAT MIB
系统日志消息为:
- RT_SRC_NAT_SUBS_POOL_ALARM_DAMPENING
RT_NAT: RT_SRC_NAT_SUBS_POOL_ALARM_RAISE: Subscriber ip: 10.0.0.1, Source NAT pool: pool-name, Pool type: PBA, threshold: 90%, current: 100% - RT_SRC_NAT_SUBS_POOL_ALARM_CLEAR
RT_NAT: RT_SRC_NAT_SUBS_POOL_ALARM_CLEAR: Subscriber ip: 10.0.0.1, Source NAT pool: pool-name, Pool type: PBA, threshold: 50%, current: 25% - RT_SRC_NAT_SUBS_POOL_ALARM_RAISE
RT_NAT: RT_SRC_NAT_SUBS_POOL_ALARM_DAMPENING: Subscriber IP: 10.1.1.2, NAT pool: pool-name, threshold alarm [raise, clear] suppressed for 2 times in last 10 seconds
源 NAT 配置概述
源 NAT 的主要配置任务如下:
示例:配置源 NAT 以进行出口接口转换
此示例介绍如何配置专用地址的源 NAT 映射到出口接口的公共地址。
要求
开始之前:
-
在设备上配置网络接口。请参阅 安全设备接口用户指南。
-
创建安全区域并为其分配接口。请参阅 了解安全区域。
概述
此示例对专用地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。在 图 1 中,在信任区域中具有专用地址的设备通过出口接口 ge-0/0/0 访问公共网络。对于从信任区域进入瞻博网络安全设备且目标地址在不信任区域的数据包,源 IP 地址将转换为出口接口的 IP 地址。
使用出口接口的源 NAT 不需要源 NAT 池。无需为出口接口配置代理 ARP。
此示例介绍以下配置:
-
源 NAT 规则集
rs1,其中包含用于匹配从信任区域到不信任区域的任何数据包的规则r1。为了匹配数据包,源地址将转换为出口接口的 IP 地址。 -
安全策略,允许从信任区域到不信任区域的流量。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit 。
set security nat source rule-set rs1 from zone trust
set security nat source rule-set rs1 to zone untrust
set security nat source rule-set rs1 rule r1 match source-address 0.0.0.0/0
set security nat source rule-set rs1 rule r1 match destination-address 0.0.0.0/0
set security nat source rule-set rs1 rule r1 then source-nat interface
set security policies from-zone trust to-zone untrust policy internet-access match source-address any
set security policies from-zone trust to-zone untrust policy internet-access match destination-address any
set security policies from-zone trust to-zone untrust policy internet-access match application any
set security policies from-zone trust to-zone untrust policy internet-access then permit
分步过程
下面的示例要求您在配置层次结构的各个层级中导航。有关作说明,请参阅 在配置模式下使用 CLI 编辑器。
要配置到出口接口的源 NAT 转换,请执行以下作:
-
创建源 NAT 规则集。
[edit security nat source] user@host# set rule-set rs1 from zone trust user@host# set rule-set rs1 to zone untrust -
配置一个规则,用于匹配数据包并将源地址转换为出口接口的地址。
[edit security nat source] user@host# set rule-set rs1 rule r1 match source-address 0.0.0.0/0 user@host# set rule-set rs1 rule r1 match destination-address 0.0.0.0/0 user@host# set rule-set rs1 rule r1 then source-nat interface -
配置允许从信任区域到不信任区域的流量的安全策略。
[edit security policies from-zone trust to-zone untrust] user@host# set policy internet-access match source-address any destination-address any application any user@host# set policy internet-access then permit
结果
在配置模式下,输入 show security nat 和 show security policies 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security nat
source {
rule-set rs1 {
from zone trust;
to zone untrust;
rule r1 {
match {
source-address 0.0.0.0/0;
destination-address 0.0.0.0/0;
}
then {
source-nat {
interface;
}
}
}
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy internet-access {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
如果完成设备配置,请从配置模式输入 commit 。
验证
要确认配置工作正常,请执行以下任务:
验证源 NAT 规则的使用情况
目的
验证是否存在与源 NAT 规则匹配的流量。
行动
在作模式下,输入 show security nat source rule all 命令。查看转化命中字段,以检查与规则匹配的流量。
示例:配置源 NAT 以进行单地址转换
此示例说明如何配置单个私有地址到公有地址的源 NAT 映射。
要求
开始之前:
-
在设备上配置网络接口。请参阅 安全设备接口用户指南。
-
创建安全区域并为其分配接口。请参阅 了解安全区域。
概述
此示例对专用地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。在 图 2 中,信任区域中专用地址为 192.168.1.200 的设备访问公共网络。对于设备发送到不信任区域中的目标地址的数据包,瞻博网络安全设备会将源 IP 地址转换为公共 IP 地址 203.0.113.200/32。
此示例介绍以下配置:
-
包含 IP 地址 203.0.113.200/32 的源 NAT 池
src-nat-pool-1。 -
源 NAT 规则集
rs1,其中包含用于将源 IP 地址为 192.168.1.200/32 的数据包从信任区域匹配到不信任区域的规则r1。为了匹配数据包,源地址将转换为池中的src-nat-pool-1IP 地址。 -
接口 ge-0/0/0.0 上地址 203.0.113.200 的代理 ARP。这允许瞻博网络安全设备响应在该地址的接口上收到的 ARP 请求。
-
安全策略,允许从信任区域到不信任区域的流量。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit 。
set security nat source pool src-nat-pool-1 address 203.0.113.200/32
set security nat source rule-set rs1 from zone trust
set security nat source rule-set rs1 to zone untrust
set security nat source rule-set rs1 rule r1 match source-address 192.168.1.200/32
set security nat source rule-set rs1 rule r1 then source-nat pool src-nat-pool-1
set security nat proxy-arp interface ge-0/0/0.0 address 203.0.113.200/32
set security policies from-zone trust to-zone untrust policy internet-access match source-address any
set security policies from-zone trust to-zone untrust policy internet-access match destination-address any
set security policies from-zone trust to-zone untrust policy internet-access match application any
set security policies from-zone trust to-zone untrust policy internet-access then permit
分步过程
下面的示例要求您在配置层次结构的各个层级中导航。有关作说明,请参阅 在配置模式下使用 CLI 编辑器。
要为单个 IP 地址配置源 NAT 转换,请执行以下作:
-
创建源 NAT 池。
[edit security nat source] user@host# set pool src-nat-pool-1 address 203.0.113.200/32 -
创建源 NAT 规则集。
[edit security nat source] user@host# set rule-set rs1 from zone trust user@host# set rule-set rs1 to zone untrust -
配置一个规则,用于匹配数据包并将源地址转换为池中的地址。
[edit security nat source] user@host# set rule-set rs1 rule r1 match source-address 192.168.1.200/32 user@host# set rule-set rs1 rule r1 then source-nat pool src-nat-pool-1 -
配置代理 ARP。
[edit security nat] user@host# set proxy-arp interface ge-0/0/0.0 address 203.0.113.200 -
配置允许从信任区域到不信任区域的流量的安全策略。
[edit security policies from-zone trust to-zone untrust] user@host# set policy internet-access match source-address any destination-address any application any user@host# set policy internet-access then permit
结果
在配置模式下,输入 show security nat 和 show security policies 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security nat
source {
pool src-nat-pool-1 {
address {
203.0.113.200/32;
}
}
rule-set rs1 {
from zone trust;
to zone untrust;
rule r1 {
match {
source-address 192.168.1.200/32;
}
then {
source-nat {
pool {
src-nat-pool-1;
}
}
}
}
}
}
proxy-arp {
interface ge-0/0/0.0 {
address {
203.0.113.200/32;
}
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy internet-access {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
如果完成设备配置,请从配置模式输入 commit 。
验证
要确认配置工作正常,请执行以下任务:
验证源 NAT 池使用情况
目的
验证是否存在使用源 NAT 池中的 IP 地址的流量。
行动
在作模式下,输入 show security nat source pool all 命令。查看转换命中字段,以检查使用池中的 IP 地址的流量。
验证源 NAT 规则的使用情况
目的
验证是否存在与源 NAT 规则匹配的流量。
行动
在作模式下,输入 show security nat source rule all 命令。查看转化命中字段,以检查与规则匹配的流量。
示例:在 SRX 系列防火墙上配置 MAP-E
使用此配置示例可在 SRX 系列防火墙上配置地址和端口封装映射 (MAP-E) 功能。
| 阅读时间 |
不到一个小时 |
| 配置时间 |
不到一个小时 |
- 先决条件示例
- 准备工作
- 功能概述
- 拓扑概览
- 拓扑图示
- 在 SRX 系列防火墙上作为 MAP-E CE 设备进行分步配置
- 在 MX 系列设备上作为 BR 设备进行分步配置
- 验证
- 附录 1:在所有设备上设置命令
- 附录 2:显示所有设备上的配置输出
先决条件示例
| 硬件要求 |
® 瞻博网络SRX1500防火墙或编号较低的设备型号或瞻博网络®vSRX 虚拟防火墙 (vSRX3.0) |
| 软件要求 |
Junos OS 19.4R1 或更高版本。 |
准备工作
| 好处 |
|
| 了解更多 |
了解使用封装实现地址和端口的映射 (MAP-E) |
| 实践经验 |
vLab 沙盒:NAT - 源和目标 |
| 了解更多信息 |
在 NFX 系列设备上配置 MAP-E了解使用封装实现地址和端口的映射 (MAP-E) 新一代服务地址和端口封装映射 (MAP-E) |
功能概述
MAP-E 通过 IPv6 网络传输 IPv4 数据包。MAP-E 网络包含两种类型的设备:
-
MAP-E 客户边缘 (CE):这些双堆栈 CE 设备同时支持 IPv4 和 IPv6。它们还可以执行网络地址端口转换 (NAPT)。
-
MAP-E 边界中继 (BR):CE 设备通过仅支持 IPv6 的网域连接专用 IPv4 主机和 BR 设备。
表 6 提供了此示例中部署的配置组件的简要摘要。
| 使用的技术 |
|
| 主要验证任务 |
在 SRX 系列防火墙上完成 MAP-E 配置后,您可以验证 MAP-E 配置的状态。 |
拓扑概览
此拓扑显示了 SRX 系列防火墙设备上 MAP-E CE 功能的配置过程。它还描述了源自 MAP-E CE 设备的 IPv4 数据包的封装和传输。该配置将这些数据包通过 IPv4-over-IPv6 隧道移动到 MAP-E PE 和 BR 设备。然后,数据包在 IPv6 路由拓扑中进行隧道消除,以进行进一步处理。双栈 MX 系列设备,连接到公共 IPv4 网络和 IPv6 MAP-E 网络,充当 MAP-E BR 设备。
| 主机名 |
角色 |
功能 |
|---|---|---|
| LAN 端点 |
最终用户网络设备。 |
连接到 IPv4 网络。 |
| SRX 系列防火墙 |
连接 BR 路由器和最终用户网络设备。 |
支持通过 ISP IPv6 接入网络连接到大量 IPv4 用户。 |
| BR 路由器 |
连接 IPv4 网络和 SRX 系列防火墙设备。 |
BR 设备至少具有一个支持 IPv6 的接口和一个连接到本地 IPv4 网络的 IPv4 接口。 |
拓扑图示
的 MAP-E 部署
在 SRX 系列防火墙上作为 MAP-E CE 设备进行分步配置
有关 DUT 的完整示例配置,请参阅:
在 MX 系列设备上作为 BR 设备进行分步配置
要将 MX 系列设备配置为 BR 设备,请执行以下作:
验证
本部分提供可用于验证此示例中的功能的 show 命令列表。
您必须在终端设备上建立 SSH 会话才能生成 CLI 输出。
| 命令 |
验证任务 |
|---|---|
show security flow session |
|
show security softwires map-e domain mapce1 |
验证 MAP-E 域 |
show security nat source rule all |
|
show security nat source pool all |
|
show security nat source summary |
|
show security nat source persistent-nat-table all |
|
show services inline softwire statistics mape |
验证流会话
目的
验证数据包流会话。
行动
在作模式下,输入 show security flow session 命令以查看数据包流。
user@srx> show security flow session Session ID: 134218806, Policy name: my_ce/4, Timeout: 1800, Valid In: 10.10.10.2/57630 --> 203.0.113.2/22;tcp, Conn Tag: 0x0, If: ge-1/0/1.0, Pkts: 50, Bytes: 5797, Out: 203.0.113.2/22 --> 192.0.2.18/20691;tcp, Conn Tag: 0x0, If: lt-1/0/0.1, Pkts: 33, Bytes: 5697, Session ID: 134218807, Policy name: my_ce/4, Timeout: 1800, Valid In: 2001:db8:12:3400:c0:2:1200:3400/1 --> 2001:db8::a/1;ipip, Conn Tag: 0x0, If: lt-1/0/0.2, Pkts: 50, Bytes: 7797, Out: 2001:db8::a/1 --> 2001:db8:12:3400:c0:2:1200:3400/1;ipip, Conn Tag: 0x0, If: ge-1/0/2.0, Pkts: 33, Bytes: 7017, Total sessions: 2
意义
示例输出确认数据包流会话已启动。
验证 MAP-E 域
目的
验证 IPv4 和 IPv6 地址配置是否正确。
行动
在作模式下,输入 show security softwires map-e domain mapce1 命令,以查看 IPv4 和 IPv6 地址。
user@srx> show security softwires map-e domain mapce1
Role : CE
Version : 3
Domain Name : mapce1
BR Address : 2001:db8::a/128
End User Ipv6 prefix : 2001:db8:12:3400::/56
BMR Mapping Rule :
Rule Name : bmr
Rule Ipv4 Prefix : 192.0.2.0/24
Rule Ipv6 Prefix : 2001:db8::/40
PSID offset : 6
PSID length : 8
EA bit length : 16
Port SetID : 0x34
MAP-E Ipv4 address : 192.0.2.18/32
MAP-E Ipv6 address : 2001:db8:12:3400:c0:2:1200:3400
意义
示例输出显示配置的 IPv4 和 IPv6 地址。
验证 NAT 源规则
目的
查看 NAT 源规则的详细信息。
行动
在作模式下,输入 show security nat source rule all 命令,以查看 NAT 源规则。
user@srx> show security nat source rule all
Total rules: 1
Total referenced IPv4/IPv6 ip-prefixes: 5/0
source NAT rule: r1
Rule-set : mape
Rule-Id : 1
Rule position : 1
From zone : v4zone
To interface : lt-1/0/0.1
: ge-1/0/1.0
Match
Source addresses : 10.10.10.0 - 10.10.10.255
Destination addresses : 10.10.10.0 - 10.10.10.255
198.51.100.0 - 198.51.100.255
203.0.113.0 - 203.0.113.255
192.0.2.0 - 192.0.2.255
Action : my_mape
Persistent NAT type : any-remote-host
Persistent NAT mapping type : address-port-mapping
Inactivity timeout : 300
Max session number : 30
Translation hits : 1
Successful sessions : 1
Failed sessions : 0
Number of sessions : 1
意义
示例输出显示配置的 NAT 源规则。
验证 NAT 源池
目的
查看 NAT 源池的详细信息。
行动
在作模式下,输入 show security nat source pool all 命令,以查看 NAT 源池。
user@srx> show security nat source pool all
Total pools: 1
Pool name : my_mape
Pool id : 4
Routing instance : default
Host address base : 0.0.0.0
Map-e domain name : mapce1
Map-e rule name : bmr
PSID offset : 6
PSID length : 8
PSID : 0x34
Port overloading : 1
Address assignment : no-paired
Total addresses : 1
Translation hits : 1
Address range Single Ports Twin Ports
192.0.2.18 - 192.0.2.18 1 0
Total used ports : 1 0
意义
示例输出显示配置的 NAT 源池。
验证 NAT 源摘要
目的
查看 NAT 源摘要。
行动
在作模式下,输入 show security nat source summary 命令以查看 NAT 源详细信息。
user@srx> show security nat source summary
show security nat source summary
Total port number usage for port translation pool: 252
Maximum port number for port translation pool: 134217728
Total pools: 1
Pool Address Routing PAT Total
Name Range Instance Address
my_mape 192.0.2.18-192.0.2.18 default yes 1
Total rules: 1
Rule name : r1
Rule set : mape
Action : my_mape
From : v4zone To : lt-0/0/0.1
Rule name : r1
To : ge-0/0/7.0
意义
示例输出显示配置的 NAT 源详细信息。
验证持久 NAT 表
目的
查看持久 NAT 表。
行动
在作模式下,输入 show security nat source persistent-nat-table all 命令,以查看持久 NAT 表。
user@srx> show security nat source persistent-nat-table all Internal Reflective Source Type Left_time/ Curr_Sess_Num/ Source In_IP In_Port I_Proto Ref_IP Ref_Port R_Proto NAT Pool Conf_time Max_Sess_Num NAT Rule 10.10.10.2 57630 tcp 192.0.2.18 20691 tcp my_mape any-remote-host -/300 1/30 r1
意义
示例输出显示持久性 NAT 表。
验证 MX 系列设备上的软线统计信息
目的
查看 MX 系列设备上的软线统计信息。
行动
在作模式下,输入 show services inline softwire statistics mape 命令以查看 MX 系列设备上的软线统计信息。
user@host> show services inline softwire statistics mape
Service PIC Name si-1/0/0
Control Plane Statistics
MAPE ICMPv6 echo requests to softwire concentrator 0
MAPE ICMPv6 echo responses from softwire concentrator 0
MAPE Dropped ICMPv6 packets to softwire concentrator 0
Data Plane Statistics (v6-to-v4) Packets Bytes
MAPE decaps 15034 1388760
MAPE ICMP decap errors 0 0
MAPE decap spoof errors 0 0
MAPE v6 reassembled 0 0
MAPE dropped v6 fragments 0 0
MAPE v6 unsupp protocol drops 0 0
Data Plane Statistics (v4-to-v6) Packets Bytes
MAPE encaps 149544 223527457
MAPE ICMP encap errors 0 0
MAPE v6 mtu errors 0 0
MAPE v4 reassembled 0 0
MAPE dropped v4 fragments 0 0
意义
示例输出显示 MX 系列设备上的软线统计信息。
附录 1:在所有设备上设置命令
在所有设备上设置命令输出。
在 MAP-E CE 设备上设置命令
set security policies global policy my_ce match source-address any set security policies global policy my_ce match destination-address any set security policies global policy my_ce match application any set security policies global policy my_ce then permit set security policies default-policy permit-all set security zones security-zone v4zone host-inbound-traffic system-services all set security zones security-zone v4zone host-inbound-traffic protocols all set security zones security-zone v4zone interfaces ge-1/0/1.0 set security zones security-zone v4zone interfaces lt-1/0/0.1 set security zones security-zone v6zone host-inbound-traffic system-services all set security zones security-zone v6zone host-inbound-traffic protocols all set security zones security-zone v6zone interfaces ge-1/0/2.0 set security zones security-zone v6zone interfaces lt-1/0/0.2 set interfaces ge-1/0/1 unit 0 family inet address 10.10.10.1/24 set interfaces ge-1/0/2 mtu 9192 set interfaces ge-1/0/2 unit 0 family inet6 address 2001:db8:ffff::1/64 set interfaces lt-1/0/0 mtu 9192 set interfaces lt-1/0/0 unit 1 encapsulation ethernet set interfaces lt-1/0/0 unit 1 peer-unit 2 set interfaces lt-1/0/0 unit 1 family inet address 172.16.100.1/24 set interfaces lt-1/0/0 unit 1 family inet6 address 2001:db8:fffe::1/64 set interfaces lt-1/0/0 unit 2 encapsulation ethernet set interfaces lt-1/0/0 unit 2 peer-unit 1 set interfaces lt-1/0/0 unit 2 family inet address 172.16.100.2/24 set interfaces lt-1/0/0 unit 2 family inet6 address 2001:db8:fffe::2/64 set routing-instances v4_leg routing-options rib v4_leg.inet.0 static route 198.51.100.0/24 next-hop 172.16.100.2 set routing-instances v4_leg routing-options rib v4_leg.inet.0 static route 203.0.113.0/24 next-hop 172.16.100.2 set routing-instances v4_leg routing-options rib v4_leg.inet.0 static route 192.0.2.0/24 next-hop 172.16.100.2 set routing-instances v4_leg instance-type virtual-router set routing-instances v4_leg interface lt-1/0/0.1 set routing-instances v4_leg interface ge-1/0/1.0 set routing-instances v6_leg routing-options rib v6_leg.inet.0 static route 10.10.10.0/24 next-hop 172.16.100.1 set routing-instances v6_leg routing-options rib v6_leg.inet6.0 static route 2001:db8::a/128 next-hop 2001:db8:ffff::9 set routing-instances v6_leg routing-options rib v6_leg.inet6.0 static route 2001:db8:0012:3500::/56 next-hop 2001:db8:ffff::2 set routing-instances v6_leg routing-options rib v6_leg.inet6.0 static route 2001:db8:0012:3400::/56 next-hop 2001:db8:fffe::1 set routing-instances v6_leg instance-type virtual-router set routing-instances v6_leg interface lt-1/0/0.2 set routing-instances v6_leg interface ge-1/0/2.0 set security softwires map-e mapce1 br-address 2001:db8::a/128 set security softwires map-e mapce1 end-user-prefix 2001:db8:0012:3400::/56 set security softwires map-e mapce1 rule bmr rule-type BMR set security softwires map-e mapce1 rule bmr ipv4-prefix 192.0.2.0/24 set security softwires map-e mapce1 rule bmr ipv6-prefix 2001:db8::/40 set security softwires map-e mapce1 rule bmr ea-bits-length 16 set security softwires map-e mapce1 rule bmr psid-offset 6 set security softwires map-e mapce1 role CE set security softwires map-e mapce1 version 3 set security nat source pool my_mape allocation-domain mapce1 set security nat source pool my_mape allocation-domain allocation-rule bmr set security nat source rule-set mape from zone v4zone set security nat source rule-set mape to interface lt-1/0/0.1 set security nat source rule-set mape to interface ge-1/0/1.0 set security nat source rule-set mape rule r1 match source-address 10.10.10.0/24 set security nat source rule-set mape rule r1 match destination-address 10.10.10.0/24 set security nat source rule-set mape rule r1 match destination-address 198.51.100.0/24 set security nat source rule-set mape rule r1 match destination-address 203.0.113.0/24 set security nat source rule-set mape rule r1 match destination-address 192.0.2.0/24 set security nat source rule-set mape rule r1 then source-nat pool my_mape set security nat source rule-set mape rule r1 then source-nat pool persistent-nat permit any-remote-host
在 BR 设备上设置命令
set services service-set ss1 softwire-rules sw-rule1 set services service-set ss1 next-hop-service inside-service-interface si-1/0/0.1 set services service-set ss1 next-hop-service outside-service-interface si-1/0/0.2 set services softwire softwire-concentrator map-e mape-domain-1 softwire-address 2001:db8::a set services softwire softwire-concentrator map-e mape-domain-1 ipv4-prefix 192.0.2.0/24 set services softwire softwire-concentrator map-e mape-domain-1 mape-prefix 2001:db8::/40 set services softwire softwire-concentrator map-e mape-domain-1 ea-bits-len 16 set services softwire softwire-concentrator map-e mape-domain-1 psid-offset 6 set services softwire softwire-concentrator map-e mape-domain-1 psid-length 8 set services softwire softwire-concentrator map-e mape-domain-1 mtu-v6 9192 set services softwire softwire-concentrator map-e mape-domain-1 version-03 set services softwire softwire-concentrator map-e mape-domain-1 v4-reassembly set services softwire softwire-concentrator map-e mape-domain-1 v6-reassembly set services softwire softwire-concentrator map-e mape-domain-1 disable-auto-route set services softwire rule sw-rule1 match-direction input set services softwire rule sw-rule1 term t1 then map-e mape-domain-1 set interfaces si-1/0/0 unit 1 family inet6 set interfaces si-1/0/0 unit 1 service-domain inside set interfaces si-1/0/0 unit 2 family inet set interfaces si-1/0/0 unit 2 service-domain outside set interfaces ge-1/1/2 mtu 9192 set interfaces ge-1/1/2 unit 0 family inet6 address 2001:db8:ffff::9/64 set interfaces ge-1/1/3 unit 0 family inet address 203.0.113.1/24 set routing-options rib inet6.0 static route 2001:db8::/40 next-hop si-1/0/0.1 set routing-options rib inet6.0 static route 2001:db8:0012:3400::/56 next-hop 2001:db8:ffff::1 set routing-options rib inet6.0 static route 2001:db8:0012:3500::/56 next-hop 2001:db8:ffff::2 set routing-options static route 192.0.2.0/24 next-hop si-1/0/0.2 set routing-options static route 198.51.100.0/24 next-hop si-1/0/0.2 set routing-options static route 203.0.113.0/24 next-hop si-1/0/0.2
附录 2:显示所有设备上的配置输出
在所有设备上显示命令输出。
在 MAP-E CE 设备上显示命令
在配置模式下,输入show security policies、show security zones、show security softwiresshow interfacesshow routing-instances和show security nat source命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
user@srx# show security policies
global {
policy my_ce {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
default-policy {
permit-all;
}
user@srx# show security zones
security-zone v4zone {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-1/0/1.0;
lt-1/0/0.1;
}
}
security-zone v6zone {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-1/0/2.0;
lt-1/0/0.2;
}
}
user@srx# show interfaces
lt-1/0/0 {
mtu 9192;
unit 1 {
encapsulation ethernet;
peer-unit 2;
family inet {
address 172.16.100.1/24;
}
family inet6 {
address 2001:db8:fffe::1/64;
}
}
unit 2 {
encapsulation ethernet;
peer-unit 1;
family inet {
address 172.16.100.2/24;
}
family inet6 {
address 2001:db8:fffe::2/64;
}
}
}
ge-1/0/1 {
unit 0 {
family inet {
address 10.10.10.1/24;
}
}
}
ge-1/0/2 {
mtu 9192;
unit 0 {
family inet6 {
address 2001:db8:ffff::1/64;
}
}
}
user@srx# show routing-instances
v4_leg {
instance-type virtual-router;
routing-options {
rib v4_leg.inet.0 {
static {
route 192.0.2.0/24 next-hop 172.16.100.2;
route 198.51.100.0/24 next-hop 172.16.100.2;
route 203.0.113.0/24 next-hop 172.16.100.2;
}
}
}
interface lt-1/0/0.1;
interface ge-1/0/1.0;
}
v6_leg {
instance-type virtual-router;
routing-options {
rib v6_leg.inet.0 {
static {
route 10.10.10.0/24 next-hop 172.16.100.1;
}
}
rib v6_leg.inet6.0 {
static {
route 2001:db8::a/128 next-hop 2001:db8:ffff::9;
route 2001:db8:0012:3400::/56 next-hop 2001:db8:fffe::1;
route 2001:db8:0012:3500::/56 next-hop 2001:db8:ffff::2;
}
}
}
interface lt-1/0/0.2;
interface ge-1/0/2.0;
}
user@srx# show security softwires
map-e mapce1 {
br-address "$9$AodDuIEhSrlvWB1Yg4aiH.P5T/CEcyeWLz3EcyrvMaZGU.P"; ## SECRET-DATA
end-user-prefix {
2001:db8:0012:3400::/56;
}
rule bmr {
rule-type BMR;
ipv4-prefix "$9$WVnL-VJGDH.PY2P5z6CAvW8xdbwYgDikY2QF"; ## SECRET-DATA
ipv6-prefix "$9$O4LbISrlKMWX7hcaZGDmPTz3np0rev87-hcs2g4ZG"; ## SECRET-DATA
ea-bits-length 16; ## SECRET-DATA
psid-offset "$9$y8NeLx"; ## SECRET-DATA
}
role CE;
version 3;
}
user@srx# show security nat source
pool my_mape {
allocation-domain mapce1 allocation-rule bmr;
}
rule-set mape {
from zone v4zone;
to interface [ lt-1/0/0.1 ge-1/0/1.0 ];
rule r1 {
match {
source-address 10.10.10.0/24;
destination-address [ 10.10.10.0/24 198.51.100.0/24 203.0.113.0/24 192.0.2.0/24 ];
}
then {
source-nat {
pool {
my_mape;
persistent-nat {
permit any-remote-host;
}
}
}
}
}
}
show commands on BR 设备
在配置模式下,输入show servicesshow interfaces、和show routing-options命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
user@router# show services
service-set ss1 {
softwire-rules sw-rule1;
next-hop-service {
inside-service-interface si-1/0/0.1;
outside-service-interface si-1/0/0.2;
}
}
softwire {
softwire-concentrator {
map-e mape-domain-1 {
softwire-address 2001:db8::a;
ipv4-prefix 192.0.2.0/24;
mape-prefix 2001:db8::/40;
ea-bits-len 16;
psid-offset 6;
psid-length 8;
mtu-v6 9192;
version-03;
v4-reassembly;
v6-reassembly;
disable-auto-route;
}
}
rule sw-rule1 {
match-direction input;
term t1 {
then {
map-e mape-domain-1;
}
}
}
}
user@router# show interfaces
lt-0/0/10 {
unit 0 {
encapsulation vlan-bridge;
vlan-id 10;
peer-unit 1;
}
}
si-1/0/0 {
unit 1 {
family inet6;
service-domain inside;
}
unit 2 {
family inet;
service-domain outside;
}
}
ge-1/1/2 {
mtu 9192;
unit 0 {
family inet6 {
address 2001:db8:ffff::9/64;
}
}
}
ge-1/1/3 {
unit 0 {
family inet {
address 203.0.113.1/24;
}
}
}
ge-1/3/11 {
unit 0 {
family inet {
address 10.0.1.2/30;
}
family mpls;
}
}
irb {
unit 0 {
family inet {
address 192.0.2.1/24;
}
}
}
lo0 {
apply-groups-except global;
unit 0 {
family inet {
address 10.255.0.2/32;
}
}
}
user@router# show routing-options
rib inet6.0 {
static {
route 2001:db8::/40 next-hop si-1/0/0.1;
route 2001:db8:0012:3400::/56 next-hop 2001:db8:ffff::1;
route 2001:db8:0012:3500::/56 next-hop 2001:db8:ffff::2;
}
}
router-id 10.255.0.2;
autonomous-system 100;
static {
route 0.0.0.0/0 next-hop [ 10.102.70.254 10.10.0.0 ];
route 192.0.2.0/24 next-hop si-1/0/0.2;
route 198.51.100.0/24 next-hop si-1/0/0.2;
route 203.0.113.0/24 next-hop si-1/0/0.2;
}
forwarding-table {
chained-composite-next-hop {
ingress {
evpn;
}
}
}
示例:配置源和目标 NAT 转换
此示例介绍如何配置源和目标 NAT 映射。
要求
开始之前:
-
在设备上配置网络接口。请参阅 安全设备接口用户指南。
-
创建安全区域并为其分配接口。请参阅 了解安全区域。
概述
此示例对专用地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。 在图 4 中,在瞻博网络安全设备上执行以下转换:
-
信任区中专用地址为 192.168.1.200 的设备向不信任区域中的任何地址发送的数据包中的源 IP 地址将转换为 203.0.113.10 到 203.0.113.14 范围内的公共地址。
-
从信任区域发送到不信任区域的数据包中的目标 IP 地址 203.0.113.100/32 将转换为地址 10.1.1.200/32。
此示例介绍以下配置:
-
包含 IP 地址范围为 203.0.113.10 到 203.0.113.14 的源 NAT 池
src-nat-pool-1。 -
使用规则
r1设置的源 NAT 规则,rs1用于匹配从信任区域到不信任区域的任何数据包。为了匹配数据包,源地址将转换为池中的src-nat-pool-1IP 地址。 -
包含 IP 地址 10.1.1.200/32 的目标 NAT 池
dst-nat-pool-1。 -
目标 NAT 规则集
rs1,用于匹配来自信任区域中的目标 IP 地址为 203.0.113.100 的数据r1包。对于匹配的数据包,目标地址将转换为池中的dst-nat-pool-1IP 地址。 -
接口 ge-0/0/0.0 上地址 203.0.113.10 到 203.0.113.14 和 203.0.113.100/32 的代理 ARP。这允许瞻博网络安全设备响应接口上针对这些地址收到的 ARP 请求。
-
安全策略,允许从信任区域到不信任区域的流量。
-
安全策略,允许流量从不信任区域到信任区域中转换后的目标 IP 地址。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit 。
set security nat source pool src-nat-pool-1 address 203.0.113.10/32 to 203.0.113.14/32
set security nat source rule-set rs1 from zone trust
set security nat source rule-set rs1 to zone untrust
set security nat source rule-set rs1 rule r1 match source-address 0.0.0.0/0
set security nat source rule-set rs1 rule r1 match destination-address 0.0.0.0/0
set security nat source rule-set rs1 rule r1 then source-nat pool src-nat-pool-1
set security nat destination pool dst-nat-pool-1 address 10.1.1.200/32
set security nat destination rule-set rs1 from zone untrust
set security nat destination rule-set rs1 rule r1 match destination-address 203.0.113.100/32
set security nat destination rule-set rs1 rule r1 then destination-nat pool dst-nat-pool-1
set security nat proxy-arp interface ge-0/0/0.0 address 203.0.113.10/32 to 203.0.113.24/32
set security nat proxy-arp interface ge-0/0/0.0 address 203.0.113.100/32
set security policies from-zone trust to-zone untrust policy internet-access match source-address any
set security policies from-zone trust to-zone untrust policy internet-access match destination-address any
set security policies from-zone trust to-zone untrust policy internet-access match application any
set security policies from-zone trust to-zone untrust policy internet-access then permit
set security address-book global address dst-nat-pool-1 10.1.1.200/32
set security policies from-zone untrust to-zone trust policy dst-nat-pool-1-access match source-address any
set security policies from-zone untrust to-zone trust policy dst-nat-pool-1-access match destination-address dst-nat-pool-1
set security policies from-zone untrust to-zone trust policy dst-nat-pool-1-access match application any
set security policies from-zone untrust to-zone trust policy dst-nat-pool-1-access then permit
分步过程
下面的示例要求您在配置层次结构的各个层级中导航。有关作说明,请参阅 在配置模式下使用 CLI 编辑器。
要配置源和目标 NAT 转换,请执行以下作:
-
创建源 NAT 池。
[edit security nat source] user@host# set pool src-nat-pool-1 address 203.0.113.10 to 203.0.113.14 -
创建源 NAT 规则集。
[edit security nat source] user@host# set rule-set rs1 from zone trust user@host# set rule-set rs1 to zone untrust -
配置一个规则,用于匹配数据包并将源地址转换为源 NAT 池中的地址。
[edit security nat source] user@host# set rule-set rs1 rule r1 match source-address 0.0.0.0/0 user@host# set rule-set rs1 rule r1 match destination-address 0.0.0.0/0 user@host# set rule-set rs1 rule r1 then source-nat pool src-nat-pool-1 -
创建目标 NAT 池。
[edit security nat destination] user@host# set pool dst-nat-pool-1 address 10.1.1.200/32 -
创建目标 NAT 规则集。
[edit security nat destination] user@host# set rule-set rs1 from zone untrust -
配置匹配数据包并将目标地址转换为目标 NAT 池中地址的规则。
[edit security nat destination] user@host# set rule-set rs1 rule r1 match destination-address 203.0.113.100/32 user@host# set rule-set rs1 rule r1 then destination-nat pool dst-nat-pool-1 -
配置代理 ARP。
[edit security nat] user@host# set proxy-arp interface ge-0/0/0.0 address 203.0.113.10 to 203.0.113.14 user@host# set proxy-arp interface ge-0/0/0.0 address 203.0.113.100 -
配置允许从信任区域到不信任区域的流量的安全策略。
[edit security policies from-zone trust to-zone untrust] user@host# set policy internet-access match source-address any destination-address any application any user@host# set policy internet-access then permit -
在全局通讯簿中配置地址。
[edit security address-book global] user@host# set address dst-nat-pool-1 10.1.1.200/32 -
配置一个安全策略,允许从不信任区域到信任区域的流量。
[edit security policies from-zone untrust to-zone trust] user@host# set policy dst-nat-pool-1-access match source-address any destination-address dst-nat-pool-1 application any user@host# set policy dst-nat-pool-1-access then permit
结果
在配置模式下,输入 show security nat 和 show security policies 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security nat
source {
pool src-nat-pool-1 {
address {
203.0.113.10/32 to 203.0.113.14/32;
}
}
rule-set rs1 {
to zone untrust;
rule r1 {
match {
source-address 0.0.0.0/0;
destination-address 0.0.0.0/0;
}
then {
source-nat {
pool {
src-nat-pool-1;
}
}
}
}
}
}
destination {
pool dst-nat-pool-1 {
address 10.1.1.200/32;
}
rule-set rs1 {
from zone untrust;
rule r1 {
match {
destination-address 203.0.113.100/32;
}
then {
destination-nat pool dst-nat-pool-1;
}
}
}
}
proxy-arp {
interface ge-0/0/0.0 {
address {
203.0.113.10/32 to 203.0.113.14/32;
203.0.113.100/32;
}
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy internet-access {
match {
source-address any;
destination-address any;
application any;
}
}
policy internet-access {
then {
permit;
}
}
}
from-zone untrust to-zone trust {
policy dst-nat-pool-1-access {
match {
source-address any;
destination-address dst-nat-pool-1;
application any;
}
then {
permit;
}
}
}
如果完成设备配置,请从配置模式输入 commit 。
验证
要确认配置工作正常,请执行以下任务:
验证源 NAT 池使用情况
目的
验证是否存在使用源 NAT 池中的 IP 地址的流量。
行动
在作模式下,输入 show security nat source pool all 命令。查看转换命中字段,以检查使用池中的 IP 地址的流量。
验证源 NAT 规则的使用情况
目的
验证是否存在与源 NAT 规则匹配的流量。
行动
在作模式下,输入 show security nat source rule all 命令。查看转化命中字段,以检查与规则匹配的流量。
验证目标 NAT 池使用情况
目的
验证是否存在使用来自目标 NAT 池的 IP 地址的流量。
行动
在作模式下,输入 show security nat destination pool all 命令。查看转换命中字段,以检查使用池中的 IP 地址的流量。
验证目标 NAT 规则的使用情况
目的
验证是否存在与目标 NAT 规则匹配的流量。
行动
在作模式下,输入 show security nat destination rule all 命令。查看转化命中字段,以检查与规则匹配的流量。
了解源 NAT 规则
源 NAT 规则指定两层匹配条件:
流量方向 - 允许您指定 、
from zone、或from routing-instanceto interface和 、to zone或to routing-instance的组合from interface。您不能为不同的规则集配置相同的from上下文to和上下文。数据包信息 — 可以是源和目标 IP 地址或子网、源端口号或端口范围、目标端口号或端口范围、协议或应用。
对于除 FTP 以外的所有 ALG 流量,建议不要使用 source-port 规则选项。如果使用此选项,数据会话创建可能会失败,因为 IP 地址和源端口值(随机值)可能与规则不匹配。
此外,我们建议您不要使用 destination-port 选项或 application 选项作为 ALG 流量的匹配条件。如果使用这些选项,转换可能会失败,因为应用程序有效负载中的端口值可能与 IP 地址中的端口值不匹配。
如果多个源NAT规则在匹配条件中重叠,则选择最具体的规则。例如,如果规则 A 和 B 指定相同的源和目标 IP 地址,但规则 A 指定从区域 1 到区域 2 的流量,规则 B 指定从区域 1 到接口 ge-0/0/0 的流量,则规则 B 用于执行源 NAT。接口匹配被认为比区域匹配更具体,而区域匹配比路由实例匹配更具体。
您可以为源 NAT 规则指定的作包括:
off — 不执行源 NAT。
pool — 使用指定的用户定义地址池执行源 NAT。
接口 — 使用出口接口的 IP 地址执行源 NAT。
源 NAT 规则应用于为流处理的第一个数据包或 ALG 的快速路径中的流量。 源 NAT 规则在静态 NAT 规则、目标 NAT 规则和静态 NAT 规则的反向映射之后,以及路由和安全策略查找之后进行处理。
如果未在规则集下配置区域,并且当活动源 NAT 配置了缺少必需语句“from”时,则在执行提交 “缺少必需语句:'from'错误:配置检出失败” 且配置检出失败时,将显示以下消息。
示例:使用多个规则配置源 NAT
此示例介绍如何使用多个规则配置源 NAT 映射。
要求
开始之前:
-
在设备上配置网络接口。请参阅 安全设备接口用户指南。
-
创建安全区域并为其分配接口。请参阅 了解安全区域。
概述
此示例对专用地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。在 图 5 中,对于从信任区域到不信任区域的流量的源 NAT 映射,将在瞻博网络安全设备上执行以下转换:
-
10.1.1.0/24 和 10.1.2.0/24 子网向不信任区域中的任何地址发送的数据包中的源 IP 地址将转换为 192.0.2.1 到 192.0.2.24 范围内的公共地址,并带有端口转换。
-
192.168.1.0/24 子网向不信任区域中的任何地址发送的数据包中的源 IP 地址将转换为 192.0.2.100 到 192.0.2.249 范围内的公共地址,不带端口转换。
-
192.168.1.250/32 主机设备发送的数据包中的源 IP 地址不会被转换。
源 NAT
此示例介绍以下配置:
-
包含 IP 地址范围 192.0.2.1 到 192.0.2.24 的源 NAT 池
src-nat-pool-1。 -
包含 192.0.2.100 到 192.0.2.249 的 IP 地址范围的源 NAT 池
src-nat-pool-2,端口地址转换已禁用。禁用端口地址转换时,源 NAT 池可以同时支持的转换数仅限于池中的地址数,除非启用该
address-shared选项。如果源 NAT 池中没有可用的地址,则数据包将被丢弃。您可以选择性地指定溢出池,当原始源 NAT 池中没有可用的地址时,从中分配 IP 地址和端口号。 -
设置源 NAT 规则,
rs1用于将来自信任区域的数据包与不信任区域进行匹配。规则集rs1包含多个规则:-
用于匹配具有 10.1.1.0/24 或 10.1.2.0/24 子网中源 IP 地址的数据包的规则
r1。为了匹配数据包,源地址将转换为池中的src-nat-pool-1IP 地址。 -
匹配源 IP 地址为 192.168.1.250/32 的数据包的规则
r2。对于匹配的数据包,不会执行 NAT 转换。 -
用于匹配具有 192.168.1.0/24 子网中源 IP 地址的数据包的规则
r3。为了匹配数据包,源地址将转换为池中的src-nat-pool-2IP 地址。规则集中的规则顺序很重要,因为将使用规则集中与流量匹配的第一个规则。因此,必须将匹配特定 IP 地址的规则
r2放在与设备所在的子网匹配的规则r3之前。
-
-
接口 ge-0/0/0.0 上地址 192.0.2.1 到 192.0.2.24 和 192.0.2.100 到 192.0.2.249 的代理 ARP。这允许瞻博网络安全设备响应接口上针对这些地址收到的 ARP 请求。
-
安全策略,允许从信任区域到不信任区域的流量。
将源 NAT 规则或池配置为规则名称或池名称作为接口或服务集时,您将收到以下错误消息: 语法错误,期望为 <data>。
-
如果存在名为的
interface源 NAT 规则,则无法使用show security nat source rule interface命令查看该规则。 -
如果存在名为的
service-set源 NAT 规则,则无法使用show security nat source rule service-set命令查看该规则。 -
如果存在名为
interface的源 NAT 池,则无法使用show security nat source pool interface命令查看该池。 -
如果存在名为
service-set的源 NAT 池,则无法使用show security nat source pool service-set命令查看该池。 -
如果存在名为的
interface源 NAT 池,则无法使用show security nat source paired-address pool-name interface命令查看配对地址。 -
如果存在名为的
service-set源 NAT 池,则无法使用show security nat source paired-address pool-name service-set命令查看配对地址。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit 。
set security nat source pool src-nat-pool-1 address 192.0.2.1/32 to 192.0.2.24/32
set security nat source pool src-nat-pool-2 address 192.0.2.100/32 to 192.0.2.249/32
set security nat source pool src-nat-pool-2 port no-translation
set security nat source rule-set rs1 from zone trust
set security nat source rule-set rs1 to zone untrust
set security nat source rule-set rs1 rule r1 match source-address 10.1.1.0/24
set security nat source rule-set rs1 rule r1 match source-address 10.1.2.0/24
set security nat source rule-set rs1 rule r1 match destination-address 0.0.0.0/0
set security nat source rule-set rs1 rule r1 then source-nat pool src-nat-pool-1
set security nat source rule-set rs1 rule r2 match source-address 192.168.1.250/32
set security nat source rule-set rs1 rule r2 match destination-address 0.0.0.0/0
set security nat source rule-set rs1 rule r2 then source-nat off
set security nat source rule-set rs1 rule r3 match source-address 192.168.1.0/24
set security nat source rule-set rs1 rule r3 match destination-address 0.0.0.0/0
set security nat source rule-set rs1 rule r3 then source-nat pool src-nat-pool-2
set security nat proxy-arp interface ge-0/0/0.0 address 192.0.2.1/32 to 192.0.2.24/32
set security nat proxy-arp interface ge-0/0/0.0 address 192.0.2.100/32 to 192.0.2.249/32
set security policies from-zone trust to-zone untrust policy internet-access match source-address any
set security policies from-zone trust to-zone untrust policy internet-access match destination-address any
set security policies from-zone trust to-zone untrust policy internet-access match application any
set security policies from-zone trust to-zone untrust policy internet-access then permit
分步过程
下面的示例要求您在配置层次结构的各个层级中导航。有关作说明,请参阅 在配置模式下使用 CLI 编辑器。
要在规则集中配置多个源 NAT 规则,请执行以下作:
-
创建源 NAT 池。
[edit security nat source] user@host# set pool src-nat-pool-1 address 192.0.2.1 to 192.0.2.24 -
创建不带端口转换的源 NAT 池。
[edit security nat source] user@host# set pool src-nat-pool-2 address 192.0.2.100 to 192.0.2.249 user@host# set pool src-nat-pool-2 port no-translation要配置溢出池以
src-nat-pool-2使用出口接口,请执行以下作:[edit security nat source] user@host# set pool src-nat-pool-2 overflow-pool interface -
创建源 NAT 规则集。
[edit security nat source] user@host# set rule-set rs1 from zone trust user@host# set rule-set rs1 to zone untrust -
配置一个规则,用于匹配数据包并将源地址转换为池中的地址。
[edit security nat source] user@host# set rule-set rs1 rule r1 match source-address [10.1.1.0/24 10.1.2.0/24] user@host# set rule-set rs1 rule r1 match destination-address 0.0.0.0/0 user@host# set rule-set rs1 rule r1 then source-nat pool src-nat-pool-1 -
配置一个规则以匹配源地址未转换的数据包。
[edit security nat source] user@host# set rule-set rs1 rule r2 match source-address 192.168.1.250/32 user@host# set rule-set rs1 rule r2 match destination-address 0.0.0.0/0 user@host# set rule-set rs1 rule r2 then source-nat off -
配置规则以匹配数据包并将源地址转换为池中的地址,而无需端口转换。
[edit security nat source] user@host# set rule-set rs1 rule r3 match source-address 192.168.1.0/24 user@host# set rule-set rs1 rule r3 match destination-address 0.0.0.0/0 user@host# set rule-set rs1 rule r3 then source-nat pool src-nat-pool-2 -
配置代理 ARP。
[edit security nat] user@host# set proxy-arp interface ge-0/0/0.0 address 192.0.2.1 to 192.0.2.24 user@host# set proxy-arp interface ge-0/0/0.0 address 192.0.2.100 to 192.0.2.249 -
配置允许从信任区域到不信任区域的流量的安全策略。
[edit security policies from-zone trust to-zone untrust] user@host# set policy internet-access match source-address any destination-address any application any user@host# set policy internet-access then permit
结果
在配置模式下,输入 show security nat 和 show security policies 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security nat
source {
pool src-nat-pool-1 {
address {
192.0.2.1/32 to 192.0.2.24/32;
}
}
pool src-nat-pool-2 {
address {
192.0.2.100/32 to 192.0.2.249/32;
}
port no-translation;
}
rule-set rs1 {
from zone trust;
to zone untrust;
rule r1 {
match {
source-address [ 10.1.1.0/24 10.1.2.0/24 ];
destination-address 0.0.0.0/0;
}
then {
source-nat {
pool {
src-nat-pool-1;
}
}
}
}
rule r2 {
match {
source-address 192.168.1.250/32;
destination-address 0.0.0.0/0;
}
then {
source-nat {
off;
}
}
}
rule r3 {
match {
source-address 192.168.1.0/24;
destination-address 0.0.0.0/0;
}
then {
source-nat {
pool {
src-nat-pool-2;
}
}
}
}
}
}
proxy-arp {
interface ge-0/0/0.0 {
address {
192.0.2.1/32 to 192.0.2.24/32;
192.0.2.100/32 to 192.0.2.249/32;
}
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy internet-access {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
如果完成设备配置,请从配置模式输入 commit 。
验证
要确认配置工作正常,请执行以下任务:
验证源 NAT 池使用情况
目的
验证是否存在使用源 NAT 池中的 IP 地址的流量。
行动
在作模式下,输入 show security nat source pool all 命令。查看转换命中字段,以检查使用池中的 IP 地址的流量。
验证源 NAT 规则的使用情况
目的
验证是否存在与源 NAT 规则匹配的流量。
行动
在作模式下,输入 show security nat source rule all 命令。查看转化命中字段,以检查与规则匹配的流量。
了解源 NAT 池
NAT 池是一组用户定义的用于转换的 IP 地址。静态 NAT 具有一对一映射功能,包括单向目标 IP 地址转换和反向 IP 地址转换,与静态 NAT 不同,使用源 NAT,您可以将原始源 IP 地址转换为地址池中的 IP 地址。
对于源网络地址转换 (NAT) 地址池,请指定以下内容:
源 NAT 地址池的名称。
-
多达 64 个地址范围。
不要在一个路由实例中重叠源 NAT、目标 NAT 和静态 NAT 的 NAT 地址。
路由实例 - 池所属的路由实例(默认为主 inet.0 路由实例)。
端口 — 源池的端口地址转换 (PAT)。默认情况下,PAT 使用源 NAT 执行。如果指定 无转换 选项,则源 NAT 池可支持的主机数限制为池中的地址数。如果指定
block-allocation,则会分配一个端口块用于转换,而不是分配单个端口。如果指定deterministic,则根据预定义的确定性 NAT 算法,传入(源)IP 地址和端口始终映射到特定的目标地址和端口块。如果指定port-overloading,则可以在源 NAT 中配置端口过载容量。如果指定range,则可以提供连接到池中每个地址的端口号范围,以及源 NAT 池的孪生端口范围。溢出池 (可选) — 如果指定的源 NAT 池中没有可用的地址,则数据包将被丢弃。为了防止在配置 端口无转换 选项时发生这种情况,可以指定溢出池。原始源 NAT 池中的地址耗尽后,将从溢出池中分配 IP 地址和端口号。用户定义的源 NAT 池或出口接口可用作溢出池。(使用溢出池时,将返回池 ID 和地址。
IP 地址移动(可选)— 通过移动 IP 地址,可以将原始源 IP 地址范围映射到另一个 IP 地址范围或单个 IP 地址。使用原始源 IP 地址范围的基址指定 host-address-base 选项。
地址共享(可选)— 多个内部 IP 地址可映射到同一个外部 IP 地址。仅当源 NAT 池配置无端口转换时,才能使用此选项。当源 NAT 池可用的外部 IP 地址很少或只有一个外部 IP 地址时,请指定
address-shared选项。借助多对一映射,使用此选项可增加 NAT 资源并改善流量。地址池(可选)— 地址池可以配置为配对或不配对。为要求在会话期间将与一个内部 IP 地址关联的所有会话映射到同一外部 IP 地址的应用程序指定
address-pooling paired。这与选项不同persistent-address,在选项中,每次都会将相同的内部地址转换为相同的外部地址。指定address-pooling no-paired可以以轮询方式分配 IP 地址的应用程序。如果为具有 PAT 的源 NAT 池配置了address-pooling paired或address-pooling no-paired,则禁用“永久地址”选项。如果address-shared在没有 PAT 的源 NAT 池上配置,则启用该persistent-address选项。和address-sharedaddress-pooling paired都可以在同一源 NAT 池上进行配置,而无需 PAT。池利用率警报(可选)— 为源 NAT 配置 提升阈值 选项时,如果源 NAT 池利用率高于此阈值,将触发 SNMP 陷阱。如果配置了可选的 clear-threshold 选项,那么当源 NAT 池利用率降至此阈值以下时,将触发 SNMP 陷阱。如果未配置 clear-threshold ,则默认设置为 提升阈值 的 80%。
您可以使用 show security nat resource usage source pool 命令查看不带 PAT 的源 NAT 池中的地址使用情况,以及查看具有 PAT 的源 NAT 池中的端口使用情况。
了解源 NAT 池容量
通过增加配置中的池数和/或增加每个池的容量或 IP 地址数来增加用于源 NAT 的 IP 地址总数会消耗端口分配所需的内存。当达到源 NAT 池和 IP 地址限制时,应重新分配端口范围。也就是说,当 IP 地址和源 NAT 池的数量增加时,每个 IP 地址的端口数应减少。这可确保 NAT 不会消耗过多内存。
有关详细信息,请参阅 “其他平台信息” 部分。
使用 功能浏览器 确认平台和版本对特定功能的支持。可能支持其他平台。
range在[edit security nat source pool port]层次结构级别使用和range twin-port选项为特定池分配新的端口范围或孪生端口范围。pool-default-port-range在[edit security nat source]层次结构级别使用和 pool-default-twin-port-range 选项指定所有源 NAT 池的全局默认端口范围或孪生端口范围。
当源 NAT 池增加时,配置端口重载也应小心。
对于 PAT 范围(63,488 到 65,535)的源池,系统会同时为 RTP/RTCP 应用(如 SIP、H.323 和 RTSP)分配两个端口。在这些场景中,每个 IP 地址都支持 PAT,占用 2048 个端口(63,488 到 65,535)供 ALG 模块使用。
了解源 NAT 池的持久地址
默认情况下,端口地址转换使用源 NAT 执行。但是,对于源自同一主机的不同流量,可能无法将原始源地址转换为相同的 IP 地址。源 NAT address-persistent 选项可确保将相同的 IP 地址从源 NAT 池分配给特定主机,以用于多个并发会话。
此选项与地址池配对选项不同,后者以先到先得的方式将内部地址映射到池中的外部地址,并且每个会话可能都映射到不同的外部地址。
示例:使用 PAT 配置源 NAT 池的容量
此示例介绍在未设置默认端口范围或您想要覆盖默认端口范围的情况下,如何使用端口地址转换 (PAT) 配置源 NAT 池的容量。为每个 IP 地址设置转换。增加源池时,如果当前端口号超过限制,则应重新分配端口。
要求
开始之前:
在设备上配置网络接口。请参阅 安全设备接口用户指南。
创建安全区域并为其分配接口。请参阅 了解安全区域。
概述
此示例说明如何配置包含 2048 个 IP 地址的 PAT 池,每个 IP 地址有 32,000 个端口。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit 。
[edit security nat source] set pool src-nat-pat-addr address 192.168.0.0/32 to 192.168.3.255/32 set pool src-nat-pat-addr address 192.168.4.0/32 to 192.168.7.255/32 set pool-default-port-range 2001 set pool-default-port-range to 32720
分步过程
下面的示例要求您在配置层次结构的各个层级中导航。有关作说明,请参阅 在配置模式下使用 CLI 编辑器。
要使用 PAT 为源 NAT 池配置容量,请执行以下作:
指定具有 PAT 和 IP 地址范围的源 NAT 池。
[edit security nat source] user@host# set pool src-nat-pat-addr address 192.168.0.0/32 to 192.168.3.255/32 user@host#set pool src-nat-pat-addr address 192.168.4.0/32 to 192.168.7.255/32
指定源池的默认端口范围。
[edit security nat source] user@host# set pool-default-port-range 2001 user@host# set pool-default-port-range to 32720
结果
在配置模式下,输入 show security nat-source-summary 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
user@host> run show security nat source summary Total port number usage for port translation pool: 16515072 Maximum port number for port translation pool: 134217728 Total pools: 1 Pool Address Routing PAT Total Name Range Instance Address pool2 203.0.113.1 - 203.0.113.3 default yes 2048 Name Range Instance Address pool1 198.51.100.0 - 198.51.100.255 default yes 256 Total rules: 1 Rule name Rule set From To Action rule 1 ruleset1 ge-2/2/2.0 ge-2/2/3.0 pool1 rule 1 ge-2/2/4.0 ge-2/2/5.0
如果完成设备配置,请从配置模式输入 commit 。
了解使用地址池的源 NAT 池
当主机启动与需要 NAT 的策略匹配的多个会话,并且从启用了端口地址转换的源池中分配 IP 地址时,将为每个会话使用不同的源 IP 地址。
由于某些应用程序要求每个会话使用相同的源 IP 地址,因此您可以使用该 address-pooling paired 功能使与一个内部 IP 地址关联的所有会话在会话期间映射到相同的外部 IP 地址。会话结束时,内部 IP 地址和外部 IP 地址之间的映射将停止。下次主机启动会话时,可能会为其分配池中的其他 IP 地址。
这与源 NAT 功能不同,源 NAT address-persistent 功能使映射保持静态;每次都将相同的内部 IP 地址映射到相同的外部 IP 地址。它还与为特定池配置的功能address-persistentaddress-pooling paired不同。该address-persistent功能是适用于所有源池的全局配置。
了解具有地址转换功能的源 NAT 池
源 NAT 规则集的匹配条件不允许指定地址范围;规则中只能指定地址前缀。配置源 NAT 池时,可以指定 host-base-address 选项;此选项指定原始源 IP 地址范围的起始位置。
转换的原始源 IP 地址范围由源 NAT 池中的地址数决定。例如,如果源 NAT 池包含 10 个 IP 地址的范围,则最多可以转换 10 个原始源 IP 地址,从指定的基址开始。这种类型的转换是一对一的、静态的,没有端口地址转换。
源 NAT 规则中的匹配条件可以定义比源 NAT 池中指定的地址范围更大的地址范围。例如,匹配条件可以指定包含 256 个地址的地址前缀,但源 NAT 池可能只包含几个 IP 地址,或者只有一个 IP 地址。数据包的源 IP 地址可以匹配源 NAT 规则,但如果源 IP 地址不在源 NAT 池中指定的地址范围内,则不会转换源 IP 地址。
示例:使用地址转换配置源 NAT 池
此示例介绍如何使用可选地址切换配置专用地址范围到公共地址的源 NAT 映射。原始源 IP 地址和转换后的 IP 地址之间的这种映射是一对一的。
源 NAT 规则集的匹配条件不允许指定地址范围;规则中只能指定地址前缀。配置源 NAT 池时,可以指定 host-base-address 选项;此选项将指定原始源 IP 地址范围的起始 IP 地址,并禁用端口转换。
转换的原始源 IP 地址范围由源 NAT 池中的地址数决定。例如,如果源 NAT 池包含 10 个 IP 地址的范围,则最多可以转换 10 个原始源 IP 地址,从指定的基址开始。
源 NAT 规则中的匹配条件可以定义比源 NAT 池中指定的地址范围更大的地址范围。例如,匹配条件可以指定包含 256 个地址的地址前缀,但源 NAT 池仅包含 10 个 IP 地址的范围。数据包的源 IP 地址可以匹配源 NAT 规则,但如果源 IP 地址不在源 NAT 池中指定的地址范围内,则不会转换源 IP 地址。
要求
开始之前:
-
在设备上配置网络接口。请参阅 安全设备接口用户指南。
-
创建安全区域并为其分配接口。请参阅 了解安全区域。
概述
此示例对专用地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。在 图 6 中,信任区域中的一系列专用地址映射到不信任区域中的一系列公共地址。对于从信任区域发送到不信任区域的数据包,192.168.1.10/32 到 192.168.1.20/32 范围内的源 IP 地址将转换为 203.0.113.30/32 到 203.0.113.40/32 范围内的公共地址。
的源 NAT
此示例介绍以下配置:
-
包含 IP 地址范围 203.0.113.30/32 到 203.0.113.40/32 的源 NAT 池
src-nat-pool-1。对于此池,原始源 IP 地址范围的开头为 192.168.1.10/32,并使用选项指定host-address-base。 -
源 NAT 规则集
rs1,用于r1将来自信任区域的数据包匹配到源 IP 地址在 192.168.1.0/24 子网中的不信任区域。对于属于配置src-nat-pool-1指定的源 IP 地址范围内的匹配数据包,源地址将转换为池中的src-nat-pool-1IP 地址。 -
接口 ge-0/0/0.0 上地址 203.0.113.30/32 到 203.0.113.40/32 的代理 ARP。这允许瞻博网络安全设备响应在该地址的接口上收到的 ARP 请求。
-
安全策略,允许从信任区域到不信任区域的流量。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit 。
set security nat source pool src-nat-pool-1 address 203.0.113.30/32 to 203.0.113.40/32
set security nat source pool src-nat-pool-1 host-address-base 192.168.1.10/32
set security nat source rule-set rs1 from zone trust
set security nat source rule-set rs1 to zone untrust
set security nat source rule-set rs1 rule r1 match source-address 192.168.1.0/24
set security nat source rule-set rs1 rule r1 then source-nat pool src-nat-pool-1
set security nat proxy-arp interface ge-0/0/0.0 address 203.0.113.30/32 to 203.0.113.40/32
set security policies from-zone trust to-zone untrust policy internet-access match source-address any
set security policies from-zone trust to-zone untrust policy internet-access match destination-address any
set security policies from-zone trust to-zone untrust policy internet-access match application any
set security policies from-zone trust to-zone untrust policy internet-access then permit
分步过程
下面的示例要求您在配置层次结构的各个层级中导航。有关作说明,请参阅 在配置模式下使用 CLI 编辑器。
要使用地址变换配置源 NAT 映射,请执行以下作:
-
创建源 NAT 池。
[edit security nat source] user@host# set pool src-nat-pool-1 address 203.0.113.30/32 to 203.0.113.40/32 -
指定原始源 IP 地址范围的开头。
[edit security nat source] user@host# set pool src-nat-pool-1 host-address-base 192.168.1.10/32 -
创建源 NAT 规则集。
[edit security nat source] user@host# set rule-set rs1 from zone trust user@host# set rule-set rs1 to zone untrust -
配置一个规则,用于匹配数据包并将源地址转换为池中的地址。
[edit security nat source] user@host# set rule-set rs1 rule r1 match source-address 192.168.1.0/24 user@host# set rule-set rs1 rule r1 then source-nat pool src-nat-pool-1 -
配置代理 ARP。
[edit security nat] user@host# set proxy-arp interface ge-0/0/0.0 address 203.0.113.30/32 to 203.0.113.40/32 -
配置允许从信任区域到不信任区域的流量的安全策略。
[edit security policies from-zone trust to-zone untrust] user@host# set policy internet-access match source-address any destination-address any application any user@host# set policy internet-access then permit
结果
在配置模式下,输入 show security nat 和 show security policies 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security nat
source {
pool src-nat-pool-1 {
address {
203.0.113.30/32 to 203.0.113.40/32;
}
host-address-base 192.168.1.10/32;
}
rule-set rs1 {
from zone trust;
to zone untrust;
rule r1 {
match {
source-address 192.168.1.0/24;
}
then {
source-nat {
pool {
src-nat-pool-1;
}
}
}
}
}
}
proxy-arp {
interface ge-0/0/0.0 {
address {
203.0.113.30/32 to 203.0.113.40/32;
}
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy internet-access {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
如果完成设备配置,请从配置模式输入 commit 。
验证
要确认配置工作正常,请执行以下任务:
验证源 NAT 池使用情况
目的
验证是否存在使用源 NAT 池中的 IP 地址的流量。
行动
在作模式下,输入 show security nat source pool all 命令。查看转换命中字段,以检查使用池中的 IP 地址的流量。
验证源 NAT 规则的使用情况
目的
验证是否存在与源 NAT 规则匹配的流量。
行动
在作模式下,输入 show security nat source rule all 命令。查看转化命中字段,以检查与规则匹配的流量。
了解使用 PAT 的源 NAT 池
通过使用具有端口地址转换 (PAT) 功能的源池,Junos OS 可以转换数据包的源 IP 地址和端口号。使用 PAT 时,多台主机可以共享同一个 IP 地址。
Junos OS 会维护一个分配的端口号列表,用于区分哪个会话属于哪个主机。启用 PAT 后,最多 63,488 台主机可以共享一个 IP 地址。每个源池可以包含多个 IP 地址和/或多个 IP 地址范围。对于具有 PAT 的源池,Junos OS 可以为不同的并发会话为单个主机分配不同的地址,除非源池或 Junos OS 启用了持久地址功能或配对地址池功能。
对于接口源池和具有 PAT 的源池,范围 (1024, 65535) 可用于每个 IP 地址的端口号映射。在范围 (1024, 63487) 内,一次分配一个端口,总共 62,464 个端口。在范围 (63488, 65535) 中,一次为 RTP/RTCP 应用(如 SIP、H.323 和 RTSP)分配两个端口,总计 2,048 个端口。
当主机启动多个会话与需要网络地址转换的策略匹配,并且从启用了 PAT 的源池中分配了一个地址时,设备将为每个会话分配不同的源 IP 地址。对于创建多个会话且每个会话需要相同源 IP 地址的服务来说,这种随机地址分配可能会出现问题。例如,使用 AOL 即时消息 (AIM) 客户端时,为多个会话使用相同的 IP 地址非常重要。
为确保路由器将源池中的相同 IP 地址分配给主机以用于多个并发会话,可以为每个路由器启用一个永久性 IP 地址。若要确保设备在单个会话期间将源池中的相同 IP 地址分配给主机,可以启用配对地址池。
示例:使用 PAT 为多个地址配置源 NAT
此示例介绍如何使用端口地址转换配置专用地址块到较小公共地址块的源 NAT 映射。
要求
开始之前:
-
在设备上配置网络接口。请参阅 安全设备接口用户指南。
-
创建安全区域并为其分配接口。请参阅 了解安全区域。
概述
此示例对专用地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。在 图 7 中,从信任区域发送到不信任区域的数据包中的源 IP 地址映射到 203.0.113.1/32 到 203.0.113.24/32 范围内的较小公共地址块。由于源 NAT 地址池的大小小于可能需要转换的潜在地址数,因此使用端口地址转换。
端口地址转换包括带有源 IP 地址映射的源端口号。这允许专用网络上的多个地址映射到数量较少的公共 IP 地址。默认情况下,为源 NAT 池启用端口地址转换。
的源 NAT 多个地址
此示例介绍以下配置:
-
包含 IP 地址范围 203.0.113.1/32 到 203.0.113.24/32 的源 NAT 池
src-nat-pool-1。 -
设置源 NAT 规则,
rs1用于匹配从信任区域到不信任区域的所有数据包。为了匹配数据包,源 IP 地址将转换为池中的src-nat-pool-1IP 地址。 -
接口 ge-0/0/0.0 上地址 203.0.113.1/32 到 203.0.113.24/32 的代理 ARP。这允许瞻博网络安全设备响应接口上针对这些地址收到的 ARP 请求。
-
安全策略,允许从信任区域到不信任区域的流量。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit 。
set security nat source pool src-nat-pool-1 address 203.0.113.1/32 to 203.0.113.24/32
set security nat source rule-set rs1 from zone trust
set security nat source rule-set rs1 to zone untrust
set security nat source rule-set rs1 rule r1 match source-address 10.1.1.0/24
set security nat source rule-set rs1 rule r1 match source-address 10.1.2.0/24
set security nat source rule-set rs1 rule r1 match source-address 192.168.1.0/24
set security nat source rule-set rs1 rule r1 match destination-address 0.0.0.0/0
set security nat source rule-set rs1 rule r1 then source-nat pool src-nat-pool-1
set security nat proxy-arp interface ge-0/0/0.0 address 203.0.113.1/32 to 203.0.113.24/32
set security policies from-zone trust to-zone untrust policy internet-access match source-address any
set security policies from-zone trust to-zone untrust policy internet-access match destination-address any
set security policies from-zone trust to-zone untrust policy internet-access match application any
set security policies from-zone trust to-zone untrust policy internet-access then permit
分步过程
下面的示例要求您在配置层次结构的各个层级中导航。有关作说明,请参阅 在配置模式下使用 CLI 编辑器。
要使用 PAT 配置从专用地址块到较小公共地址块的源 NAT 映射:
-
创建源 NAT 池。
[edit security nat source] user@host# set pool src-nat-pool-1 address 203.0.113.1 to 203.0.113.24 -
创建源 NAT 规则集。
[edit security nat source] user@host# set rule-set rs1 from zone trust user@host# set rule-set rs1 to zone untrust -
配置一个规则,用于匹配数据包并将源地址转换为池中的地址。
[edit security nat source] user@host# set rule-set rs1 rule r1 match source-address [10.1.1.0/24 10.1.2.0/24 192.168.1.0/24] user@host# set rule-set rs1 rule r1 match destination-address 0.0.0.0/0 user@host# set rule-set rs1 rule r1 then source-nat pool src-nat-pool-1 -
配置代理 ARP。
[edit security nat] user@host# set proxy-arp interface ge-0/0/0.0 address 203.0.113.1 to 203.0.113.24 -
配置允许从信任区域到不信任区域的流量的安全策略。
[edit security policies from-zone trust to-zone untrust] user@host# set policy internet-access match source-address any destination-address any application any user@host# set policy internet-access then permit
结果
在配置模式下,输入 show security nat 和 show security policies 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security nat
source {
pool src-nat-pool-1 {
address {
203.0.113.1/32 to 203.0.113.24/32;
}
}
rule-set rs1 {
from zone trust;
to zone untrust;
rule r1 {
match {
source-address [10.1.1.0/24 10.1.2.0/24 192.168.1.0/24];
destination-address 0.0.0.0/0;
}
then {
source-nat {
pool {
src-nat-pool-1;
}
}
}
}
}
}
proxy-arp {
interface ge-0/0/0.0 {
address {
203.0.113.1/32 to 203.0.113.24/32;
}
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy internet-access {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
如果完成设备配置,请从配置模式输入 commit 。
验证
要确认配置工作正常,请执行以下任务:
验证源 NAT 池使用情况
目的
验证是否存在使用源 NAT 池中的 IP 地址的流量。
行动
在作模式下,输入 show security nat source pool all 命令。查看转换命中字段,以检查使用池中的 IP 地址的流量。
验证源 NAT 规则的使用情况
目的
验证是否存在与源 NAT 规则匹配的流量。
行动
在作模式下,输入 show security nat source rule all 命令。查看转化命中字段,以检查与规则匹配的流量。
了解没有 PAT 的源 NAT 池
定义源池时,Junos OS 默认启用 PAT。若要禁用 PAT,必须在定义源池时不指定端口转换。
使用没有 PAT 的源池时,Junos OS 会对 IP 地址执行源网络地址转换,而不对源端口号执行 PAT。对于要求特定源端口号保持固定的应用程序,必须使用不带 PAT 的源池。
源池可以包含多个 IP 地址和/或多个 IP 地址范围。对于没有 PAT 的源池,Junos OS 会为同一主机的所有并发会话分配一个转换后的源地址,除非启用了地址池不配对选项。
没有 PAT 的源 NAT 池可支持的主机数限制为池中的地址数。如果池具有单个 IP 地址,则只能支持一台主机,并且会阻止来自其他主机的流量,因为没有可用的资源。当机箱群集中的 NAT 资源分配未处于主动备份模式时,如果为没有 PAT 的源 NAT 池配置单个 IP 地址,则通过节点 1 的流量将被阻止。
将计算不使用 PAT 的每个源池的池利用率。您可以通过配置警报阈值来打开池利用率警报。每当池利用率高于阈值并低于阈值时,都会触发 SNMP 陷阱。
如果静态 NAT 规则用于一对一 IP 转换,则在使用不共享地址的源无 PAT 池时,避免将规则划分为目标规则和源规则。如果选择划分规则,则必须使用具有单个 IP 的源 pat-pool 或具有多个 IP 的源 no-pat 池。
示例:在没有 PAT 的情况下在源 NAT 池中配置单个 IP 地址
此示例介绍如何将专用地址块配置为不使用端口地址转换的源 NAT 池中的单个公共地址。
默认情况下,PAT 为源 NAT 池启用。禁用 PAT 时,源 NAT 池可同时支持的转换数限制为池中的地址数。如果源 NAT 池中没有可用的地址,则数据包将被丢弃。但是,使用该 address-shared 选项,只要流量来自不同的源端口,您就可以将多个专用 IP 地址映射到单个公共 IP 地址。
要求
开始之前:
在设备上配置网络接口。请参阅 安全设备接口用户指南。
创建安全区域并为其分配接口。请参阅 了解安全区域。
概述
此示例对专用地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。从信任区域发送到不信任区域的数据包的源 IP 地址将映射到单个公共地址。
此示例介绍以下配置:
包含 IP 地址 203.0.113.1/30 的源 NAT 池
src-nat-pool-1。为池指定了port no-translationoption 和 optionaddress shared。设置源 NAT 规则,
rs1用于匹配从信任区域到不信任区域的所有数据包。为了匹配数据包,源 IP 地址将转换为池中的src-nat-pool-1IP 地址。安全策略,允许从信任区域到不信任区域的流量。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit 。
set security nat source pool src-nat-pool-1 address 203.0.113.1/30 set security nat source pool src-nat-pool-1 port no-translation set security nat source pool-src-nat-pool-1 address-shared set security nat source rule-set rs1 from zone trust set security nat source rule-set rs1 to zone untrust set security nat source rule-set rs1 rule1 match source address 192.0.2.0/24 set security nat source rule-set rs1 rule r1 then source src-nat-pool-1
分步过程
下面的示例要求您在配置层次结构的各个层级中导航。有关作说明,请参阅 在配置模式下使用 CLI 编辑器。
要配置从专用地址块到不带 PAT 的单个公共地址的源 NAT 映射:
使用共享地址的单个 IP 地址创建源 NAT 池。
[edit security nat source] user@host# set pool src-nat-pool-1 address 203.0.113.1/30
指定
port no-translation选项。[edit security nat source] user@host# set pool src-nat-pool-1 port no-translation
指定
address-shared选项。[edit security nat source] user@host# set pool pool-src-nat-pool-1 address-shared
创建源 NAT 规则集。
[edit security nat source] user@host# set rule-set rs1 from zone trust user@host# set rule-set rs1 to zone untrust
配置一个规则,用于匹配数据包并将源地址转换为池中的地址。
[edit security nat source] user@host# set rule-set rs1 rule r1 match source-address 192.0.2.0/24 user@host# set rule-set rs1 rule r1 then source-nat pool src-nat-pool-1
配置允许从信任区域到不信任区域的流量的安全策略。
[edit security policies from-zone trust to-zone untrust] user@host# set policy internet-access match source-address any destination-address any application any user@host# set policy internet-access then permit
结果
在配置模式下,输入 show security nat source pool 和 show security policies 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security nat
source {
pool src-nat-pool-1 {
address {
203.0.113.1/30
}
port no-translation;
}
address-shared;
rule-set rs1 {
from zone trust;
to zone untrust;
rule r1 {
match {
source-address [192.0.2.0/24]
}
then {
source-nat {
pool {
src-nat-pool-1;
}
}
}
}
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy internet-access {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
如果完成设备配置,请从配置模式输入 commit 。
示例:在没有 PAT 的情况下在源 NAT 池中配置多个地址
此示例介绍如何配置专用地址块的源 NAT 映射到较小的公共地址块,而无需端口地址转换。
默认情况下,为源 NAT 池启用端口地址转换。禁用端口地址转换后,源 NAT 池可同时支持的转换数限制为池中的地址数。如果源 NAT 池中没有可用的地址,则数据包将被丢弃。您可以选择性地指定溢出池,当原始源 NAT 池中没有可用的地址时,从中分配 IP 地址和端口号。
要求
开始之前:
-
在设备上配置网络接口。请参阅 安全设备接口用户指南。
-
创建安全区域并为其分配接口。请参阅 了解安全区域。
概述
此示例对专用地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。在 图 8 中,从信任区域发送到不信任区域的数据包中的源 IP 地址映射到 203.0.113.1/32 到 203.0.113.24/32 范围内的较小公共地址块。
的源 NAT 多个地址
此示例介绍以下配置:
-
包含 IP 地址范围 203.0.113.1/32 到 203.0.113.24/32 的源 NAT 池
src-nat-pool-1。为池指定了port no-translation选项。 -
设置源 NAT 规则,
rs1用于匹配从信任区域到不信任区域的所有数据包。为了匹配数据包,源 IP 地址将转换为池中的src-nat-pool-1IP 地址。 -
接口 ge-0/0/0.0 上地址 203.0.113.1/32 到 203.0.113.24/32 的代理 ARP。这允许瞻博网络安全设备响应接口上针对这些地址收到的 ARP 请求。
-
安全策略,允许从信任区域到不信任区域的流量。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit] 级的 CLI 中,然后从配置模式进入 commit 。
set security nat source pool src-nat-pool-1 address 203.0.113.1/32 to 203.0.113.24/32
set security nat source pool src-nat-pool-1 port no-translation
set security nat source rule-set rs1 from zone trust
set security nat source rule-set rs1 to zone untrust
set security nat source rule-set rs1 rule r1 match source-address 0.0.0.0/0
set security nat source rule-set rs1 rule r1 match destination-address 0.0.0.0/0
set security nat source rule-set rs1 rule r1 then source-nat pool src-nat-pool-1
set security nat proxy-arp interface ge-0/0/0.0 address 203.0.113.1/32 to 203.0.113.24/32
set security policies from-zone trust to-zone untrust policy internet-access match source-address any
set security policies from-zone trust to-zone untrust policy internet-access match destination-address any
set security policies from-zone trust to-zone untrust policy internet-access match application any
set security policies from-zone trust to-zone untrust policy internet-access then permit
分步过程
下面的示例要求您在配置层次结构的各个层级中导航。有关作说明,请参阅 在配置模式下使用 CLI 编辑器。
要配置从专用地址块到不带 PAT 的较小公共地址块的源 NAT 映射,请执行以下作:
-
创建源 NAT 池。
[edit security nat source] user@host# set pool src-nat-pool-1 address 203.0.113.1 to 203.0.113.24 -
指定
port no-translation选项。[edit security nat source] user@host# set pool src-nat-pool-1 port no-translation -
创建源 NAT 规则集。
[edit security nat source] user@host# set rule-set rs1 from zone trust user@host# set rule-set rs1 to zone untrust -
配置一个规则,用于匹配数据包并将源地址转换为池中的地址。
[edit security nat source] user@host# set rule-set rs1 rule r1 match source-address 0.0.0.0/0 user@host# set rule-set rs1 rule r1 match destination-address 0.0.0.0/0 user@host# set rule-set rs1 rule r1 then source-nat pool src-nat-pool-1 -
配置代理 ARP。
[edit security nat] user@host# set proxy-arp interface ge-0/0/0.0 address 203.0.113.1 to 203.0.113.24 -
配置允许从信任区域到不信任区域的流量的安全策略。
[edit security policies from-zone trust to-zone untrust] user@host# set policy internet-access match source-address any destination-address any application any user@host# set policy internet-access then permit
结果
在配置模式下,输入 show security nat 和 show security policies 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security nat
source {
pool src-nat-pool-1 {
address {
203.0.113.1/32 to 203.0.113.24/32;
}
port no-translation;
}
rule-set rs1 {
from zone trust;
to zone untrust;
rule r1 {
match {
source-address 0.0.0.0/0;
destination-address 0.0.0.0/0;
}
then {
source-nat {
pool {
src-nat-pool-1;
}
}
}
}
}
}
proxy-arp {
interface ge-0/0/0.0 {
address {
203.0.113.1/32 to 203.0.113.24/32;
}
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy internet-access {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
如果完成设备配置,请从配置模式输入 commit 。
验证
要确认配置工作正常,请执行以下任务:
验证源 NAT 池使用情况
目的
验证是否存在使用源 NAT 池中的 IP 地址的流量。
行动
在作模式下,输入 show security nat source pool all 命令。查看转换命中字段,以检查使用池中的 IP 地址的流量。
验证源 NAT 规则的使用情况
目的
验证是否存在与源 NAT 规则匹配的流量。
行动
在作模式下,输入 show security nat source rule all 命令。查看转化命中字段,以检查与规则匹配的流量。
了解 NAT 会话持久性
网络地址转换 (NAT) 会话持久性提供了一种在 NAT 配置发生变化时保留现有会话的方法,而不是将其清除。如果启用了会话持久性,则保留的会话将继续处理和转发数据包,因为时间和资源将得到最佳利用,以重建受影响的会话。因此,即使部分或所有会话的 NAT 配置发生更改,数据包转发也不会停止。
从 Junos OS 18.3R1 版开始,借助对 NAT 会话持久性的支持,数据包转发引擎会扫描会话并决定是保留会话还是清除会话。在 Junos OS 18.3R1 之前的版本中,如果 NAT 配置发生变化,则 NAT 会话将被清除。
数据包转发引擎执行以下两种类型的扫描,以决定是保留会话还是丢弃会话:
Source NAT pool session persistence scan—数据包转发引擎将现有会话 IP 地址与源池地址范围进行比较。如果现有会话 IP 地址在指定的源池地址范围内,则会话将保持活动状态,否则将清除会话。
Source NAT rule session persistence scan—数据包转发引擎使用规则 ID 来比较新旧配置之间的源 IP 地址、源端口、目标 IP 地址和目标端口。如果新旧配置相同,则会话将保持活动状态,否则将清除会话。
静态 NAT 和目标 NAT 不支持 NAT 会话持久性。
如果 PAT 池配置了地址持久性、地址池配对、源地址持久性、端口块分配、端口确定性、持久性 NAT 和端口重载因子字段,则不支持 NAT 会话持久性。
在以下情况下,仅源 NAT 支持 NAT 会话持久性:
源池 — 端口地址转换 (PAT) 池中地址范围的更改。
源规则 — 更改通讯簿、应用程序、目标 IP 地址、目标端口、源 IP 地址和目标端口信息的匹配条件。
要启用 NAT 会话持久性扫描,请在[edit security nat source]层次结构级别包含session-persistence-scan语句。
您还可以使用 set security nat source session-drop-hold-down CLI 命令配置超时值,以便在指定的时间段内保留会话。选项的 session-drop-hold-down 值范围为 30 到 28,800 秒(8 小时)。会话在配置的超时期限后过期。
NAT 会话持久性的局限性
当 NAT 源池中的 IP 地址发生变化时,新配置的 IP 地址将追加到 NAT 源池中。重建 NAT 源池后,新 IP 地址与现有 IP 地址不同。NAT 源池中 IP 地址的差异会影响从 NAT 源池中选取 IP 地址的循环模式。
如果扫描类型识别出永远不会超时的会话(即,未配置该值或将其配置为 8 小时的会话
session-drop-hold-down),则数据包转发引擎将忽略这些会话,并保留这些会话。
配置端口块分配大小
开始之前:
了解配置端口块分配的准则。请阅读配置 安全端口块分配的指南。
您可以配置安全端口块分配,这会将端口块分配给 NAT 订阅者。通过端口块分配,我们为订阅者分配的每组端口生成一个系统日志。使用此过程可配置端口块分配大小。
配置 NAT 会话保持超时和 NAT 会话持久性扫描
此配置显示如何配置 NAT 会话保持超时和 NAT 会话持久性。
Configuring NAT Session Hold Timeout
以下配置显示了如何配置 NAT 会话保持超时。
要设置 NAT 会话暂停超时期限:
[edit security nat source] user@host#
set session-drop-hold-down time;时间变量的值范围为 30 到 28,800 秒(8 小时)。会话在配置的超时期限后过期。
Results
在配置模式下,输入 show security 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security
nat {
source {
session-drop-hold-down 28800;
}
}
Configuring NAT Session Persistence Scan
以下配置显示了如何配置 NAT 会话持久性扫描。
要启用 NAT 会话持久性扫描,请执行以下作:
[edit security nat source] user@host#
set session-persistence-scan
Results
在配置模式下,输入 show security 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show security
nat {
source {
session-persistence-scan;
}
}
了解重新路由后对出口接口的 NAT 配置检查
网络地址转换 (NAT) 配置经常更改,以容纳更多用户并增强传输流量的最短路径。如果出口接口因流量重新路由而发生变化,您可以使用命令 set security flow enable-reroute-uniform-link-check nat 保留现有 NAT 配置和规则。
enable-reroute-uniform-link-check nat启用命令后:
如果新的出口接口和之前的出口接口位于同一安全区域中,且匹配的 NAT 规则没有变化,或者在重新路由前后未应用任何规则,则会话将随现有 NAT 规则一起保留。
如果新的出口接口和之前的出口接口位于同一安全区域中,并且匹配的 NAT 规则发生更改,则会话将过期。
enable-reroute-uniform-link-check nat禁用命令后:
如果新的出口接口与之前的出口接口在同一安全区域中,则流量将被转发到新的出口接口。
Configuration
要在出口接口因重新路由而发生变化时为现有会话启用 NAT 配置,请使用以下命令:
[edit] user@host# set security flow enable-reroute-uniform-link-check nat当您提交配置更改时,将应用新配置。
默认情况下处于 enable-reroute-uniform-link-check nat command 禁用状态。
Limitations
使用 set security flow enable-reroute-uniform-link-check nat 命令保留 NAT 配置具有以下限制:
TCP 同步不允许新会话传输流量。您必须禁用 TCP 同步,以允许在新会话中传输流量。
如果在三次握手后启动重新路由以初始化通信,则数据包信息可能会丢失。您必须禁用 Junos OS 服务框架 (JSF)(如应用层网关 (ALG),才能允许在新会话中传输流量。
其他平台信息
使用 功能浏览器 确认平台和版本对特定功能的支持。可能支持其他平台。
| 池/PAT 最大地址容量 | SRX300SRX320SRX650 | SRX340SRX345 | SRX1400 SRX1500 |
SRX3400 SRX3600SRX4100SRX4200 |
SRX4700 |
SRX5400 SRX5600SRX5800 |
|---|---|---|---|---|---|---|
| 源 NAT 池 |
1024 |
2048 |
8192 |
10,240 |
30720 |
12,288 |
| 支持端口转换的 IP 地址 |
1024 |
2048 |
8192 |
12,288 |
1048576 |
1 米 |
| PAT 端口号 |
64 分钟 |
64 分钟 |
256 米 |
384 米 |
2576米 |
384 米 |
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。
warning: To save system memory, the block size is recommended to be no less than 64。
edit security nat source] 层次结构级别的语句,在配备新一代服务处理卡 (SPC)
port-scaling-enlargement 的 SRX5400、SRX5600 和 SRX5800 设备上将源 NAT 端口容量增加到 2.4G