IPsec 隧道模式的动态主机配置协议 (DHCPv4) 配置

发布时间:2021-11-03 13:15:04 作者:衡水铁头哥阅读:0

[导读]:1、简介在许多远程访问方案中,使远程主机看起来存在于本地公司网络上的机制非常有用。这可以通过为主机分配来自公司网络的“虚拟”地址,然后通过IPsec从主机的ISP分配地址到公司安全网关的隧道传输流量来...

1、简介

在许多远程访问方案中,远程主机似乎存在于当地公司网络中的机制非常有用。这可以通过向主机分配公司网络的虚拟地址,然后通过IPsec从主机的ISP分配地址到公司安全网关的隧道传输流量来实现。动态主机配置协议(DHCP)[3]在IPv4中提供此类远程主机配置。本文探讨了IPsec隧道模式下主机配置的要求,并描述了如何使用DHCPv4进行配置。

1.1、 术语

本文档使用以下术语:

DHCP客户端/ DHCP client

DHCP客户端或“client”是使用 DHCP 获取配置参数(例如网络地址)的 Internet 主机。

DHCP服务器/ DHCP server

DHCP 服务器或“server”是将配置参数返回给 DHCP 客户端的 Internet 主机。

1.2、 需求语言

在本文档中,关键字“可以”、“必须”、“不得”、“可选”、“推荐”、“应该”和“不应该”将按照 [1] 中的描述进行解释。

2、 IPsec隧道模式配置要求

如 [21] 中所述,具有 IPsec 隧道模式接口的主机的配置要求包括需要获取 IPv4 地址和其他适用于主机类别的配置参数。除了满足基本要求 [21] 外,可能还需要以下附加功能:

A. 与现有 IPv4 地址管理设施的集成

B. 支持地址池管理

C. 需要时重新配置

D. 支持故障转移

E. 在 IKE 实施中保持安全性和简单性。

F. 需要时进行身份认证

2.1、 DHCP 配置评估

利用 DHCP 配置 IPsec 隧道模式满足 [21] 中描述的基本要求。它还提供上述附加功能。

基本配置

在 IPv4 中,利用 DHCPv4 [3] 配置 IPsec 隧道模式满足 [21] 中描述的基本要求。由于 [21] 中描述的所需配置参数是 DHCPv4 选项 [4] 中已支持的那些参数的子集,因此不需要新的 DHCPv4 选项,也不需要对 DHCPv4 [3] 进行修改。

地址管理集成

由于如今 DHCPv4 已广泛部署用于地址管理,因此将 DHCPv4 重用于 IPsec 隧道模式地址管理可实现与现有寻址实现和 IPv4 地址管理软件的兼容性和集成。

地址池管理

如 [18] 中所述,DHCPv4 实现支持条件行为,因此分配的地址和配置参数可以依赖于 DHCPDISCOVER 中包含的参数。这使得安全网关可以确保远程主机从适当的地址池接收 IP 地址分配,例如通过 [16] 中描述的用户类选项。

重新配置

DHCP 支持配置租约的概念,并且有一个处理强制重新配置的建议 [14]。

故障转移支持

在利用 DHCPv4 时,配置和寻址状态保存在 DHCP 服务器上,而不是在 IKE 实现中。因此,隧道服务器的丢失不会导致配置和寻址状态的丢失,从而更容易支持故障转移 [12]。

安全性和简单性

由于不需要修改 IKE 来支持配置,因此利用 DHCPv4 还可以更轻松地维护 IKE 实施中的安全性。

认证

在需要 DHCPv4 身份认证 [5] 的情况下,这可以在 IPsec 隧道模式接口上得到支持,就像在任何其他接口上一样。

2.2、 概括

如上所述,DHCPv4 [3] 满足 IPsec 隧道模式配置要求 [21],并提供附加功能。如附录中所述,IKECFG [13] 不满足基本要求,也不提供附加功能。因此,DHCPv4 是 IPsec 隧道模式配置的最佳替代方案。

3、 场景概览

IPsec [2]、[6]-[9] 是一个协议套件,定义为保护通信对等体之间的网络层通信。在许多由 IPsec 启用的应用程序中,一个有用的应用程序是使用 IPsec 隧道模式通过安全网关将远程主机连接到企业内部网。然后以这样的方式配置该主机,以便在内部网络上为其提供虚拟存在。这是通过以下方式完成的:

