使用 DHCP Option 82 信息
使用 DHCP 中继代理 Option 82 信息
通过订阅者管理,您可以将 DHCP 中继代理配置为在中继代理从客户端接收并转发到 DHCP 服务器的 DHCP 数据包中包含其他选项 82 信息。DHCP 服务器使用附加信息来确定要分配给客户端的 IP 地址。服务器还可能将这些信息用于其他目的,例如,确定要向客户端授予哪些服务,或提供额外的安全性来抵御地址欺骗等威胁。DHCP 服务器将其回复发送回 DHCP 中继代理,代理从消息中移除 option 82 信息,并将数据包转发给客户端。
要配置对 DHCP 中继代理信息选项 82 的支持,请使用该 relay-option-82 语句。您可以将 DHCP 中继代理配置为在中继代理发送到 DHCP 服务器的数据包中包含以下子选项:
代理电路 ID(子选项 1)— 一个 ASCII 字符串,用于标识接收客户端 DHCP 数据包的接口。
注意:如果配置了,但未显式配置(即 | |
server-id-override)下relay-option-82的任何属性,则relay-option-82默认行为是电路 ID(即子选项 1)始终包含在 option-82 值remote-id中。circuit-id无论是否配置了下的relay-option-82属性,都是vendor-specific如此。代理远程 ID(子选项 2) — 由 DHCP 中继代理分配的 ASCII 字符串,用于安全识别客户端。
您可以全局配置 option 82 支持,也可以为指定的接口组配置 option 82 支持。
要恢复默认行为,其中选项 82 信息不会插入 DHCP 数据包,请使用该 delete relay-option-82 语句。
DHCPv6 中继代理可为 DHCPv6 客户端提供类似的代理电路 ID 和代理远程 ID 支持。对于 DHCPv6,订阅者管理使用 DHCPv6 选项 18 将电路 ID 包含在中继代理发送到 DHCPv6 服务器的数据包中,并使用选项 37 将远程 ID 包含在数据包中。请参阅 DHCPv6 中继代理选项。
以下部分介绍了可以配置的 option 82作:
配置 Option 82 信息
您可以使用该 relay-option-82 语句配置 DHCP 中继代理,以便在中继代理从客户端接收并转发到 DHCP 服务器的 DHCP 数据包中插入选项 82 信息。配置 option 82 时,可以包含其中一个子选项语句来指定要包含在 DHCP 数据包中的信息类型。如果配置 option 82 时不包含其中一个 suboption 语句,则默认情况下将包含代理电路 ID 选项。使用该 circuit-id 语句在数据包中包含代理电路 ID(子选项 1),或 remote-id 使用该语句包含代理远程 ID(子选项 2)。
您可以选择性地将 DHCP 中继代理配置为将前缀或接口描述作为子选项信息的一部分。如果指定 circuit-id or remote-id 语句而不包含任何可选prefix的 、 、 include-irb-and-l2use-vlan-iduse-interface-description或 no-vlan-interface-name 语句,则快速以太网 (fe)、千兆以太网 (ge) 以及集成路由和桥接 (IRB) 接口的代理电路 ID 或代理远程 ID 信息的格式为以下格式之一,具体取决于您的网络配置:
对于不使用 VLAN、堆叠 VLAN (S-VLAN) 或网桥域的快速以太网或千兆以太网接口:
(fe | ge)-fpc/pic/port.subunit
注意:对于远程系统,是 subunit 必需的,用于区分接口。
对于使用 VLAN 的快速以太网或千兆以太网接口:
(fe | ge)-fpc/pic/port:vlan-id
对于使用 S-VLAN 的快速以太网或千兆以太网接口:
(fe | ge)-fpc/pic/port:svlan-id-vlan-id
集成路由和桥接 (IRB) 可同时支持在相同接口上进行第 2 层桥接和第 3 层 IP 路由。您可以通过 IRB 将本地数据包路由到另一个路由接口或另一个配置了第 3 层协议的桥接域。
接口与网桥域的关系可以是隐式的(系统根据 VLAN 标记将接口映射到网桥域),也可以是显式的(通过在网桥域定义中配置接口来映射到网桥域)。对于显式情况,标记可能与映射无关。
对于 IRB 接口,格式将显示第 2 层接口(而非 IRB 接口)以及网桥域名。对于 IRB 接口(或其他伪设备),默认格式如下:
使用桥接域但不使用 VLAN 或 S-VLAN 的 IRB 接口:
(fe | ge)-fpc/pic/port.subunit:bridge-domain-name
使用 VLAN 的 IRB 接口:
(fe | ge)-fpc/pic/port.subunit:vlan-name
要将 IRB 接口名称与第 2 层接口名称一起包含,请配置该 include-irb-and-l2 语句。格式如下:
使用桥接域但不使用 VLAN 或 S-VLAN 的 IRB 接口:
(fe | ge)-fpc/pic/port:bridge-domain-name+irb.subunit
使用 VLAN 的 IRB 接口:
(fe | ge)-fpc/pic/port:vlan-name+irb.subunit
要仅包含 IRB 接口名称,而不包含第 2 层接口和网桥域或 VLAN,请配置该 no-vlan-interface-name 语句。格式如下:
irb.subunit
要启用选项 82 信息的插入:
覆盖 Option 82 信息
您可以配置 DHCP 中继代理,以便在 DHCP 数据包中添加或删除 DHCP 中继代理信息选项(选项 82)。
此功能会导致 DHCP 中继代理执行以下作之一,具体取决于配置:
如果 DHCP 中继代理配置为向 DHCP 数据包添加 option 82 信息,则在将数据包转发到 DHCP 服务器之前,它会清除 DHCP 数据包中的现有 option 82 值并插入新值。
如果 DHCP 中继代理未配置为向 DHCP 数据包添加 option 82 信息,则会清除数据包中的现有 option 82 值,但在将数据包转发到 DHCP 服务器之前,不会添加任何新值。
要覆盖发往 DHCP 服务器的 DHCP 数据包中的默认 option 82 信息:
在 DHCP 选项中包含前缀
将 DHCP 中继代理配置为在中继代理发送到 DHCP 服务器的数据包中包含 DHCP 选项时,您可以指定中继代理为 DHCP 选项添加前缀。您可以为以下 DHCP 选项添加前缀:
DHCPv4 选项 82 代理电路 ID(子选项 1)
DHCPv4 选项 82 代理远程 ID(子选项 2)
DHCPv6 选项 18 中继代理接口 ID
DHCPv6 选项 37 中继代理远程 ID
前缀与 DHCP 选项信息之间用冒号 (:) 分隔,并且可以包含 、 logical-system-name和 routing-instance-name 选项的host-name任意组合。DHCP 中继代理获取 、 logical-system-namerouting-instance-name 和 的host-name值,如下所示:
如果包含该
host-name选项,则 DHCP 中继代理将在层次结构级别使用[edit system]该语句配置host-name的设备的主机名。如果包含该
logical-system-name选项,则 DHCP 中继代理将在层次结构级别使用[edit logical-system]该语句配置logical-system的逻辑系统名称。如果包含该
routing-instance-name选项,则 DHCP 中继代理将在层次结构级别或层[edit logical-system logical-system-name routing-instances]次结构级别使用[edit routing-instances]通过语句配置routing-instance的路由实例名称。
如果在前缀中包含主机名以及逻辑系统名称和路由实例名称中的一个或两个,则主机名后跟正斜杠 (/)。如果在前缀中同时包含逻辑系统名称和路由实例名称,则这些值将用分号 (;) 分隔。
当您为带有 S-VLAN 的快速以太网 (fe) 或千兆以太网 (ge) 接口指定语句时 prefix ,以下示例显示了几种可能的 DHCP 选项信息格式。
如果仅在快速以太网或带有 S-VLAN 的千兆以太网接口的前缀中包含主机名:
hostname:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
如果在快速以太网或带 S-VLAN 的千兆以太网接口的前缀中仅包含逻辑系统名称:
logical-system-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
如果仅在快速以太网或带 S-VLAN 的千兆以太网接口的前缀中包含路由实例名称:
routing-instance-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
如果在快速以太网或带有 S-VLAN 的千兆以太网接口的前缀中同时包含主机名和逻辑系统名称:
host-name/logical-system-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
如果在带 S-VLAN 的快速以太网或千兆以太网接口的前缀中同时包含逻辑系统名称和路由实例名称:
logical-system-name;routing-instance-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
如果在快速以太网或带有 S-VLAN 的千兆以太网接口的前缀中包含主机名、逻辑系统名称和路由实例名称:
host-name/logical-system-name;routing-instance-name:(fe | ge)-fpc/pic/port:svlan-id-vlan-id
对于使用 VLAN 但不使用 S-VLAN 的快速以太网或千兆以太网接口,只有该 vlan-id 值以 DHCP 选项格式显示。
(DHCPv4)要配置带有 option 82 信息的前缀:
(DHCPv6)要使用带有 DHCPv6 选项 18 或选项 37 信息的前缀:
指定要配置 DHCPv6 中继代理支持。
[edit forwarding-options dhcp-relay] user@host# edit dhcpv6
将 DHCPv6 中继代理配置为插入选项 18(中继代理接口 ID)和/或选项 37(中继代理远程 ID)。
要配置选项 18:
[edit forwarding-options dhcp-relay dhcpv6] user@host# edit relay-agent-interface-id
要配置选项 37:
[edit forwarding-options dhcp-relay dhcpv6] user@host# edit relay-agent-remote-id
指定前缀包含在选项信息中。在此示例中,前缀包括主机名和逻辑系统名称
要将前缀与选项 18 一起包含:
[edit forwarding-options dhcp-relay dhcpv6 relay-agent-interface-id] user@host# set prefix host-name logical-system-name
要将前缀与选项 37 一起包含:
[edit forwarding-options dhcp-relay dhcpv6 relay-agent-remote-id] user@host# set prefix host-name logical-system-name
在 DHCP 选项中包含文本说明
默认情况下,当 DHCP 中继代理在发送至 DHCP 服务器的数据包中插入选项信息时,这些选项将包括接口标识符。但是,您可以将 DHCP 中继代理配置为包含为接口配置的文本说明,而非接口标识符。您可以对逻辑接口或设备接口使用文本说明。
您可以在以下 DHCP 选项中包含文本接口说明:
DHCPv4 选项 82 代理电路 ID(子选项 1)
DHCPv4 选项 82 代理远程 ID(子选项 2)
DHCPv6 选项 18 中继代理接口 ID
DHCPv6 选项 37 中继代理远程 ID
文本说明在层次结构级别使用description[edit interfaces interface-name]语句单独配置。如果指定使用文本描述,但未为接口配置任何描述,则 DHCP 中继默认使用第 2 层接口名称。
对于集成路由和桥接 (IRB) 接口,将使用第 2 层接口的文本描述,而不是 IRB 接口的文本描述。如果未配置说明,则使用第 2 层逻辑接口名称。
对于 IRB 接口,选项 82 字段必须能够根据代理电路 ID 或代理远程 ID 唯一标识传入接口。您可以修改文本接口描述中的信息,使其与原始 IFD(不带子单元的物理接口)名称匹配,并将 option 82 字段配置为使用接口说明。
您可以将文本说明与以下 DHCP 选项一起使用:
DHCPv4 选项 82 代理电路 ID(子选项 1)
DHCPv4 选项 82 代理远程 ID(子选项 2)
DHCPv6 中继代理接口 ID(选项 18)
DHCPv6 中继代理远程 ID(选项 37)
(DHCPv4)要将 DHCP 中继选项 82 子选项配置为包含文本接口说明,请执行以下作:
(DHCPv6)要将 DHCPv6 option 18 或 option 37 配置为包含文本接口说明,请执行以下作:
指定要配置 DHCPv6 中继代理支持。
[edit forwarding-options dhcp-relay] user@host# edit dhcpv6
将 DHCPv6 中继代理配置为插入选项 18(中继代理接口 ID)和/或选项 37(中继代理远程 ID)。
要配置选项 18:
[edit forwarding-options dhcp-relay dhcpv6] user@host# edit relay-agent-interface-id
要配置选项 37:
[edit forwarding-options dhcp-relay dhcpv6] user@host# edit relay-agent-remote-id
指定文本说明包含在选项信息中。在以下示例中,选项信息包括用于设备接口的说明。
要在选项 18 中包括文本说明:
[edit forwarding-options dhcp-relay dhcpv6 relay-agent-interface-id] user@host# set use-interface-description device
要在选项 37 中包括文本说明:
[edit forwarding-options dhcp-relay dhcpv6 relay-agent-remote-id] user@host# set use-interface-description device
也可以看看
启用不可信数据包处理,以便使用 Option 82 信息
默认情况下,DHCP 中继代理会将 giaddr 为 0(零)且信息为选项 82 的客户端数据包视为数据包来自不受信任的来源,并在不进行进一步处理的情况下将其丢弃。您可以覆盖此行为,并指定 DHCP 中继代理处理 giaddr 为 0(零)且包含选项 82 信息的 DHCP 客户端数据包。
要将 DHCP 中继代理配置为信任 option 82 信息:
提取 Option 82 或 Option 37 子字符串以创建接口集
从 Junos OS 17.2R1 版开始,您可以根据 DHCP 数据包中接收的代理远程 ID (ARI) 字符串的特定分隔子字符串创建接口集。在动态配置文件中指定预定义变量 $junos-pon-id-interface-set-name,以从 DHCPv4(选项 82、子选项 2)或 DHCPv6(选项 37)中提取子字符串。此子字符串由无源光纤网络 (PON) 中的光线路终端 (OLT) 插入,对于该 PON 是唯一的。提取的子字符串用作接口集的名称。
OLT 必须使用竖线符号 (|) 作为子字符串之间的分隔符来格式化 ARI 字符串。为接口集名称提取的子字符串由 ARI 字符串中最后一个分隔符后面的字符组成。确定子字符串的格式和内容,并配置 OLT 以插入信息。通常,子字符串可能包括 CPE 光纤网络终端 (ONT) 访问的 OLT 的名称和端口。
例如,ARI 格式可能如下所示:
circuit-id|plan-name|ONT-serial-number|OLT-info
以下示例 ARI 字符串遵循该格式:
ari-1001|100M|AAAA01234|ot101.xyz101-202 ari-9505|100M|AAAA01234|ot101.xyz101-202 ari-1238|100M|AAAA01234|ot101.xyz101-111
前两个 ARI 在最后一个分隔符 ot101.xyz101-202 之后共享相同的子字符串。第三个 ARI 具有不同的最后一个子字符串 ot101.xyz101-111。预定义变量提取这两个子字符串。将创建两个接口集,分别命名为 ot101.xyz101-202 和 ot101.xyz101-111。
ot101.xyz101-202 标识的两个客户电路将聚合到该接口集中。ot101.xyz101-111 标识的单个电路与其他电路组相关联。随后可以使用接口集将 CoS 和服务应用于其关联的用户电路。
开始之前:
将 OLT 配置为以所需格式提供代理远程 ID 字符串。
配置 DHCPv4 或 DHCPv6 中继代理以插入从 OLT 收到的代理远程 ID,以便转发到 DHCP 本地服务器。
创建动态配置文件。
此过程仅显示指定预定义变量所需的配置。
您可以使用 show subscribers extensive 命令显示接口集名称和完整的 ARI 字符串。
show subscribers extensive(无源光纤网络电路接口集)
user@host> show subscribers client-type dhcp extensive Type: DHCP ... Interface Set: otl01.xyz101-202 ... Agent Remote ID: ABCD01234|100M|AAAA01234|otl01.xyz101-202 ...
也可以看看
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。