IKE 和 ESP ALG
互联网密钥交换 (IKE) 和封装安全有效负载 (ESP) 是 IP 安全 (IPsec) 协议的一部分。IKE 和 ESP 流量在客户端和服务器之间交换。当 IPsec VPN 通过启用了 NAT 的设备时,IKE 和 ESP ALG 有助于解决 IPsec VPN 问题。
使用 功能浏览器 确认平台和版本对特定功能的支持。
查看 特定于平台的 IKE ALG 行为 部分,了解与您的平台相关的说明。
了解 IKE 和 ESP ALG
当 NFX 系列或 SRX 系列防火墙放置在 NAT 网关专用侧的 VPN 客户端和公共侧的虚拟专用网络 (VPN) 网关之间时,只能用作网络地址转换 (NAT) 设备。
在客户端和服务器之间交换互联网密钥交换 (IKE) 和封装安全有效负载 (ESP) 流量。但是,如果客户端不支持 NAT 遍历 (NAT-T),并且设备将相同的 NAT 生成的 IP 地址分配给两个或更多客户端,则设备将无法正确区分和路由返回流量。
如果用户想要同时支持支持 NAT-T 和不支持 NAT-T 的客户端,则需要一些额外的配置。如果存在支持 NAT-T 的客户端,则用户必须启用源 NAT 地址持久性。
适用于 IKE 和 ESP 的 ALG 监视客户端和服务器之间的 IKE 流量,并且只允许在任何给定的客户端/服务器对之间进行一次 IKE 第 2 阶段消息交换,而不允许任何客户端和任何服务器之间进行一次交换。
已创建用于 IKE 和 ESP 流量的 ALG,并增强了 NAT 以实施以下作:
要使设备能够通过源 NAT 池传递 IKE 和 ESP 流量,请执行以下步骤
允许将设备配置为针对不使用 NAT 的相同 IP 地址返回由 NAT 生成的相同 IP 地址(以下简称“地址持久性 NAT”)。因此,设备能够将客户端的传出 IKE 流量与来自服务器的返回流量相关联,尤其是在 IKE 会话超时需要重新建立时。
客户端和服务器之间生成的 ESP 流量也是被允许的,尤其是在从服务器到客户端的方向上。
返回的 ESP 流量与以下内容匹配:
作为源 IP 的服务器 IP 地址
作为目标 IP 的客户端 IP 地址
了解 IKE 和 ESP ALG作
用于互联网密钥交换 (IKE) 和封装安全有效负载 (ESP) 流量的应用层网关 (ALG) 具有以下行为:
IKE 和 ESP ALG 监控客户端和服务器之间的 IKE 流量,并且在任何给定时间只允许客户端和服务器之间进行一次 IKE 第 2 阶段消息交换。
对于第 2 阶段消息:
如果客户端和服务器之间未进行第 2 阶段消息交换,则将为从客户端到服务器,以及从服务器到客户端的相关 ESP 流量打开 IKE ALG 门。
如果两个 IKE ALG 门都未成功打开,或者第 2 阶段消息交换已发生,则第 2 阶段消息将被丢弃。
当 ESP 流量到达 IKE ALG 门时,将创建会话以捕获后续 ESP 流量,并执行正确的 NAT(即,从客户端到服务器流量的源 IP 地址转换,以及从服务器到客户端流量的目标 IP 地址转换)。
当 ESP 流量未命中其中一个或两个闸门时,闸门自然会超时。
一旦 IKE ALG 门折叠或超时,将允许另一个 IKE 第 2 阶段消息交换。
浮动端口 4500 上的 IKE NAT-T 流量不会在 IKE ALG 中处理。要支持支持 NAT-T 和不支持 NAT-T 的客户端的混合,您需要启用源 NAT 地址持久化。
示例:配置 IKE 和 ESP ALG
此示例说明如何将 IKE 和 ESP ALG 配置为通过瞻博网络设备上的源 NAT 池传递 IKE 和 ESP 流量。
要求
开始之前:
为源 NAT 池中的所有 IP 地址配置代理 ARP。
了解 IKE 和 ESP ALG 背后的概念。请参阅 了解 IKE 和 ESP ALG作。
概述
在此示例中,IKE 和 ESP 的 ALG 配置为监控并允许在位于瞻博网络设备相对端的客户端和服务器之间交换 IKE 和 ESP 流量。
此示例说明如何配置源 NAT 池和规则集,配置自定义应用程序以支持 IKE 和 ESP ALG,以及将此 ALG 与策略相关联。
如果要支持支持 NAT 遍历 (NAT-T) 客户端和不支持客户端的混合,则必须启用持久源 NAT 转换(以便在特定源 NAT 与给定 IP 地址相关联后,后续的源 NAT 转换使用相同的 IP 地址)。您还必须配置自定义 IKE NAT 遍历应用程序,以支持在 UDP 端口 4500 中封装 IKE 和 ESP。此配置使 IKE 和 ESP 能够通过启用 NAT 的设备。
拓扑学
配置
配置 NAT 源池和规则集
CLI 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit]
级的 CLI 中,然后从配置模式进入 commit
。
set security nat source pool pool1 address 10.10.10.1/32 to 10.10.10.10/32 set security zones security-zone green address-book address sa1 1.1.1.0/24 set security zones security-zone red address-book address da1 2.2.2.0/24 set security nat source rule-set rs1 from zone green set security nat source rule-set rs1 to zone red set security nat source rule-set rs1 rule r1 match source-address 1.1.1.0/24 set security nat source rule-set rs1 rule r1 match destination-address 2.2.2.0/24 set security nat source rule-set rs1 rule r1 then source-nat pool pool1
分步过程
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置源 NAT 池,请执行以下作:
创建 NAT 源池。
[edit ] user@host# set security nat source pool pool1 address 10.10.10.1/32 to 10.10.10.10/32
配置安全区域通讯簿条目。
[edit] user@host# set security zones security-zone green address-book address sa1 1.1.1.0/24 user@host# set security zones security-zone red address-book address da1 2.2.2.0/24
创建 NAT 源规则集。
[edit security nat source rule-set rs1] user@host# set from zone green user@host# set to zone red user@host# set rule r1 match source-address 1.1.1.0/24 user@host# set rule r1 match destination-address 2.2.2.0/24 user@host# set rule r1 then source-nat pool pool1
结果
在配置模式下,输入 show security nat
命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
user@host# show security nat source { pool pool1 { address { 10.10.10.1/32 to 10.10.10.10/32; } } rule-set rs1 { from zone green; to zone red; rule r1 { match { source-address 1.1.1.0/24; destination-address 2.2.2.0/24; } then { source-nat { pool { pool1; } } } } }
如果完成设备配置,请从配置模式输入 commit
。
配置自定义应用程序并将其关联到策略
CLI 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit]
级的 CLI 中,然后从配置模式进入 commit
。
set applications application custom-ike-alg source-port 500 destination-port 500 protocol udp application-protocol ike-esp-nat set security policies from-zone green to-zone red policy pol1 match destination-address da1 set security policies from-zone green to-zone red policy pol1 match application custom-ike-alg set security policies from-zone green to-zone red policy pol1 then permit
分步过程
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置自定义应用程序并将其关联到策略,请执行以下作:
配置自定义应用程序。
[edit] user@host# set applications application custom-ike-alg source-port 500 destination-port 500 protocol udp application-protocol ike-esp-nat
将自定义应用程序关联到策略。
[edit security policies from-zone green to-zone red policy pol1] user@host# set match source-address sa1 user@host# set match destination-address da1 user@host# set match application custom-ike-alg user@host# set then permit
结果
在配置模式下,输入 show applications
和 show security zones
命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@host# show applications application custom-ike-alg { application-protocol ike-esp-nat; protocol udp; source-port 500; destination-port 500; }
[edit] user@host# show security zones security-zone Trust { host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { ge-0/0/1.0; } } security-zone green { address-book { address sa1 1.1.1.0/24; } } security-zone red { address-book { address da1 2.2.2.0/24; } }
如果完成设备配置,请从配置模式输入 commit
。
为支持 NAT-T 和不支持 NAT-T 的客户端配置 IKE 和 ESP ALG 支持
CLI 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit]
级的 CLI 中,然后从配置模式进入 commit
。
set security nat source address-persistent set applications application custom-ike-natt protocol udp source-port 4500 destination-port 4500 set security policies from-zone green to-zone red policy pol1 match source-address sa1 set security policies from-zone green to-zone red policy pol1 match destination-address da1 set security policies from-zone green to-zone red policy pol1 match application custom-ike-natt set security policies from-zone green to-zone red policy pol1 then permit
分步过程
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要为支持 NAT-T 和不支持 NAT-T 的客户端配置 IKE 和 ESP ALG 支持,请执行以下作:
全局启用持久源 NAT 转换。
[edit] user@host# set security nat source address-persistent
配置 IKE NAT-T 应用程序。
[edit] user@host# set applications application custom-ike-natt protocol udp source-port 4500 destination-port 4500
使用策略关联 NAT-T 应用程序。
[edit security policies from-zone green to-zone red policy pol1] user@host# set match source-address sa1 user@host# set match destination-address da1 user@host# set match application custom-ike-natt user@host# set then permit
结果
在配置模式下,输入 show security nat
和 show security policies
命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@host# show security nat source { address-persistent; }
[edit] user@host# show security policies from-zone green to-zone red { policy pol1 { match { source-address sa1; destination-address da1; application [ custom-ike-alg custom-ike-natt ]; } then { permit; } } } default-policy { permit-all; }
如果完成设备配置,请从配置模式输入 commit
。
验证
要确认配置工作正常,请执行以下任务:
验证 IKE 和 ESP ALG 自定义应用程序
目的
验证是否已启用支持 IKE 和 ESP ALG 的自定义应用程序。
行动
在作模式下,输入 show security alg status
命令。
user@host> show security alg status
ALG Status : DNS : Enabled FTP : Enabled H323 : Enabled MGCP : Enabled MSRPC : Enabled PPTP : Enabled RSH : Disabled RTSP : Enabled SCCP : Enabled SIP : Enabled SQL : Enabled SUNRPC : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Enabled
意义
输出显示 ALG 状态,如下所示:
已启用 - 显示 ALG 已启用。
已禁用 - 显示 ALG 已禁用。
验证 ALG 的安全策略
目的
验证是否已设置应用程序自定义 IKE ALG 和应用程序自定义 IKE NATT。
行动
在作模式下,输入 show security policies
命令。
user@host> show security policies
Default policy: permit-all From zone: green, To zone: red Policy: pol1, State: enabled, Index: 7, Scope Policy: 0, Sequence number: 1 Source addresses: sa1 Destination addresses: da1 Applications: custom-ike-alg, custom-ike-natt Action: permit
意义
示例输出显示已设置自定义 IKE ALG 和自定义 IKE NATT 应用程序。
示例:启用 IKE 和 ESP ALG 并设置超时
此示例说明如何启用 IKE 和 ESP ALG,并设置超时值,以便 ALG 有时间处理 ALG 状态信息、ESP 门和 ESP 会话。
要求
了解适用于 IKE 和 ESP 的 ALG 背后的概念。请参阅 了解 IKE 和 ESP ALG作。
概述
IKE 和 ESP ALG 处理 ALG 附加到的任何策略中指定的所有流量。在此示例中,您配置 set security alg ike-esp-nat enable 语句,以便为所有 IPsec 直通流量禁用当前默认 IPsec 直通行为,而不考虑策略。
然后,设置超时值,以便为 IKE 和 ESP ALG 留出时间来处理 ALG 状态信息、ESP 门和 ESP 会话。在此示例中,您设置了 ALG 状态信息的超时。超时范围为 180 到 86400 秒。默认超时为 14400 秒。然后,设置在 IKE 第 2 阶段交换完成后创建的 ESP 门的超时。超时范围为 2 到 30 秒。默认超时为 5 秒。最后,设置从 IPsec 门创建的 ESP 会话的空闲超时。如果没有流量命中会话,则该会话在此时间段后将过期。超时范围为 60 到 2400 秒。默认超时为 1800 秒。
配置
程序
CLI 快速配置
要快速配置示例的此部分,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层 [edit]
级的 CLI 中,然后从配置模式进入 commit
。
set security alg ike-esp-nat enable set security alg ike-esp-nat esp-gate-timeout 20 set security alg ike-esp-nat esp-session-timeout 2400 set security alg ike-esp-nat state-timeout 360
分步过程
下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要启用 IKE 和 ESP ALG 并设置超时值,请执行以下作:
启用 IKE 和 ESP ALG。
[edit] user@host# set security alg ike-esp-nat enable
设置 ALG 状态信息的超时。
[edit security alg ike-esp-nat] user@host# set state-timeout 360
设置 IKE 第 2 阶段交换完成后创建的 ESP 门的超时。
[edit security alg ike-esp-nat] user@host# set esp-gate-timeout 20
为从 IPsec 门创建的 ESP 会话设置空闲超时。
[edit security alg ike-esp-nat] user@host# set esp-session-timeout 2400
结果
在配置模式下,输入 show security alg
命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit] user@host# show security alg ike-esp-nat { enable; state-timeout 360; esp-gate-timeout 20; esp-session-timeout 2400; }
如果完成设备配置,请从配置模式输入 commit
。
特定于平台的 IKE ALG 行为
使用 功能浏览器 确认平台和版本对特定功能的支持。
使用下表查看您的平台特定于平台的行为:
平台 |
差异 |
---|---|
SRX 系列 |
|