Internet 上的远程主机将连接到安全网关,然后与其建立 IPsec 隧道。然后,远程主机通过 IPsec 隧道与 DHCPv4 服务器交互,该服务器为远程主机提供来自公司网络地址空间的地址。远程主机随后将此用作与公司资源进行所有交互的源地址。请注意,这意味着企业安全网关继续将主机的原始可路由 IP 地址识别为隧道端点。远程主机在使用分配的地址时采用的虚拟身份在公司网络中看起来好像它位于承载原始可路由 IP 地址的安全网关后面。远程主机和内网之间的所有流量都将通过安全网关通过 IPsec 隧道承载,如下所示:

IPsec 隧道模式的动态主机配置协议 (DHCPv4) 配置

此方案假定远程主机已具有 Internet 连接并且主机 Internet 接口已正确配置。为 Internet 接口配置远程主机地址的机制是明确定义的;即,[10] 中描述的 PPP IP 控制协议 (IP control protocol,IPCP)、[3] 中描述的 DHCPv4 和静态寻址。Intranet 的自动配置机制也是标准化的。还假设远程主机知道安全网关的位置。这可以通过 DNS,使用 A、KX [23] 或 SRV [24] 记录来完成。

此应用程序中远程主机的典型配置将使用两个地址:1) 连接到 Internet 的接口 (Internet interface),以及 2) 连接到 Intranet 的虚拟接口 (intranet interface)。Internet 和 Intranet 接口的 IP 地址分别用于 IPsec 隧道模式数据包的外部和内部报头。

3.1、 配置演练

IPsec隧道模式主机内网接口的配置通过以下步骤完成:

A. 远程主机在主模式或野蛮模式交换中与安全网关建立 IKE 安全联盟。然后,该 IKE SA 用于保护其他快速模式 IPsec SA。

B. 远程主机以快速模式交换与 IPsec 隧道模式服务器建立 DHCP SA。DHCP SA 是一种 IPsec 隧道模式 SA,为保护安全网关和远程主机之间的初始 DHCPv4 流量而建立。DHCP SA 必须仅用于 DHCP 流量。这个 SA 是如何设置的细节在第 4.1 节中描述。

C. DHCP 消息在远程主机和 DHCPv4 服务器之间来回发送。使用步骤 b 中建立的 DHCP SA 保护远程主机和安全网关之间的流量。DHCP 会话完成后,远程主机的 Intranet 接口获取 IP 地址以及其他配置参数。

D. 远程主机可以请求删除 DHCP SA,因为未来的 DHCP 消息将通过新的 IPsec 隧道传送。或者,远程主机和安全网关可以通过以与 [2] 中为名称 ID 类型提供的相同方式添加临时 SPD 选择器,继续为所有后续流量使用相同的 SA。

E. 如果需要新的 IPsec 隧道,远程主机会在快速模式交换中建立到安全网关的隧道模式 SA。在这种情况下,通过 DHCPv4 分配的新地址应该用于快速模式 ID。

在最后一步结束时,远程主机已准备好使用 IPsec 隧道与 Intranet 进行通信。远程主机和 Intranet 之间的所有 IP 流量(包括未来的 DHCPv4 消息)现在都通过此 IPsec 隧道模式 SA 进行隧道传输。

由于用于不同 SA 的安全参数基于远程主机和安全网关的独特要求,因此本文档不对其进行描述。此处描述的机制在使用虚拟接口实现 VPN 时效果最佳。

4、 详细说明

本节提供有关在 DHCP SA 的设置和拆除期间交换的消息的详细信息。

4.1、 DHCPDISCOVER 报文处理

事件开始于远程主机 Intranet 接口生成 DHCPDISCOVER 消息。详细说明如下:

IPsec 隧道模式的动态主机配置协议 (DHCPv4) 配置

表 1:DHCP 消息中的字段说明

htype 值设置为值 31,表示虚拟 IPsec 隧道模式接口,以使 DHCP 服务器能够区分 VPN 和非 VPN 请求。DHCPDISCOVER 的 chaddr 字段必须包括虚拟子网唯一的标识符。客户端必须在同一 DHCPv4 交换中的所有后续消息中使用相同的 chaddr 字段。此外,chaddr 应该在重新启动之间保持不变,以便 DHCP 服务器能够在需要时重新分配相同的地址。

hlen 和 chaddr 字段应该如下确定:

A. 如果有一个或多个 LAN 接口可用,hlen 和 chaddr 字段应该由具有最低接口编号的活动 LAN 接口确定。如果没有可用的活动 LAN 接口,那么参数应该从具有最低接口编号的 LAN 接口确定。这使得 chaddr 在重新启动之间保持不变,只要 LAN 接口硬件没有被移除。

B. 如果没有 LAN 接口,chaddr 字段应该通过连接 x'4000'、提供网络连接的接口的 IPv4 地址和一个额外的八位字节来确定。x'4000' 值表示本地管理的单播 MAC 地址,从而保证构造的 chaddr 值不会与全局分配的值冲突。

