本页内容
源 NAT
源 NAT 最常用于将私有 IP 地址转换为公共可路由地址以与主机通信。源 NAT 更改通过路由器的数据包的源地址。NAT 池是一组地址,旨在替代客户端 IP 地址。有关更多信息,请参阅以下主题:
了解源 NAT
源 NAT 是离开瞻博网络设备的数据包的源 IP 地址的转换。源 NAT 用于允许具有私有 IP 地址的主机访问公共网络。
源 NAT 仅允许为传出网络连接(例如,从专用网络到 Internet)启动连接。源 NAT 通常用于执行以下转换:
-
将单个 IP 地址转换为另一个地址(例如,为专用网络中的单个设备提供互联网访问权限)。
-
将一个连续的地址块转换为另一个相同大小的地址块。
-
将一个连续的地址块转换为另一个较小大小的地址块。
-
使用端口转换将连续的地址块转换为单个 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 地址范围,则未转换的数据包将被丢弃。
在 MX 系列设备上,如果在聚合多服务 (AMS) 接口上使用源 NAT。该 service set 命令为每个 AMS 接口创建一个单独的条目。因此,内存利用率会耗尽,如果配置其他 AMS 接口,则会导致配置提交错误。
用户端口利用率报警
您可以使用运营商等级网络地址转换 (CGNAT) 来监控和管理端口利用率。使用 配置 set secuirty nat source subscriber-pool-utilization-alarm 阈值限制,以便在端口或端口块使用量超过配置的阈值时接收通知。
如果池配置为端口块分配 (PBA),并且订阅者使用的端口块数超过阈值,则会生成通知。
对于确定性 NAT (DETNAT) 池,如果订阅者使用的端口多于已分配块中的阈值,则会生成通知。
衰减间隔
当超过配置的阈值限制时,系统将发送RAISE_ALARM,然后是抑制期,在此期间不会再发送告警。
使用可配置的计时器,防止系统日志或 SNMP 服务器因频繁使用 at [set secuirty nat source subscriber-pool-utilization-alarm] 层次结构的dampening-interval报警通知而泛滥。
如果未触发CLEAR_ALARM,则抑制期连续。如果在抑制期内收到CLEAR_ALARM,系统日志将从计时器中删除并发送CLEAR_ALARM。
有关更多信息,请参阅 subscriber-pool-utilization-alarm 和 show security nat source port-block。
了解 NAT 的中心点架构增强功能
系统会话容量和会话提升速率受中心点内存容量和 CPU 容量的限制。以下列表介绍了用于提高性能的 NAT 增强功能:
中心点架构不再支持中心点会话。因此,NAT 需要维护一个 NAT 跟踪器来跟踪 IP 地址或端口分配和使用情况。NAT 跟踪器是用于管理 NAT 资源的 SPU 会话 ID 到 NAT IP 或端口映射的全局数组。
默认情况下,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 类型突发池的常规 PBA 源 NAT 池 |
使用主 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、目的地 IP、源端口、目的地端口、协议)散列来处理给定会话。当涉及 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 |
规则 ID 号。 |
– |
姓名 |
规则的名称。 |
– |
从 |
数据包流出的路由实例/区域/接口的名称。 |
– |
自 |
数据包流向的路由实例/区域/接口的名称。 |
– |
源地址范围 |
源池中的源 IP 地址范围。 |
– |
目标地址范围 |
源池中的目标 IP 地址范围。 |
– |
源端口 |
源端口号。 |
– |
IP 协议 |
IP 协议。 |
– |
行动 |
对符合规则的数据包执行的作。 |
– |
持久 NAT 类型 |
持久 NAT 类型。 |
– |
不活动超时 |
持久 NAT 绑定的非活动超时间隔。 |
– |
报警阈值 |
利用率报警阈值。 |
|
最大会话数 |
最大会话数。 |
– |
会话数(成功/失败/当前) |
成功、失败和当前会话。
|
– |
翻译命中 |
转换表中的转换用于源 NAT 规则的次数。 |
– |
| 池 | ||
池名称 |
池的名称。 |
从列表中选择要显示的所有池或特定池。 |
池总数 |
添加的池总数。 |
– |
ID |
池的 ID。 |
– |
姓名 |
源池的名称。 |
– |
地址范围 |
源池中的 IP 地址范围。 |
– |
单/双端口 |
分配的单端口和双端口数量。 |
– |
端口 |
池中的源端口号。 |
– |
地址分配 |
显示地址分配的类型。 |
– |
报警阈值 |
利用率报警阈值。 |
– |
端口过载系数 |
端口过载能力。 |
– |
路由实例 |
路由实例的名称。 |
– |
地址总数 |
IP 地址总数、IP 地址集或地址簿条目总数。 |
– |
主机地址库 |
原始源 IP 地址范围的主机基地址。 |
– |
翻译命中 |
转换表中的转换用于源 NAT 的次数。 |
– |
| 十大翻译热门 | ||
图表 |
显示前 10 个翻译命中的图表。 |
– |
| 持久 NAT | ||
| 持久 NAT 表统计信息 | ||
绑定总计 |
显示 FPC 的持久性 NAT 绑定总数。 |
– |
使用中的绑定 |
FPC 使用的持久性 NAT 绑定数。 |
– |
enode 总数 |
FPC 的持久 NAT 节点总数。 |
– |
使用 eNode |
FPC 使用的持久性 NAT enode 数。 |
– |
| 持久 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 natshow 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,用于r1将来自信任区域的数据包与源 IP 地址为 192.168.1.200/32 的数据包进行匹配。对于匹配数据包,源地址将转换为池中的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 natshow 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 客户边缘设备的逐步配置
- 在 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 客户边缘 (客户边缘):这些双堆栈客户边缘设备同时支持 IPv4 和 IPv6。它们还可以执行网络地址端口转换 (NAPT)。
-
MAP-E 边界中继 (BR):客户边缘设备通过仅支持 IPv6 的网域连接专用 IPv4 主机和 BR 设备。
表 6 简要总结了此示例中部署的配置组件。
| 使用的技术 |
|
| 主要验证任务 |
在 SRX 系列防火墙上完成 MAP-E 配置后,您可以验证 MAP-E 配置的状态。 |
拓扑概述
此拓扑介绍了 SRX 系列防火墙设备上的 MAP-E 客户边缘功能的配置过程。它还描述了来自 MAP-E 客户边缘设备的 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 客户边缘设备的逐步配置
有关 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 客户边缘设备上设置命令
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 客户边缘设备上的 show commands
在配置模式下,输入 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;
}
}
}
}
}
}
BR 设备上的 show 命令
在配置模式下,输入 show services、 show 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。源 NAT 规则集
rs1,其规则r1用于匹配从信任区域到非信任区域的任何数据包。对于匹配数据包,源地址会转换为池中的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 natshow 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。
池 — 使用指定的用户定义地址池执行源 NAT。
interface — 使用出口接口的 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。包含 IP 地址范围 192.0.2.100 到 192.0.2.249 的源 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>。
如果源 NAT 规则
interface名为 ,则无法使用命令查看show security nat source rule interface该规则。如果源 NAT 规则
service-set名为 ,则无法使用命令查看show security nat source rule service-set该规则。如果源 NAT 池
interface名为 ,则无法使用命令查看show security nat source pool interface该池。如果源 NAT 池
service-set名为 ,则无法使用命令查看show security nat source pool service-set该池。如果源 NAT 池
interface名为 ,则无法使用命令查看show security nat source paired-address pool-name interface配对地址。如果源 NAT 池
service-set名为 ,则无法使用命令查看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 natshow 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,您可以将原始源 IP 地址转换为地址池中的 IP 地址。
对于源网络地址转换 (NAT) 地址池,请指定以下内容:
源 NAT 地址池的名称。
-
多达 64 个地址范围。
请勿在一个路由实例中重叠源NAT、目标NAT和静态NAT的NAT地址。
路由实例 - 池所属的路由实例(默认值为主 inet.0 路由实例)。
端口 — 源池的端口地址转换 (PAT)。默认情况下,PAT 使用源 NAT 执行。如果指定 无转换 选项,则源 NAT 池可以支持的主机数量限制为池中的地址数量。如果指定
block-allocation,则会为转换分配端口块,而不是分配单个端口。如果指定deterministic,则传入(源)IP 地址和端口始终根据预定义的确定性 NAT 算法映射到特定的目标地址和端口块。如果指定port-overloading,则可以在源 NAT 中配置端口过载容量。如果指定range,则可以提供连接到池中每个地址的端口号范围,以及源 NAT 池的孪生端口范围。溢出池(可选)— 如果指定的源 NAT 池中没有可用地址,则丢弃数据包。要防止在配置 端口无转换 选项时发生这种情况,可以指定溢出池。一旦原始源 NAT 池中的地址耗尽,就会从溢出池中分配 IP 地址和端口号。用户定义的源 NAT 池或出口接口可用作溢出池。(使用溢出池时,将返回池 ID 和地址。
IP 地址移位(可选) — 通过转移 IP 地址,可以将一系列原始源 IP 地址映射到另一个 IP 地址范围,或映射到单个 IP 地址。将 host-address-base 选项指定为原始源 IP 地址范围的基本地址。
地址共享(可选) — 多个内部 IP 地址可映射到同一个外部 IP 地址。仅当源 NAT 池配置了无端口转换时,才能使用此选项。当源 NAT 池的可用外部 IP 地址很少或只有一个外部 IP 地址时,指定该
address-shared选项。使用多对一映射时,使用此选项可增加 NAT 资源并改善流量。地址池(可选) — 地址池可以配置为配对或无配对。
address-pooling paired指定用于要求在会话期间将与一个内部 IP 地址关联的所有会话映射到同一外部 IP 地址的应用程序。这与选项persistent-address不同,在选项中,每次都将相同的内部地址转换为相同的外部地址。address-pooling no-paired指定可以以轮询方式分配 IP 地址的应用程序。如果为带有 PAT 的源 NAT 池配置了 或address-pooling no-paired,address-pooling paired则永久地址选项将被禁用。如果在没有 PAT 的源 NAT 池上配置了 ,则address-shared启用该persistent-address选项。可以在同一源 NAT 池上配置两者address-sharedaddress-pooling paired,而无需 PAT。池利用率报警(可选)— 为源 NAT 配置 raise-threshold 选项后,如果源 NAT 池利用率高于此阈值,将触发 SNMP 陷阱。如果配置了可选的 清除阈值 选项,则当源 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 不会占用过多内存。
有关更多信息,请参阅 “其他平台信息” 部分。
使用 功能资源管理器 确认平台和版本对特定功能的支持。可能支持其他平台。
使用层次结构级别的[edit security nat source pool port]和rangerange twin-port选项为特定池分配新的端口范围或孪生端口范围。在层次结构级别使用[edit security nat source]和 pool-default-port-range pool-default-twin-port-range 和 选项为所有源 NAT 池指定全局默认端口范围或孪生端口范围。
当源 NAT 池增加时,还应谨慎配置端口过载。
对于 PAT 范围内(63,488 到 65,535)的源池,一次为 RTP/RTCP 应用程序(如 SIP、H.323 和 RTSP)分配两个端口。在这些场景下,每个 IP 地址都支持 PAT,占用 2048 个端口(63488 到 65535)供 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 address-persistent 功能不同,源功能保持映射静态;每次都会将相同的内部 IP 地址映射到相同的外部 IP 地址。它还与 address-persistent 为特定池配置的功能不同。 address-pooling paired 该 address-persistent 功能是适用于所有源池的全局配置。
了解使用地址变换的源 NAT 池
源 NAT 规则集的匹配条件不允许您指定地址范围;规则中只能指定地址前缀。配置源 NAT 池时,您可以指定该 host-base-address 选项;此选项用于指定原始源 IP 地址范围开始的 IP 地址。
转换的原始源 IP 地址的范围由源 NAT 池中的地址数量决定。例如,如果源 NAT 池包含十个 IP 地址的范围,则最多可以转换十个原始源 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 池包含十个 IP 地址的范围,则最多可以转换十个原始源 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
此示例介绍以下配置:
源 NAT 池
src-nat-pool-1,其中包含 IP 地址范围 203.0.113.30/32 到 203.0.113.40/32。对于此池,原始源 IP 地址范围的开头为 192.168.1.10/32,并使用选项指定host-address-base。源 NAT 规则集
rs1,用于将数据包从信任区域匹配到非信任区域的数据包,其源r1IP 地址位于 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 natshow 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 多个地址
此示例介绍以下配置:
源 NAT 池
src-nat-pool-1,其中包含 IP 地址范围 203.0.113.1/32 到 203.0.113.24/32。源 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 natshow 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 池配置了单个 NAT 地址,则通过节点 1 的流量将被阻止。
计算没有 PAT 的每个源池的池利用率。您可以通过配置告警阈值来打开池利用率告警。每次池利用率高于阈值并低于阈值时,都会触发 SNMP 陷阱。
如果静态 NAT 规则用于一对一 IP 转换,则在使用没有地址共享的源无 PAT 池时,避免将规则分为目标规则和源规则。如果选择划分规则,则必须使用具有单个 IP 的源 pat-pool 或具有多个 IP 的源 no-pat 池。
示例:在没有 PAT 的源 NAT 池中配置单个 IP 地址
此示例介绍如何在不进行端口地址转换的情况下将专用地址块配置为源 NAT 池中的单个公共地址。
默认情况下,为源 NAT 池启用 PAT。禁用 PAT 后,源 NAT 池可以同时支持的转换数限制为池中的地址数。如果源 NAT 池中没有可用地址,则数据包将被丢弃。但是,使用该 address-shared 选项,只要流量来自不同的源端口,您就可以将多个私有 IP 地址映射到单个公共 IP 地址。
要求
开始之前:
配置设备上的网络接口。请参阅 安全性设备接口用户指南。
创建安全区域并为其分配接口。请参阅 了解安全性区域。
概述
此示例将信任安全区域用于专用地址空间,不信任安全区域用于公共地址空间。从信任区域发送到非信任区域的数据包的源 IP 地址映射到单个公共地址。
此示例介绍以下配置:
包含 IP 地址 203.0.113.1/30 的源 NAT 池
src-nat-pool-1。port no-translation为池指定了选项和address 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 poolshow 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 多个地址
此示例介绍以下配置:
源 NAT 池
src-nat-pool-1,其中包含 IP 地址范围 203.0.113.1/32 到 203.0.113.24/32。为池指定了该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 natshow 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 会话持久性扫描,请在层次结构级别包含session-persistence-scan[edit security nat source]该语句。
您还可以使用 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 | SRX340 SRX345 | SRX1400SRX1500 |
SRX3400、SRX3600、SRX4100、SRX4200 |
SRX4700 |
SRX5400、SRX5600、SRX5800 |
|---|---|---|---|---|---|---|
| 源 NAT 池 |
1024 |
2048 |
8192 |
10,240 |
30720 |
12,288 |
| 支持端口转换的 IP 地址 |
1024 |
2048 |
8192 |
12,288 |
1048576 |
1 米 |
| PAT 端口号 |
64 万次 |
64 万次 |
2.56 亿次 |
3.84 亿次 |
2576 亿 |
3.84 亿次 |
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。
warning: To save system memory, the block size is recommended to be no less than 64。
edit security nat source] 层次结构级别使用
port-scaling-enlargement语句将配备新一代服务处理卡 (SPC) 的 SRX5400、SRX5600 和 SRX5800 设备上的源 NAT 端口容量增加到 2.4G