本页内容
DHCP 选项和选择性流量处理
DHCP 选项和选择性流量处理概述
订阅者管理允许您根据流量中包含的 DHCP 和 DHCPv6 选项字符串中提供的信息提供选择性流量处理。从 Junos OS 15.1 版开始,您可以选择性流量处理功能使用扩展的 DHCP 和 DHCPv6 中继代理管理多供应商网络。您可以启用扩展 DHCP 和 DHCPv6 中继代理,将 DHCP 客户端数据包中接收的选项特定字符串与在路由器上配置的 ASCII 或十六进制字符串列表进行比较。选择性流量处理功能允许您根据 DHCP 客户端数据包中的选项识别流量,过滤流量,并指定 DHCP 中继对流量采取的操作。您可以使用 DHCP 选项 60 和 77 以及 DHCPv6 选项 15 和 16 来识别客户端流量。您可以配置路由器对选定流量采取的操作,例如将流量转发到特定的 DHCP 服务器,或者丢弃该流量。DHCP 中继代理选择性流量处理还允许您指定默认操作,当没有其他操作满足配置时,路由器会使用该操作。
在 DHCP 客户端访问由多个供应商和多个 DHCP 服务器提供的服务的网络环境中,使用选择性流量处理很有帮助。例如,DHCP 客户端可能从一家供应商提供的特定 DHCP 服务器获得互联网访问权限,并从另一家供应商拥有的不同 DHCP 服务器访问 IPTV 服务。通过使用 DHCP 客户端数据包中的特定于选项的信息,DHCP 中继代理可以区分两个服务器,并为订阅者采取正确的操作。
您还可以使用选择性处理来区分同一接口上不同 DHCP 订阅者的服务。例如,一个家庭可能包含两个从服务提供商 DHCP 服务器获取 IP 地址的 IP 设备。服务提供商可能希望将其中一台设备绑定到传入接口,并将该地址与其他家庭共享。同时,服务提供商可能希望第二台设备拥有自己的过滤器和 CoS 功能。对于第二个设备,服务提供商可以使用选择性处理来创建动态 IP 多路复用接口。
您可以为全局或指定一组接口配置选择性处理支持。您还可以按逻辑系统和路由实例配置对扩展 DHCP 中继代理的支持。
要配置选择性处理,请指定用于识别流量的 DHCP 或 DHCPv6 选项属性、用于过滤流量的匹配标准以及要对过滤的流量执行的操作。
您可以使用以下 DHCP 选项选择性地处理客户端流量:
DHCPv4 选项 60(供应商等级标识符)
DHCPv4 option 77(用户类别标识符)
DHCPv6 选项 15(用户类选项)
DHCPv6 选项 16(供应商等级选项)
您可以配置完全匹配或部分匹配标准来过滤客户端流量,并指定 ascii
选项(定义 1 到 255 个字母数字字符的无空 ASCII 字符串)或 hexadecimal
选项(定义由 1 到 255 个十六进制字符 [0 到 9、a 到 F]的十六进制字符串)。
由于 DHCP option 77 和 DHCPv6 option 16 的格式,建议仅使用这两个选项配置十六进制匹配,而不是 ASCII 匹配。
您可以配置无限的匹配字符串。如果将字符串配置为完全匹配 (equals
) 和部分匹配 (starts-with)
标准,则完全匹配优先。完全匹配字符串或部分匹配字符串不支持通配符字符。
使用以下匹配标准过滤客户端流量:
equals
- 您指定的字符串与客户端流量中的选项字符串完全匹配。starts-with
- 您的指定字符串是客户端流量中选项字符串的子集,从最左侧的字符开始。例如,您的字符串“test”配置是客户端选项字符串中“test123”的子集,并且符合starts-with
标准。default-action
—客户端流量中的选项字符串不满足任何匹配标准,或者未配置匹配标准。注意:是
default-action
可选的。如果未满足或未配置匹配标准且未default-action
配置,DHCP 中继会以正常方式处理流量。
您可以为过滤后的客户端流量指定以下操作:
drop
-丢弃流量。forward-only
-转发流量,无需创建新的订阅者会话。注意:使用
forward-only
操作时,支持的唯一配置overrides
操作是trust-option-82
选项。DHCP 中继代理会忽略配置的所有其它overrides
选项。local-server-group
-将流量转发到提供所请求客户端服务的指定 DHCP 本地服务器组。DHCPv6 中继代理不支持此选项。relay-server-group
—将流量转发到提供所请求客户端服务的指定 DHCP 服务器组。
使用 DHCP 选项信息选择性地处理 DHCP 客户端流量
从 Junos OS 15.1 版开始,您可以将 DHCP 中继代理配置为有选择地处理客户端流量。选择性处理使用 DHCP 或 DHCPv6 选项信息来识别、过滤和处理客户端流量。要配置 DHCPv6 支持,请在层级使用过程 [edit forwarding-options dhcp-relay dhcpv6]
。
要配置 DHCP 中继代理,以使用选项信息选择性地处理 DHCP 客户端流量:
显示基于 DHCP 选项字符串的选择性处理期间丢弃或转发的 DHCP 数据包计数
要显示在选择性处理过程中丢弃或转发的 DHCP 或 DHCPv6 客户端数据包的数量,请使用以下操作命令:
示例:根据 DHCP 选项字符串配置 DHCP 中继代理选择性流量处理
此示例说明如何将 DHCP 中继代理配置为使用 DHCP 选项字符串,以有选择地识别、过滤和处理客户端流量。
要求
此示例使用以下硬件和软件组件:
MX 系列 5G 通用路由平台或 EX 系列交换机
在配置 DHCP 中继代理选择性处理支持之前,确保您:
配置 DHCP 中继代理。
请参阅 扩展 DHCP 中继代理概述。
(可选)如果要将客户端流量转发到服务器组,请配置指定的 DHCP 本地服务器组。
请参阅 对具有通用 DHCP 配置的接口进行分组。
概述
在此示例中,您将 DHCP 中继代理配置为在客户端数据包中使用 DHCP 选项字符串,以便有选择地识别、过滤和处理客户端流量。要配置选择性处理,请执行以下过程:
识别客户端流量 — 指定 DHCP 中继代理用于识别要处理的客户端流量的 DHCP 选项。您指定的选项与客户端流量中的选项匹配。
配置默认操作 — 指定默认处理操作,DHCP 中继用于不满足任何配置的匹配标准的已识别客户端流量。
创建匹配过滤器并将操作与每个过滤器关联 — 指定过滤客户端流量的匹配标准。标准可以是客户端流量中与选项字符串的完全匹配,也可以是部分匹配。将处理操作与每个匹配标准相关联。
配置
要基于 DHCP 选项信息配置 DHCP 中继代理选择性处理,请执行以下操作:
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。
set forwarding-options dhcp-relay relay-option option-number 60 set forwarding-options dhcp-relay relay-option equals ascii video-gold forward-only set forwarding-options dhcp-relay relay-option equals ascii video-bronze local-server-group servergroup-15 set forwarding-options dhcp-relay relay-option starts-with hexadecimal fffff local-server-group servergroup-east set forwarding-options dhcp-relay relay-option default-action drop
配置 DHCP 中继代理,以便根据 DHCP 选项字符串选择性地处理客户端流量
逐步过程
要配置 DHCP 中继选择性处理:
指定要配置 DHCP 中继代理支持。
[edit forwarding-options] user@host#
edit dhcp-relay
指定 DHCP 中继代理用于识别传入客户端流量的 DHCP 选项。
[edit forwarding-options dhcp-relay] user@host#
set relay-option option-number 60
配置默认操作,当传入的客户端流量不满足任何配置的匹配标准时,DHCP 中继代理将使用该操作。
[edit forwarding-options dhcp-relay] user@host#
set relay-option default-action drop
配置 DHCP 中继用于处理已识别的客户端流量的确切匹配条件和关联操作。
[edit forwarding-options dhcp-relay] user@host#
set relay-option equals ascii video-gold
forward-only配置 DHCP 中继用于处理客户端流量的第二个完全匹配条件和相关操作。
[edit forwarding-options dhcp-relay] user@host#
set relay-option equals ascii video-bronze
local-server-group servergroup-15配置 DHCP 中继用于处理客户端流量的部分匹配标准和关联操作。
[edit forwarding-options dhcp-relay] user@host#
set relay-option starts-with hexadecimal fffff local-server-group servergroup-east
结果
在配置模式下,通过在层次结构级别发出 show
语句 [edit forwarding-options]
来确认配置结果。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit forwarding-options] user@host# show dhcp-relay { relay-option { option-number 60; equals { ascii video-gold { forward-only; } } equals { ascii video-bronze { local-server-group servergroup-15; } } default-action { drop; } starts-with { hexadecimal fffff { local-server-group servergroup-east; } } } }
完成设备配置后,请从配置模式进入 commit
。
验证
要验证 DHCP 中继代理选择性流量处理的状态,请执行以下任务:
验证 DHCP 中继代理选择性流量处理的状态
目的
验证 DHCP 中继代理选择性流量处理状态。
行动
显示 DHCP 中继代理的统计信息。
user@host> show dhcp relay statistics Packets dropped: Total 30 Bad hardware address 1 Bad opcode 1 Bad options 3 Invalid server address 5 No available addresses 1 No interface match 2 No routing instance match 9 No valid local address 4 Packet too short 2 Read error 1 Send error 1 Option 60 1 Option 82 2 Messages received: BOOTREQUEST 116 DHCPDECLINE 0 DHCPDISCOVER 11 DHCPINFORM 0 DHCPRELEASE 0 DHCPREQUEST 105 Messages sent: BOOTREPLY 0 DHCPOFFER 2 DHCPACK 1 DHCPNAK 0 DHCPFORCERENEW 0 Packets forwarded: Total 4 BOOTREQUEST 2 BOOTREPLY 2
意义
Packets forwarded
命令输出中的show dhcp relay statistics
字段显示由于选择性流量处理配置而转发的客户端数据包数。在此示例中,输出指示 DHCP 中继代理转发的数据包总数,以及转发的数据包数和BOOTREPLY
数据包的BOOTREQUEST
细分。
示例:配置 DHCP 和 DHCPv6 中继代理组级别选择性流量处理
此示例说明如何配置基于指定接口组的支持来支持 DHCPv6 中继代理选择性处理,从而使用 DHCP 选项字符串来识别、过滤和处理客户端流量。
此示例介绍了 DHCPv6 中继代理配置 — 您可以在层次结构级别为 DHCP 中继代理组 [edit forwarding-options dhcp-relay]
配置相关过程。DHCPv6 选择性处理支持 DHCPv6 选项 15 和 16。DHCP 选择性处理支持 option 60(仅限 MX 系列路由器)和 option 77。
要求
此示例使用以下硬件和软件组件:
MX 系列 5G 通用路由平台或 PTX 系列数据包传输路由器
在配置 DHCPv6 中继代理选择性处理支持之前,确保您:
配置 DHCPv6 中继代理。
请参阅 扩展 DHCP 中继代理概述 和 DHCPv6 中继代理概述。
配置用于配置的 DHCPv6 命名接口组。
请参阅 对具有通用 DHCP 配置的接口进行分组。
配置用于处理操作的 DHCPv6 服务器组。
请参阅 对具有通用 DHCP 配置的接口进行分组。
概述
在此示例中,您将配置组级 DHCPv6 中继代理名为接口支持,以便基于 DHCPv6 选项字符串选择性处理客户端数据包。要配置选择性处理,请执行以下过程:
识别客户端流量 — 指定 DHCPv6 中继代理用于识别要处理的客户端流量的 DHCPv6 选项。您指定的 DHCPv6 选项与客户端流量中的选项匹配。
配置默认操作 — 指定默认处理操作,DHCPv6 中继用于不满足任何配置的匹配标准的已识别客户端流量。
创建匹配过滤器并将操作与每个过滤器关联 — 指定过滤客户端流量的匹配标准。标准可以是客户端流量中与 DHCPv6 选项字符串的完全匹配,也可以是部分匹配。将处理操作与每个匹配标准相关联。
配置
要基于 DHCPv6 选项信息配置组级 DHCPv6 中继代理选择性处理,请执行以下操作:
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。快速配置假定之前已配置指定接口组和 DHCP 服务器组。
set forwarding-options dhcp-relay dhcpv6 group groupv6-east-27 set forwarding-options dhcp-relay dhcpv6 relay-option option-number 15 set forwarding-options dhcp-relay dhcpv6 relay-option equals ascii triple-gold relay-server-group relayserver-triple-8 set forwarding-options dhcp-relay dhcpv6 relay-option equals ascii triple-silver relay-server-group relayserver-triple-23 set forwarding-options dhcp-relay dhcpv6 relay-option starts-with ascii single relay-server-group relayserver-1-aa set forwarding-options dhcp-relay dhcpv6 relay-option default-action drop
配置名为接口组的 DHCPv6 中继代理,以便根据 DHCPv6 选项字符串选择性地处理客户端流量
逐步过程
此过程假定您之前已创建命名接口组和 DHCPv6 服务器组。要配置 DHCPv6 中继组级选择性处理:
指定要配置 DHCPv6 中继代理支持。
[edit forwarding-options] user@host#
edit dhcp-relay dhcpv6
指定要配置组级 DHCPv6 中继代理支持。
[edit forwarding-options dhcp-relay dhcpv6] user@host#
edit group groupv6-east-27
指定 DHCPv6 中继代理用于识别传入客户端流量的 DHCPv6 选项编号。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option option-number 15
配置默认操作,当传入的客户端流量不满足任何配置的匹配标准时,DHCPv6 中继代理将使用该操作。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option default-action relay-server-group relayserver-def-4
配置 DHCPv6 中继处理识别的客户端流量时使用的确切匹配条件和关联操作。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option equals ascii triple-gold relay-server-group relayserver-triple-8
配置 DHCPv6 中继处理客户端流量时使用的第二个确切匹配条件和相关操作。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option equals ascii triple-silver relay-server-group relayserver-triple-23
配置 DHCPv6 中继处理客户端流量时使用的部分匹配标准和关联操作。
[edit forwarding-options dhcp-relay dhcpv6 group groupv6-east-27] user@host#
set relay-option starts-with ascii single relay-server-group relayserver-1-aa
结果
在配置模式下,通过在层次结构级别发出 show
语句 [edit forwarding-options dhcp]
来确认配置结果。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
dhcpv6 { group test-1 { relay-option { option-number 15; equals { ascii triple-gold { relay-server-group relayserver-triple-8; } ascii triple-silver { relay-server-group relayserver-triple-23; } } default-action { relay-server-group relayserver-def-4; } starts-with { ascii single { relay-server-group relayserver-1-aa; } } } interface ge-1/0/0.0 upto ge-1/1/0.0; } server-group { relayserver-1-aa; relayserver-triple-8; relayserver-triple-23; relayserver-def-4; } }
完成设备配置后,请从配置模式进入 commit
。
验证
要验证 DHCPv6 中继代理选择性流量处理的状态,请执行以下任务:
验证 DHCPv6 中继代理选择性流量处理的状态
目的
验证 DHCPv6 中继代理选择性流量处理状态。
行动
显示 DHCPv6 中继代理的统计信息。
user@host> show dhcpv6 relay statistics DHCPv6 Packets dropped: Total 0 Messages received: DHCPV6_DECLINE 0 DHCPV6_SOLICIT 10 DHCPV6_INFORMATION_REQUEST 0 DHCPV6_RELEASE 0 DHCPV6_REQUEST 10 DHCPV6_CONFIRM 0 DHCPV6_RENEW 0 DHCPV6_REBIND 0 DHCPV6_RELAY_REPL 0 Messages sent: DHCPV6_ADVERTISE 0 DHCPV6_REPLY 0 DHCPV6_RECONFIGURE 0 DHCPV6_RELAY_FORW 0 Packets forwarded: Total 4 FWD REQUEST 2 FWD REPLY 2
意义
Packets forwarded
命令输出中的show dhcpv6 relay statistics
字段显示由于选择性流量处理配置而转发的客户端数据包数。在此示例中,输出表示 DHCPv6 中继代理转发的数据包总数,以及转发的数据包数和FWD REPLY
数据包数FWD REQUEST
的细分。
不同 VRF 中的 DHCP 客户端和 DHCP 服务器之间的 DHCP 消息交换
在某些服务提供商网络中,DHCP 服务器所在的服务网络与实际订阅者网络隔离。服务和订阅者的这种分离有时会带来潜在的安全问题,例如路由泄漏。
从 Junos OS 14.2 版开始,当在不同的虚拟路由和转发实例 (VRF) 之间交换 DHCP 消息时,您可以使用 DHCP 中继代理提供额外的安全性。DHCP 中继代理可以确保客户端 VRF 和 DHCP 服务器 VRF 之间没有直接路由,并且仅通过两个 VRF 中继可接受的 DHCP 数据包。订阅者管理支持 DHCP 和 DHCPv6 数据包的跨 VRF 消息交换。
要在不同的 VRF 之间交换 DHCP 消息,必须同时启用 DHCP 中继代理的服务器端和客户端,以便根据数据包中的 DHCP 选项信息识别和转发可接受的流量。消息交换使用以下 DHCP 选项来识别要中继的流量。
DHCPv4 数据包的代理电路 ID(DHCP option 82 子选项 1)
DHCPv6 数据包的中继代理接口 ID(DHCPv6 选项 18)
使用跨 VRF 消息交换的 DHCP 数据包的统计信息会计入客户端 VRF 中。
以下列表介绍了 DHCP 中继代理如何在不同 VRF 中的 DHCP 客户端和 DHCP 服务器之间交换消息:
从 DHCP 客户端到 DHCP 服务器的数据包 — DHCP 中继代理从客户端 VRF 中的客户端接收 DHCP 数据包,然后将相应的 DHCP option 82 子选项 1 或 DHCPv6 option 18 属性插入数据包中。然后,中继代理将数据包转发到服务器 VRF 中的 DHCP 服务器。
从 DHCP 服务器到 DHCP 客户端的数据包 — DHCP 中继代理从服务器 VRF 中的 DHCP 服务器接收 DHCP 回复消息。中继代理从 DHCP 服务器 VRF 中的数据包中的 DHCP option 82 子选项 1 或 DHCPv6 option 18 属性派生客户端的接口,包括 VRF。然后,中继代理将回复消息转发到客户端 VRF 中的 DHCP 客户端。
配置不同虚拟路由实例中的 DHCP 服务器和客户端之间的 DHCP 消息交换
从 Junos OS 14.2 版开始,您可以配置 DHCP 中继代理以在 DHCP 服务器与位于不同虚拟路由和转发实例 (VRF) 中的 DHCP 客户端之间交换 DHCP 消息时提供额外的安全性。
您可以配置 DHCP 中继代理,以在 DHCP 服务器和位于不同虚拟路由实例中的 DHCP 客户端之间交换 DHCP 消息时提供额外的安全性。当 DHCP 服务器驻留在必须与客户端网络隔离的网络中时,此配置适用于 DHCP 服务器和 DHCP 客户端之间的 无状态 DHCP 中继连接。
无状态 DHCP 中继代理不会维护有关 DHCP 客户端的动态状态信息,也不会为在客户端和服务器路由实例之间流动的流量维护静态路由。
要启用两个 VRF 之间的 DHCP 消息交换,请配置 DHCP 中继的每一端,以便根据数据包中的 DHCP 选项信息识别和转发可接受的流量。可接受流量由 DHCPv4 数据包的代理电路 ID(DHCP option 82 子选项 1)或 DHCPv6 数据包的中继代理接口 ID (DHCPv6 option 18) 标识。
以下列表概述了在不同 VRF 之间创建 DHCP 消息交换所需的任务:
客户端支持 — 配置 DHCP 中继代理
forward-only
语句以指定 DHCP 服务器的 VRF 位置,DHCP 中继代理使用适当的 DHCP 选项信息转发客户端数据包。该forward-only
语句可确保 DHCP 中继代理不会创建新的会话或执行任何其他订阅者管理操作(例如,创建动态接口或维护租赁)。您可以选择为服务器 VRF 配置特定的逻辑系统和路由实例。如果未指定逻辑系统或路由实例,则 DHCP 将使用添加配置的本地逻辑系统和路由实例。
服务器端支持 — 配置 DHCP 中继代理
forward-only-replies
语句,以便 DHCP 中继代理转发具有相应 DHCP 选项信息的答复数据包。此语句还可确保 DHCP 中继代理不会创建新的会话或执行任何其他订阅者管理操作。注意:如果 DHCP 客户端和 DHCP 服务器位于同一逻辑系统/路由实例中,则无需配置
forward-only-replies
语句。DHCP 本地服务器支持 — 将 DHCP 本地服务器配置为支持 DHCP NAK 中的 option 82 信息并强制重新发送消息。默认情况下,这两种消息类型不支持 option 82。
其他支持 — 确保配置了以下所需支持:
必须在 DHCP 服务器 VRF 中面向服务器的接口上启用代理 ARP 支持,以便 DHCP 中继代理可以接收并响应对客户端的 ARP 请求以及 DHCP 服务器 VRF 中面向客户端的接口。
路由必须可用,才能从服务器 VRF 中的 DHCP 服务器接收 DHCP 数据包,以便客户端 VRF 中可访问的客户端。
以下过程介绍了在不同 VRF 中的 DHCP 服务器和客户端之间创建 DHCP 消息交换的配置任务。
客户端支持
要配置 DHCP 中继代理的客户端支持:
对于本地 DHCPv4 客户端,DHCP 中继代理会添加代理电路 ID 选项。但是,如果数据包中已存在代理电路 ID 选项,则必须确保 DHCP 服务器支持选项 82-供应商特定信息子选项(子选项 9)。
如果在层级配置了语句forward-only
,则中继选项操作优先于 DHCP 跨 VRF 消息交换语句的配置forward-only
。[edit forwarding-options dhcp-relay relay-option]
服务器端支持
请在 DHCP 中继的服务器端配置跨 VRF 消息交换支持:
如果 DHCP 客户端和 DHCP 服务器位于同一逻辑系统/路由实例中,则无需配置 forward-only-replies
语句。
DHCP 本地服务器支持
将 DHCP 本地服务器配置为支持 NAK 中的 option 82 信息并强制重新发布消息;跨 VRF 消息交换功能使用 option 82 或 DHCPv6 option 18 信息来确定客户端 VRF:
DHCP 基于远程 ID 发起的服务更改
订阅者管理允许您通过使用客户端的远程 ID(代理远程 ID)来更新 DHCP 客户端的当前服务。远程 ID 可以在 option 82 中,在 DHCPv4 客户端的子选项 2 中,对于 DHCPv4 客户端,则可以在选项 37 中。
初始建立 DHCP 客户端后,DHCP 会保留 DHCP 客户端数据库中客户端的传入远程 ID。当收到该客户端的重新绑定或续订消息时,DHCP 会将客户端的初始远程 ID 与 DHCP 续订或重新绑定消息中的远程 ID 进行比较。如果两个远程 ID 不匹配,DHCP 本地服务器会断开现有绑定并发送 NAK 消息(或 DHCPv6 的逻辑 NAK),这会使客户端启动重新连接序列。当客户端重新连接时,DHCP 本地服务器将激活新服务,该服务将编码在新代理远程 ID 字符串中。
您可以将路由器配置为支持全局或特定组的远程 ID 服务更改功能,还可以在 DHCP 本地服务器和 DHCP 中继代理上配置支持。
在双堆栈环境中,DHCP 发起的服务更改功能要求客户端的 DHCPv4 和 DHCPv6 会话位于同一 VLAN(1:1 映射),并且两个会话的代理远程 ID 字符串相同。双堆栈支持还要求将相同的动态客户端配置文件应用于 DHCPv4 和 DHCPv6 网络,以确保两个网络之间的远程 ID 一致性。当 DHCP 在双堆栈的一个会话中检测到远程 ID 不匹配时,DHCP 会关闭该会话。然后,将传入的远程 ID 与双堆栈的其他会话进行比较,如果不匹配,则该另一个会话将正常撕毁。
在平滑拆开过程中,如果另一个会话当前处于绑定状态,则该会话将转换为延迟删除状态。延迟删除状态允许检测到更改的会话立即使用新服务计划重新建立,同时使路由器能够通过发送 NAK 消息来响应后续续订和重新绑定的消息,从而正常关闭另一个会话。
作为 DHCP 发起的服务更改功能的一部分,AAA 可以设置会话的客户端配置文件。AAA 从远程 ID 获取客户端配置文件,并将该配置文件写入会话数据库中。AAA 写入数据库中的客户端配置文件始终优先于任何本地 DHCP 配置。
代理远程 ID 的更改也可以在重新身份验证期间发起服务更改。您不能在remote-id-mismatch
全局级别[edit system services dhcp-local-server]
同时配置语句和reauthenticate
语句。但是,DHCP 优先级规则允许您在两种语句处于不同级别时配置这两种语句。例如,您可以在全局级别配置 remote-id-mismatch
DHCPv6,在[edit system services dhcp-local-server dhcpv6]
层次结构级别上为 DHCPv6 配置,或者在层次结构级别上为特定组[edit system services dhcp-local-server group name]
配置reauthenticate
,等等。
DHCP 基于远程 ID 发起的服务更改的优势
当客户端远程 ID 发生变化且与以前存储的代理远程 ID 不匹配时,当 DHCP 服务器或中继代理基于远程 ID 更新客户端服务。在双堆栈环境中,DHCP 服务器或中继代理可帮助确保双堆栈会话之间的远程 ID 一致性。
基于远程 ID 配置 DHCP 启动的服务更改
本主题介绍如何配置对 DHCP 本地服务器和 DHCP 中继代理上 DHCP 发起的服务更改的支持。
配置 DHCP 本地服务器
您可以为全局 DHCP 本地服务器和 DHCPv6 本地服务器或指定接口组配置 DHCP 发起的服务更改支持。
要配置 DHCP 本地服务器以支持指定组的 DHCP 发起的服务更改:
配置 DHCP 中继代理
您可以为 DHCP 中继代理和 DHCPv6 中继代理配置全局 DHCP 发起的服务更改支持,或者为一组指定接口配置支持。
以下示例显示了将 DHCPv6 中继代理配置为支持 DHCP 发起的全局服务更改的步骤。
开始配置 DHCP 发起的服务更改功能之前,请确保将 DHCPv6 中继代理配置为覆盖默认行为,并在发生远程 ID 不匹配时向 DHCP 服务器发送发布消息。此配置是必需的,因为中继代理不能直接撕毁客户端绑定;释放数据包会向 DHCP 服务器发出信号,以解除原始绑定。
[edit forwarding-options dhcp-relay dhcpv6] user@host# set dhcp-relay overrides send-release-on-delete
指定要配置 DHCP 中继代理。
[edit forwarding-options] user@host# edit dhcp-relay
指定要配置 DHCPv6 中继代理。
[edit forwarding-options dhcp-relay] user@host# edit dhcpv6
指定 DHCPv6 中继代理与初始和新的客户端远程 IP 匹配,然后在发生不匹配时执行
disconnect
操作。[edit system services dhcp-local-server group northwest-321] user@host# set remote-id-mismatch disconnect
发生不匹配时,DHCPv6 中继代理会将发布消息发送至 DHCPv6 本地服务器,并将逻辑 NAK 消息(生存期为 0 的回复数据包)发送至客户端。然后,服务器会拆除现有绑定,然后客户端启动重新连接序列。客户端重新连接时,将激活新服务,该服务编码在代理远程 ID 字符串中。
对于具有未知 DHCP 服务器地址的中继流量的 DHCPv4 和 DHCPv6 仅转发操作
DHCP 中继代理条目可以在 DHCPv4 或 DHCPv6 服务器上创建,可用于身份验证、授权、计费、应用过滤、确保客户端的服务质量 (QoS),以及处理数据包中指定的选项。创建中继代理或客户端条目涉及 jdhcpd 进程内存资源、会话数据库资源、身份验证过程、计费、动态配置文件实例化、动态接口创建、防火墙、服务等级 (CoS) 关联等的参与。客户网络可以包含非客户控制的绑定,他们可能不希望这些中继代理输入功能。当客户的网络有此类流量时,创建中继代理条目(与客户端条目创建相关)会不必要地利用资源,还可能导致配置文件关联错误,因为在当前的网络场景中,从特定接口接收的所有流量将被转发,而无需处理任何目标地址。
从 Junos OS 17.4R1 版开始,forward-only
可以在宽带网络网关 (BNG) 设备上为非客户流量和未知 DHCP 服务器地址启用配置。语句的配置forward-only
以及适用于 DHCPv4 和 option-2
DHCPv6 的新 DHCP 选项option-54
可避免在 BNG 上创建 DHCP 中继代理条目,并确保流量转发到指定的目标地址。
借助这些配置,管理员可以确定客户端绑定到哪些服务器;哪些客户端需要创建中继客户端条目并应用动态配置文件和策略,等等;并为其(非客户) forward-only
启用了配置。
引入这两个新的配置语句options-54
和 options-2
,用于处理目标地址。
处理 DHCPv4 和 DHCPv6 目标地址
管理员可以配置该 forward-only
语句,以避免创建非客户客户端条目。jdhcpd 进程会将传入数据包中的服务器标识符(option-54
DHCPv4 和 option-2
DHCPv6)与已配置的服务器地址进行比较。如果服务器标识符和配置的服务器地址匹配,则操作是仅转发,而不创建客户端条目。
在非交接中继上 server-match
,语句的配置意味着为处理语句的 delay-authentication
客户端 server-match
隐式启用语句。您还可以选择与关联处理一起配置选项 60 和 77(适用于 DHCPv4)或选项 15 和 16(适用于 DHCPv6)。这些选项的配置还包括处理顺序的规范。如果未配置这些选项,则 DHCPv4 的默认顺序为 60、77,DHCPv4 的默认顺序为 15、16。
RFC 3315、IPv6 option-16
的动态主机配置协议 (DHCPv6) 中定义的 DHCPv6 数据由 4 字节企业编号和可变长度供应商级数据组成。企业编号是供应商在 IANA 中注册的编号。因此,预计将 ASCII 匹配与 option-16
中继选项匹配一起配置可能不起作用,因为企业编号必须与可打印 ASCII 字符的值一致。
DHCPv4 option-77
语句也有类似的限制, option-77
因为可能会对数据进行细分,以包括子选项和子包。因此,使用 option-77
中继选项匹配配置 ASCII 匹配可能无法工作。
在非主动中继上,如果在 重新绑定 阶段收到请求数据包,并且不存在相应的中继条目,则需要首先配置语句 bind-on-request
,然后创建中继条目并转发数据包。收到确认后,jdhcpd 进程会验证配置中的 server-match
源地址(是否对 DHCPv4 使用选项 54,对于 DHCPv6,选项 2)。如果验证结果为无状态条目,则中继条目将被删除。
管理员可以指定 DHCP 唯一标识符 (DUID),带或不带服务器地址。jdhcpd 进程首先处理地址语句,然后处理 DUID 语句。如果在地址语句和 DUID 语句中指定了相同的服务器地址,则管理员负责为地址和 DUID 语句指定相同的操作。
在无源中继和非被动中继上,如果收到的数据包包含中继转发标头,且目标地址为组播或链路本地地址,则转发数据包无需任何进一步处理。
对于 DHCPv4 和 DHCPv6 订阅者, relay-option
和 server-match
语句位于同一层次结构中,并且具有相同的优先级。
处理顺序和操作
中继选项和服务器匹配处理是相互排斥的。尽管它们处于相同的层级和优先级,但为了实施,您先处理中继选项,再处理服务器匹配。
以下是 DHCPv4 中继选项处理操作:
drop
- 存在匹配项时丢弃。forward-only
- 在没有客户端服务的情况下向前,当有匹配项时。local-server-group
-有匹配项时 DHCP 本地服务器组的名称。relay-server-group
-有匹配项时 DHCP 中继服务器组的名称。
以下是 DHCPv6 中继选项处理操作:
drop
- 存在匹配项时丢弃。forward-only
- 在没有客户端服务的情况下向前,当有匹配项时。relay-server-group
-有匹配项时 DHCP 中继服务器组的名称。
IPv6 地址的 DHCPv6 服务器匹配仅在被动中继中提供。
处理默认和可配置的选项顺序,如图 1 所示。如果需要反转选项顺序(DHCPv4 或 DHCPv6),请在 [edit forwarding-options dhcp-relay relay-option
] 层次结构级别配置 option-order 77,66
DHCPv4 语句或 option-order 16,15
DHCPv6 语句。
DHCP 中继仅转发操作的优势
减少非客户控制绑定的资源消耗,这些绑定不需要在创建客户端条目时创建的中继代理条目。