额外的八位字节(可能代表一个接口号)应该在重启之间保持不变,这样如果分配的 IPv4 地址保持一致,则 chaddr 值将在重启后保持不变。

如果遵循上述规定,则 chaddr 在虚拟子网中将始终是唯一的,前提是远程主机仅建立到安全网关的单个隧道。在 LAN 接口可用的情况下,chaddr 将是全球唯一的。当非 LAN 接口可用并且为远程主机分配了唯一的 Internet 地址时,chaddr 也将是全局唯一的。将私有 IP 地址 [22] 分配给非 LAN 接口的情况下,它将不是全局唯一的。但是,在这种情况下,除非外部网络和公司网络具有一致的寻址计划,否则数据包将不会在远程主机和安全网关之间来回路由。在这种情况下,分配给远程主机的私有 IP 地址在虚拟子网上将是唯一的。

为了在 IPsec 隧道模式的 DHCPv4 配置中使用,必须包括客户端标识符选项,在虚拟子网中必须是唯一的,并且应该在重新启动后保持不变。可能性包括:

A. htype/chaddr 组合。如果按上述方式分配,则这在虚拟子网上将是唯一的。它将在 LAN 接口的重新启动后保持不变。如果使用非 LAN 接口,如果分配的 IP 地址发生更改,则在重新启动后它可能不会持久。

B. 机器 FQDN 与接口编号连接。假设机器 FQDN 不与另一台机器的 FQDN 冲突,这在虚拟子网中将是唯一的,并且在重新启动后保持不变。

C. 用户 NAI 与接口编号连接。假设用户仅在一个位置连接到 VPN,这在子网上将是唯一的,并且在重新启动后保持不变。

为了将 DHCPDISCOVER 数据包从 Intranet 接口下发到安全网关,在 Internet 接口和安全网关之间建立了 IKE Phase 1 SA。然后建立阶段 2(快速模式)DHCP SA 隧道模式 SA。DHCP SA 的密钥生存期应该在几分钟的数量级,因为它只是暂时的。远程主机应该在快速模式交换中使用 0.0.0.0/UDP/端口 68 的 IDci 负载。安全网关将使用其自己的 Internet 地址/UDP/端口 67 的 IDcr 负载。DHCP SA 建立为隧道模式 SA,过滤器设置如下:

从远程主机到安全网关:Any to Any,目的地:UDP 端口 67从安全网关到远程主机:Any to Any,目的地:UDP 端口 68请注意,这些过滤器不仅适用于没有配置的客户端,而且适用于先前已获得配置租约并正在尝试续订的客户端。在后一种情况下,DHCP SA 最初将用于发送 DHCPREQUEST 而不是 DHCPDISCOVER 消息。然后使用隧道模式 SA 将初始 DHCPv4 消息(DHCPDISCOVER 或 DHCPREQUEST)通过隧道传送到安全网关。请注意,由于 DHCPDISCOVER 数据包具有广播地址目标,因此远程主机和安全网关上的 IPsec 实现必须能够处理此问题。

4.2、 DHCP 中继行为

虽然其他配置是可能的,但通常 DHCPv4 服务器不会与安全网关驻留在同一台机器上,安全网关将充当 DHCPv4 中继,将其地址插入“giaddr”字段中。在这种情况下,安全网关在客户端和 DHCPv4 服务器之间中继数据包,但不代表客户端请求或更新地址。当充当 DHCP 中继时,安全网关可以实现 DHCP 中继负载平衡,如 [19] 中所述。

由于 DHCP 中继是无状态的,安全网关应该在转发到一个或多个 DHCP 服务器之前在 DHCP 消息中插入适当的信息。这使安全网关能够将相应的 DHCPOFFER 消息路由回正确的 IPsec 隧道上的远程主机,而不必保留从 DISCOVER 收集的状态,例如 xid、chaddr 和隧道的表。

如果安全网关为每个 IPsec 隧道维护一个单独的子网,那么这可以通过在 giaddr 字段中插入适当的接口地址来实现。或者,安全网关可以利用 DHCP 中继代理信息选项 [17]。在这种情况下,隧道的虚拟端口号被插入到代理电路 ID 子选项(子选项代码 1)中。

为了了解客户端的内部 IP 地址以便将数据包路由到它,安全网关通常会监听 DHCPACK 中的 yiaddr 字段,并作为 DHCP 中继处理的一部分探测相应的路由。

