静态NAT
静态NAT将网络信息流从静态外部 IP 地址映射到内部 IP 地址或网络。它创建实际地址到映射地址的静态转换。静态NAT通过具有未注册专用 IP 地址的专用 LAN 提供与网络设备的互联网连接。
了解静态NAT
静态NAT可定义从一个 IP 子网到另一个 IP 子网的一对一映射。映射包括一个方向的目标 IP 地址转换,以及反向的源 IP 地址转换。从NAT设备,原始目标地址是虚拟主机 IP 地址,而映射至地址是真正的主机 IP 地址。
静态NAT允许连接源自网络每一端,但是转换仅限于一对一或相同大小的地址块之间。对于每个专用地址,必须分配一个公共地址。无需地址池。
静态NAT还支持以下类型的转换:
将多个 IP 地址和指定端口范围映射到同一 IP 地址和不同端口范围
将特定 IP 地址和端口映射到不同的 IP 地址和端口
在目标端口(范围)和映射端口(范围)之间提供静态映射,还支持端口地址转换 (PAT)。
原始目标地址以及源和目标路由池NAT地址不能重叠在同一路由实例中。
在NAT规则查找中,静态NAT规则优先于目标 NAT 规则,而静态 NAT 规则反向映射优先于源路由NAT规则。
了解静态NAT规则
静态网络地址转换 (NAT) 规则指定两层匹配条件:
信息流方向 - 允许您从接口、区域或路由实例指定。
数据包信息 - 可以是源地址和端口,也可以作为目标地址和端口。
对于除 FTP 以外的所有 ALG 流量,建议您不使用静态规则NAT选项 或 source-address
source-port
。如果使用这些选项,则数据会话创建可能失败,因为 IP 地址和源端口值(随机值)可能与静态规则NAT匹配。对于 FTP ALG 流量,可以使用 选项,因为提供的 IP 地址可以匹配静态路由规则 source-address
NAT地址。
当源地址和目标地址均配置为规则匹配条件时,流量将匹配到源地址和目标地址。由于静态NAT双向路由,因此反向的信息流与规则匹配,并且流量的目标地址与配置的源地址匹配。
如果多个静态NAT规则在匹配条件中重叠,则选择最具体的规则。例如,如果规则 A 和 B 指定相同的源和目标 IP 地址,但是规则 A 指定区域 1 中的流量,而规则 B 指定来自接口 ge-0/0/0 的流量,则规则 B 用于执行静态 NAT。接口匹配被视为比区域匹配更具体,而区域匹配比路由实例匹配更具体。
由于NAT规则不支持重叠地址和端口,因此不应用于将一个外部 IP 地址映射到 ALG 流量的多个内部 IP 地址。例如,如果不同站点想要访问两台不同的 FTP 服务器,则内部 FTP 服务器应映射到两个不同的外部 IP 地址。
对于静态NAT操作,请指定转换的地址和(可选)路由实例。
在NAT中,静态NAT规则优先于目标 NAT 规则,而静态路由规则的反向映射NAT优先于源路由NAT规则。
静态NAT配置概述
静态路由的主要NAT如下:
- 配置符合NAT和安全要求的静态路由规则。
- 为NAT接口同一子网中的 IP 地址配置代理 ARP 条目。
示例:为单个NAT配置静态地址转换
此示例介绍如何将单个专用NAT映射到公共地址的静态路由。
要求
开始之前:
在设备上配置网络接口。请参阅 安全设备接口用户指南。
创建安全区域,并为其分配接口。请参阅 了解安全区域。
概述
此示例为私有地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。
在图 1中,不信任区域中的设备通过公共地址 203.0.113.200/32 访问信任区域中的服务器。对于从不信任区域进入 瞻博网络 安全设备的数据包,其目标 IP 地址为 203.0.113.200/32,目标 IP 地址将转换为专用地址 192.168.1.200/32。对于源自服务器的新会话,传出数据包中的源 IP 地址将转换为公共地址 203.0.113.200/32。
此示例说明了以下配置:
静态NAT规则集,用于将来自不信任区域中的数据包与目标地址
rs1
r1
203.0.113.200/32 匹配。为匹配数据包,目标 IP 地址将转换为专用地址 192.168.1.200/32。接口 ge-0/0/0.0 上的地址 203.0.113.200 的代理 ARP。这样,瞻博网络安全设备将可以响应接口上收到的该地址的 ARP 请求。
安全策略允许来自和来自 192.168.1.200 服务器的信息流。
配置
程序
CLI快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit]
commit
set security nat static rule-set rs1 from zone untrust set security nat static rule-set rs1 rule r1 match destination-address 203.0.113.200/32 set security nat static rule-set rs1 rule r1 then static-nat prefix 192.168.1.200/32 set security nat proxy-arp interface ge-0/0/0.0 address 203.0.113.200/32 set security address-book global address server-1 192.168.1.200/32 set security policies from-zone trust to-zone untrust policy permit-all match source-address server-1 set security policies from-zone trust to-zone untrust policy permit-all match destination-address any set security policies from-zone trust to-zone untrust policy permit-all match application any set security policies from-zone trust to-zone untrust policy permit-all then permit set security policies from-zone untrust to-zone trust policy server-access match source-address any set security policies from-zone untrust to-zone trust policy server-access match destination-address server-1 set security policies from-zone untrust to-zone trust policy server-access match application any set security policies from-zone untrust to-zone trust policy server-access then permit
逐步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 在配置 模式下CLI编辑器。
要配置从专用NAT到公共地址的静态路由映射:
创建静态NAT规则集。
[edit security nat static] user@host# set rule-set rs1 from zone untrust
配置匹配数据包且将数据包中的目标地址转换为专用地址的规则。
[edit security nat static] user@host# set rule-set rs1 rule r1 match destination-address 203.0.113.200/32 user@host# set rule-set rs1 rule r1 then static-nat prefix 192.168.1.200/32
配置代理 ARP。
[edit security nat] user@host# set proxy-arp interface ge-0/0/0.0 address 203.0.113.200
配置全局地址簿中的地址。
[edit security address-book global] user@host# set address server-1 192.168.1.200/32
配置安全策略,允许从不信任区域到信任区域服务器的流量。
[edit security policies from-zone untrust to-zone trust] user@host# set policy server-access match source-address any destination-address server-1 application any user@host# set policy server-access then permit
配置安全策略,允许从信任区域服务器到不信任区域的所有流量。
[edit security policies from-zone trust to-zone untrust] user@host# set policy permit-all match source-address server-1 destination-address any application any user@host# set policy permit-all then permit
结果
在配置模式下,输入 和 命令以确认 show security nat
show security policies
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit] user@host# show security nat static { rule-set rs1 { from zone untrust; rule r1 { match { destination-address 203.0.113.200/32; } then { static-nat prefix 192.168.1.200/32; } } } } 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 permit-all { match { source-address server-1; destination-address any; application any; } then { permit; } } } from-zone untrust to-zone trust { policy server-access { match { source-address any; destination-address server-1; application any; } then { permit; } } }
如果完成设备配置,请从配置 commit
模式输入 。
示例:配置静态NAT进行子网转换
此示例介绍如何将专用子网NAT映射到公共子网地址的静态路由。
静态路由映射NAT块必须相同大小。
要求
开始之前:
在设备上配置网络接口。请参阅 安全设备接口用户指南。
创建安全区域,并为其分配接口。请参阅 了解安全区域。
概述
此示例为私有地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。 在图 2中,通过公共子网地址 203.0.113.0/24 的方式在信任区域访问可信区域的设备。对于从不信任区域进入 瞻博网络 安全设备的数据包,其目标 IP 地址在 203.0.113.0/24 子网中,目标 IP 地址将转换为 192.168.1.0/24 子网上的专用地址。对于源自 192.168.1.0/24 子网的新会话,传出数据包中的源 IP 地址将转换为公共 203.0.113.0/24 子网上的地址。
此示例说明了以下配置:
静态NAT规则集,规则与接口
rs1
r1
ge-0/0/0.0 上收到的数据包与 203.0.113.0/24 子网中的目标 IP 地址匹配。为匹配数据包,目标地址将转换为 192.168.1.0/24 子网上的地址。地址范围为 203.0.113.1/32 到接口 ge-0/0/0.0 上的 203.0.113.249/32 的代理 ARP。这使安全瞻博网络可响应接口上收到的这些地址的 ARP 请求。地址 203.0.113.250/32 将被分配至接口本身,因此此地址不会包含在代理 ARP 配置中。
安全策略允许来自和来自 192.168.1.0/24 子网的流量。
配置
程序
CLI快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit]
commit
set security nat static rule-set rs1 from interface ge-0/0/0.0 set security nat static rule-set rs1 rule r1 match destination-address 203.0.113.0/24 set security nat static rule-set rs1 rule r1 then static-nat prefix 192.168.1.0/24 set security nat proxy-arp interface ge-0/0/0.0 address 203.0.113.1/32 to 203.0.113.249/32 set security address-book global address server-group 192.168.1.0/24 set security policies from-zone trust to-zone untrust policy permit-all match source-address server-group set security policies from-zone trust to-zone untrust policy permit-all match destination-address any set security policies from-zone trust to-zone untrust policy permit-all match application any set security policies from-zone trust to-zone untrust policy permit-all then permit set security policies from-zone untrust to-zone trust policy server-access match source-address any set security policies from-zone untrust to-zone trust policy server-access match destination-address server-group set security policies from-zone untrust to-zone trust policy server-access match application any set security policies from-zone untrust to-zone trust policy server-access then permit
逐步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 在配置 模式下CLI编辑器。
要配置从专用NAT到公共子网地址的静态路由映射:
创建静态NAT规则集。
[edit security nat static] user@host# set rule-set rs1 from interface ge-0/0/0.0
配置匹配数据包且将数据包中的目标地址转换为专用子网中的地址的规则。
[edit security nat static] user@host# set rule-set rs1 rule r1 match destination-address 203.0.113.0/24 user@host# set rule-set rs1 rule r1 then static-nat prefix 192.168.1.0/24
配置代理 ARP。
[edit security nat] user@host# set proxy-arp interface ge-0/0/0.0 address 203.0.113.1/32 to 203.0.113.249/32
配置全局地址簿中的地址。
[edit security address-book global] user@host# set address server-group 192.168.1.0/24
配置安全策略,允许从不信任区域到信任区域子网的流量。
[edit security policies from-zone untrust to-zone trust] user@host# set policy server-access match source-address any destination-address server-group application any user@host# set policy server-access then permit
配置安全策略,允许从信任区域子网到不信任区域的所有流量。
[edit security policies from-zone trust to-zone untrust] user@host# set policy permit-all match source-address server-group destination-address any application any user@host# set policy permit-all then permit
结果
在配置模式下,输入 和 命令以确认 show security nat
show security policies
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit] user@host# show security nat static { rule-set rs1 { from interface ge-0/0/0.0; rule r1 { match { destination-address 203.0.113.0/24; } then { static-nat prefix 192.168.1.0/24; } } } } proxy-arp { interface ge-0/0/0.0 { address { 203.0.113.1/32 to 203.0.113.249/32; } } } user@host# show security policies from-zone trust to-zone untrust { policy permit-all { match { source-address server-group; destination-address any; application any; } then { permit; } } } from-zone untrust to-zone trust { policy server-access { match { source-address any; destination-address server-group; application any; } then { permit; } } }
如果完成设备配置,请从配置 commit
模式输入 。
示例:配置静态NAT进行端口映射
此示例介绍如何将公共NAT的静态路由映射到指定端口范围上的专用地址。
本主题包括以下章节:
要求
开始之前:
在设备上配置网络接口。请参阅 安全设备接口用户指南。
创建安全区域,并为其分配接口。请参阅 了解安全区域。
概述
此示例为私有地址空间使用信任安全区域,对公共地址空间使用不信任安全区域。
在 图 3中,不信任区域中的设备通过公共地址 203.0.113.1/32、203.0.113.1/32 和 203.0.113.3/32 访问信任区域中的服务器。对于从不信任区域进入 瞻博网络 IP 地址为 203.0.113.1/32 的数据包, 203.0.113.1/32 和 203.0.113.3/32,目标 IP 地址将转换为专用地址 10.1.1.1/32、10.1.1.2/32 和 10.1.1.2/32。
要配置目标端口,您必须将 IP 地址用于目标地址字段,而不是 IP 地址前缀。
您必须配置目标端口以配置映射的端口,反之亦然。
在配置目标端口和映射端口时,对端口使用相同的编号范围。
如果不配置目标端口和映射的端口,IP 映射将是一对一映射。
不允许任何地址重叠或任何地址和端口重叠。
此示例说明了以下配置:
静态NAT规则集 rs1,其规则 rs1 用于将来自不信任区域中的数据包与目标地址 203.0.113.1/32 和目标端口 100 到 200 匹配。为匹配数据包,目标 IP 地址将转换为专用地址 10.1.1.1/32 并映射到端口 300 到 400。
静态NAT规则集 rs1 规则 rs1,用于将来自不信任区域中的数据包与目标地址 203.0.113.1/32 和目标端口 300 到 400 匹配。为匹配数据包,目标 IP 地址将转换为专用地址 10.1.1.2/32 并映射到端口 300 到 400。
静态NAT规则集 rs1,其规则 rs1 用于将来自不信任区域中的数据包与目标地址 203.0.113.3/32 和目标端口 300 匹配。为匹配数据包,目标 IP 地址将转换为专用地址 10.1.1.2/32 并映射到端口 200。
配置
CLI快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit]
commit
set security nat static rule-set rs from zone untrust
set security nat static rule-set rs rule r1 match destination-address 203.0.113.1/32
set security nat static rule-set rs rule r1 match destination-port 100 to 200
set security nat static rule-set rs rule r1 then static-nat prefix 10.1.1.1/32
set security nat static rule-set rs rule r1 then static-nat prefix mapped-port 300 to 400
set security nat static rule-set rs rule r2 match destination-address 203.0.113.1/32
set security nat static rule-set rs rule r2 match destination-port 300 to 400
set security nat static rule-set rs rule r2 then static-nat prefix 10.1.1.2/32
set security nat static rule-set rs rule r2 then static-nat prefix mapped-port 300 to 400
set security nat static rule-set rs rule r3 match destination-address 203.0.113.3/32
set security nat static rule-set rs rule r3 match destination-port 300
set security nat static rule-set rs rule r3 then static-nat prefix 10.1.1.2/32
set security nat static rule-set rs rule r3 then static-nat prefix mapped-port 200
程序
逐步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 在配置CLI使用编辑器 。
要配置从专用NAT到公共子网地址的静态路由映射:
创建静态NAT规则集。
[edit security nat static]
user@host# set rule-set rs from zone untrust
配置匹配数据包且将数据包中的目标地址转换为专用地址的规则。
[edit security nat static]
user@host# set rule-set rs rule r1 match destination-address 203.0.113.1/32
user@host# set rule-set rs rule r1 match destination-port 100 to 200
user@host# set rule-set rs rule r1 then static-nat prefix 10.1.1.1/32
user@host# set rule-set rs rule r1 then static-nat prefix mapped-port 300 to 400
配置匹配数据包且将数据包中的目标地址转换为专用地址的规则。
[edit security nat static]
user@host# set rule-set rs rule r2 match destination-address 203.0.113.1/32
user@host# set rule-set rs rule r2 match destination-port 300 to 400
user@host# set rule-set rs rule r2 then static-nat prefix 10.1.1.2/32
user@host# set rule-set rs rule r2 then static-nat prefix mapped-port 300 to 400
配置匹配数据包且将数据包中的目标地址转换为专用地址的规则。
[edit security nat static]
user@host# set rule-set rs rule r3 match destination-address 203.0.113.3/32
user@host# set rule-set rs rule r3 match destination-port 300
user@host# set rule-set rs rule r3 then static-nat prefix 10.1.1.2/32
user@host# set rule-set rs rule r3 then static-nat prefix mapped-port 200
结果
在配置模式下,输入 命令以确认 show security nat
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit]
user@host# show security nat
security { nat { static { rule-set rs { from zone untrust; rule r1 { match { destination-address 203.0.113.1/32; destination-port 100 to 200; } then { static-nat { prefix { 10.1.1.1/32; mapped-port 300 to 400; } } } } rule r2 { match { destination-address 203.0.113.1/32; destination-port 300 to 400; } then { static-nat { prefix { 10.1.1.2/32; mapped-port 300 to 400; } } } } rule r3 { match { destination-address 203.0.113.3/32; destination-port 300; } then { static-nat { prefix { 10.1.1.2/32; mapped-port 200; } } } } } } } }
如果完成设备配置,请从配置 commit
模式输入 。
验证
验证静态NAT配置
目的
验证是否有与静态规则集NAT匹配。
行动
在操作模式下,输入 show security nat static rule
命令。查看"转换命中"字段以检查与规则匹配的流量。
user@host> show security nat static rule all
Total static-nat rules: 3
Static NAT rule: r2 Rule-set: rs
Rule-Id : 3
Rule position : 2
From zone : untrust
Destination addresses : 203.0.113.1
Destination ports : 300 - 400
Host addresses : 10.1.1.2
Host ports : 300 - 400
Netmask : 32
Host routing-instance : N/A
Translation hits : 0
Static NAT rule: r3 Rule-set: rs
Rule-Id : 4
Rule position : 3
From zone : untrust
Destination addresses : 203.0.113.3
Destination ports : 300 - 300
Host addresses : 10.1.1.2
Host ports : 200 - 200
Netmask : 32
Host routing-instance : N/A
Translation hits : 0
Static NAT rule: r1 Rule-set: rs
Rule-Id : 9
Rule position : 1
From zone : untrust
Destination addresses : 203.0.113.1
Destination ports : 100 - 200
Host addresses : 10.1.1.1
Host ports : 300 - 400
Netmask : 32
Host routing-instance : N/A
Translation hits : 0
故障 排除
静态NAT端口配置故障排除
问题
静态NAT端口映射配置失败在提交过程中发生。
具有重叠 IP 地址和端口的无效配置会导致提交失败。
以下示例显示具有重叠地址和端口的无效配置:
set security nat static rule-set rs rule r1 match destination-address 203.0.113.1
set security nat static rule-set rs rule r1 then static-nat prefix 10.1.1.1
set security nat static rule-set rs rule r2 match destination-address 203.0.113.1
set security nat static rule-set rs rule r2 match destination-port 300 to 400
set security nat static rule-set rs rule r2 then static-nat prefix 10.1.1.2
set security nat static rule-set rs rule r2 then static-nat prefix mapped-port 300 to 400
set security nat static rule-set rs rule r1 match destination-address 203.0.113.1
set security nat static rule-set rs rule r1 match destination-port 100 to 200
set security nat static rule-set rs rule r1 then static-nat prefix 10.1.1.1
set security nat static rule-set rs rule r1 then static-nat prefix mapped-port 300 to 400
set security nat static rule-set rs rule r2 match destination-address 203.0.113.2
set security nat static rule-set rs rule r2 match destination-port 300 to 400
set security nat static rule-set rs rule r2 then static-nat prefix 10.1.1.1
set security nat static rule-set rs rule r2 then static-nat prefix mapped-port 390 to 490
提交上述配置提交时,显示以下错误消息:
error: 'prefix/mapped-port' of static nat rule r2 overlaps with 'prefix/mapped-port' of static nat rule r1 error: configuration check-out failed
解决 方案
要配置目标端口,必须避免任何地址重叠或任何地址和端口重叠。有关有效配置的示例,请参阅 Configuration
监控静态NAT信息
目的
查看静态NAT规则信息。
行动
在 J-Web >NAT>选择 Monitor NAT Static 选项,或者输入以下 CLI 命令:
show security nat static rule
表 1 概括显示了静态输出NAT字段。
领域 |
值 |
行动 |
---|---|---|
规则集名称 |
规则集的名称。 |
从列表中选择要显示的所有规则集或特定规则集。 |
规则总数 |
配置的规则数。 |
– |
Id |
规则 ID 编号。 |
– |
位置 |
表示应用于信息流的顺序的规则位置。 |
– |
名字 |
规则的名称。 |
– |
规则集名称 |
规则集的名称。 |
– |
从 |
数据包来自的路由实例/接口/区域的名称 |
– |
源地址 |
源 IP 地址。 |
– |
源端口 |
源端口号。 |
– |
目标地址 |
目标 IP 地址和子网掩码。 |
– |
目标端口 |
目标端口号 。 |
– |
主机地址 |
主机地址的名称。 |
– |
主机端口 |
主机端口号。 |
|
Netmask |
子网 IP 地址。 |
– |
主机路由实例 |
数据包来自的路由实例的名称。 |
– |
报警阈值 |
利用率告警阈值。 |
– |
会话 (Succ/ 发生故障/ 电流) |
成功、失败和当前会话。
|
– |
翻译命中数 |
转换表中的转换用于静态规则NAT多次。 |
– |
10 大翻译命中图 |
显示 10 大翻译命中数的图形。 |
– |