如果为每个隧道分配单独的子网不可行,并且 DHCP 服务器不支持中继代理信息选项,则无状态中继代理行为将无法实现。在这种情况下,实现可以设计 xid、chaddr 和隧道之间的映射,以便将 DHCP 服务器响应路由到适当的隧道端点。请注意,这在结果状态会很大的大型 VPN 服务器中尤其不可取。

4.3、 DHCPREQUEST 消息处理

Internet接口收到DHCPOFFER报文后,经过IPsec处理后转发给内网接口。Intranet 接口然后通过创建 DHCPREQUEST 消息进行响应,该消息使用 DHCP SA 通过隧道传输到安全网关。

4.4、 DHCPACK报文处理

DHCPv4 服务器然后回复 DHCPACK 或 DHCPNAK 消息,该消息由安全网关向下转发到 DHCP SA。远程主机 Internet 接口在 IPsec 处理后将 DHCPACK 或 DHCPNAK 消息转发到 Intranet 接口。

处理完DHCPACK后,内网接口就配置好了,外网接口就可以建立新的IPsec隧道模式SA到安全网关了。远程主机现在可以删除 DHCP 隧道模式 SA。客户端以后发送的所有 DHCP 消息,包括 DHCPREQUEST、DHCPINFORM、DHCPDECLINE 和 DHCPRELEASE 消息,都将使用新建立的 VPN SA。类似地,DHCPv4服务器随后发送的所有DHCP消息都会由安全网关(充当DHCP中继)使用IPsec隧道模式SA进行转发,包括DHCPOFFER、DHCPACK和DHCPNAK消息。

应该可以将远程主机配置为通过隧道转发所有 Internet 绑定的流量。虽然这增加了远程主机和 Internet 之间往返的开销,但它提供了一些额外的安全性作为回报,因为公司安全网关现在可以过滤流量,就像远程主机物理位于公司网络上一样.

4.5、 配置策略

可以使用多种机制来为远程主机分配不同的配置。例如,客户端可以使用用户类选项 [16] 来请求各种配置文件。DHCPv4 服务器还可以考虑许多其他变量,包括 htype/chaddr;主机名选项;客户端标识符选项;DHCP 中继代理信息选项 [17];供应商类标识符选项;供应商特定信息选项;或子网选择选项 [15]。

[18] 中描述的客户端条件配置可用于解决许多问题,包括基于客户端操作系统的选项分配;将客户端组分配到随后用于确定服务质量的地址范围;为远程主机分配特殊地址范围;为客户端分配静态路由 [20] 等。正如在安全考虑中所指出的,这些机制虽然有用,但并没有增强安全性,因为它们可以被远程主机选择自己的 IP 地址所规避。

5、 安全考虑

该协议使用 IPsec 进行保护,因此在远程主机和安全网关之间流动的 DHCP 数据包经过身份认证并受到完整性保护。

但是,由于安全网关充当 DHCP 中继,因此除非使用 DHCP 身份认证,否则在安全网关和 DHCP 服务器之间的路径部分中不会为 DHCP 数据包提供保护。

请注意,经过身份认证的 DHCP 不能用作访问控制机制。这是因为远程主机总是可以设置自己的 IP 地址,从而逃避基于 DHCP 身份认证的任何安全措施。

因此,分配的地址不得依赖于安全性。相反,安全网关可以使用其他技术,例如在每个隧道的基础上实例化数据包过滤器或快速模式选择器。

如 [17] 中所述,从不受信任的来源转发 DHCP 客户端请求时会出现许多问题。这些包括 DHCP 耗尽攻击和客户端标识符选项或客户端 MAC 地址的欺骗。这些问题可以通过使用 DHCP 中继信息选项 [17] 部分解决。

6、 IANA 考虑

本文档要求分配一个 htype 值用于 IPsec 隧道模式,如第 4.1 节所述。请注意,DHCP 依赖 arp-parameters 注册表来定义 ARP 中的 hrd 参数和 BOOTP/DHCP 中的 htype 参数。因此,需要在 arp-parameters 注册表中进行分配,即使 IPsec-DHCP 永远不会将该参数用于 ARP 目的,因为概念上 BOOTP/DHCP 和 ARP 共享 arp-parameters 注册表。

本文档不会为 IANA 管理创建任何新的号码空间。


免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

标题:IPsec 隧道模式的动态主机配置协议 (DHCPv4) 配置

TAG标签:IPSec

地址:https://www.kd010.com/hyzs/414.html

上一篇:开封联通案例分享:使用VPN-Target过滤功能导致设备收不到VPNv4路由故障分析
下一篇:Vecloud SD-WAN解决方案应用场景有哪些?

Vecloud云网络解决方案

点击获取方案

返回顶部