DHCP 中继代理信息选项(选项 82)
通过 DHCP 中继代理信息选项(选项 82),您可以在 DHCP 中继转发到 DHCP 服务器的客户端发起的 DHCP 数据包中包含其他有用信息。您可以全局配置 option 82 支持,也可以为指定的接口组配置 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
也可以看看
DHCP 中继代理如何使用 Option 82 进行自动注销
表 1 显示了 DHCP 中继代理如何确定用于客户端自动注销功能的 option 82 值。根据配置设置,DHCP 中继代理会执行“已采取的操作”列中指示的操作。
DHCP 中继代理配置设置 |
|||||
|---|---|---|---|---|---|
使用 Option 82 配置的 DHCP 中继 |
发现数据包包含选项 82 |
覆盖 “trust-option- 82” |
覆盖“always-write- option-82” |
非侦听数据包中的 giaddr |
采取的行动 |
否 |
否 |
– |
– |
– |
不进行二次检索 |
否 |
是 |
是 |
– |
– |
使用数据包中的选项 82 |
否 |
是 |
否 |
– |
零 |
丢包 |
否 |
是 |
否 |
– |
非零 |
使用数据包中的选项 82 |
是 |
否 |
– |
– |
– |
使用配置的选项 82 |
是 |
是 |
否 |
– |
零 |
丢包 |
是 |
是 |
否 |
否 |
非零 |
使用数据包中的选项 82 |
是 |
是 |
否 |
是 |
非零 |
覆盖配置的选项 82 |
是 |
是 |
是 |
否 |
– |
使用数据包中的选项 82 |
是 |
是 |
是 |
是 |
– |
覆盖配置的选项 82 |
启用不可信数据包处理,以便使用 Option 82 信息
默认情况下,DHCP 中继代理会将 giaddr 为 0(零)且信息为选项 82 的客户端数据包视为数据包来自不受信任的来源,并在不进行进一步处理的情况下将其丢弃。您可以覆盖此行为,并指定 DHCP 中继代理处理 giaddr 为 0(零)且包含选项 82 信息的 DHCP 客户端数据包。
要将 DHCP 中继代理配置为信任 option 82 信息:
检查设备是否支持 DHCP option-82
要将交换机配置为仅转发模式的 DHCP 中继,请检查 DHCP 服务器是否支持 DHCP Option 82。
使用 表 2 中的过程确认是否支持 Option-82 或所需的解决方法。
问题 |
如何验证 ? |
解决方案 |
|---|---|---|
验证 DHCP 服务器是否支持 DHCP Option 82。 |
在 DHCP 中继上使用。 如果由于不包含 Option-82 而丢弃 DHCP 提供数据包,您将收到以下消息: Feb 25 15:41:13.577519 [MSTR][NOTE] [default:default][RLY][INET][irb.6] jdhcpd_packet_handle: BOOTPREPLY could not find client table entry |
要解决此问题,请执行以下操作:
|
示例:MS Windows Server 2019 中的 DHCP 服务器完全支持 Option 82,而 AS 版本 2016 提供部分支持。
也可以看看
管理不支持 Option-82 的 DHCP PXE/BOOTP 服务器
某些 PXE 或 BOOTP 服务器不支持 Option-82,即,其 DHCP 提供消息不包含 DHCP 中继添加的 Option-82 值。因此,DHCP 中继将丢弃 DHCP 产品,并且 PXE/BOOTP 客户端将无法完成其启动顺序。
以下是解决此问题的可能解决方案:
解决方案 1: 升级到支持 Option-82 的 PXE 服务器
解决方案 2: 使用 DHCP 服务器托管 PXE 服务器
确保 DHCP 服务器(支持 Option-82)与 PXE 服务器一起运行。
在 DHCP 服务器上配置 Option-60。
使用以下 CLI 将 Option-60 配置为 Microsoft WS DHCP 服务器:
netsh dhcp server dhcp-server-address add optiondef 60 ClientIdentifier STRING 0 PXEClient
在 DHCP 服务器的用户界面中激活该选项。
这样,PXE/BOOTP 客户端将收到带有 Option-60“PXEClient”的正确 DHCP 产品/服务,并将通过与 DHCP 服务器相同的 IP 地址到达 PXE 服务器。
解决方案 3: 包括 option-60 和 option-43 DHCP 服务器消息
如果 PXE 服务器未与 DHCP 服务器一起托管,则需要 DHCP 服务器在其 DHCP 产品中也发送 Option-43。Option-43 提供 PXE 服务器的 IP 地址。请注意,较旧的 PXE 或 BOOTP 客户端可能会忽略 Option-43,因此将尝试从 DHCP 服务器获取软件。以十六进制模式在 DHCP 服务器配置中输入 Option-43。
For 是示例 option-43 消息:
06 01 07 08 07 00 01 01 0A 0B 0C 0D 09 0B 00 01 09 53 65 72 76 65 72 50 58 45 0A 02 00 53
上述消息向 PXE 客户端指示以下信息:
禁用广播和组播发现
仅接受本文中提供的 PXE 服务器
PXE 服务器 IP 为 10.11.12.13(请参阅上文中的字节“0A 0B、0C、0D”)
PXE 客户端上的启动菜单(显示给最终用户):
只有一行,“ServerPXE”
自动选择第一个启动选项,提示“S”,不超时(即立即启动,除非按 F8)
未配置接口上的 DHCP 数据包
在 MX 系列路由器、QFX 或 EX 系列交换机上启用 DHCP 中继后,将启用 DHCP 侦听功能,并分析通过设备的任何接口(已配置和未配置的接口)传入的所有 DHCP 数据包。未在 DHCP 配置下列出的接口被视为“未配置”。
根据配置,在未配置接口上接收到的 DHCP 数据包将被丢弃。
如果 DHCP 数据包在“未配置”接口上出现丢弃,您将收到以下消息:
May 25 18:26:31.796241 [MSTR][NOTE] [default:default][RLY][INET][irb.82] jdhcpd_packet_handle: BOOTPREQUEST irb.82 arrived on unconfigured interface DISCOVER, flags 23, config 0x0
也可以看看
示例:在仅转发模式下配置 DHCP 中继
此示例说明如何在增强型第 2 层软件 (ELS)、EX 系列和 QFX 系列交换机上配置“无状态”(“仅转发”)DHCP 中继。如果交换机运行的软件不支持 ELS,请参阅 配置接口范围。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。
要求
此示例使用以下硬件和软件组件:
QFX 或 EX 系列交换机(ELS 模式)。
Junos OS 18.4R3 版。
在 EX 系列和 QFX 系列交换机上配置仅向向 DHCP 中继之前,让我们先了解一下 DHCP 对 Option 82 的支持。
要验证设备是否支持 DHCP Option-82 ,请参阅检查设备是否支持 DHCP Option-82。
来自 DHCP 服务器的以下消息包括 Discover 和 Request 消息中 DHCP 中继发送的 Option 82 信息的副本:
优惠
确认 (ACK)
否定确认 (NACK)
DHCP 中继会丢弃不包含有效 Option 82 信息的任何 OFFER、ACK 和 NACK 消息。
有关如何避免在 PXE 或 BOOTP 服务器不支持 Option-82 时丢弃 DHCP 提供消息,请参阅 管理不支持 Option-82 的 DHCP PXE/BOOTP 服务器。
概述
在此示例中,我们将通过完成以下步骤将交换设备配置为 DHCP 中继代理:
添加一组配置为活动服务器组的 DHCP 服务器 IP 地址。
为一组指定的接口配置 option 82 支持。
配置示例后,DHCP 中继代理会在其从客户端接收并转发到 DHCP 服务器的 DHCP 数据包中包含选项 82 信息。
配置
要在支持 ELS 的 EX 或 QFX 交换机上配置仅转发 DHCP 中继代理,请执行以下操作:
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层次结构级别的 [edit] CLI 中。
set forwarding-options dhcp-relay server-group SV1 dhcp-server-1-address set forwarding-options dhcp-relay server-group SV2 dhcp-server-2-address set forwarding-options dhcp-relay active-server-group SV1 set forwarding-options dhcp-relay group DHCP-FO forward-only set forwarding-options dhcp-relay group DHCP-FO relay-option-82 circuit-id use-interface-description device set forwarding-options dhcp-relay group DHCP-FO interface interface1 set forwarding-options dhcp-relay group DHCP-FO interface interface2
配置仅向向 DHCP 中继代理
分步程序
要配置仅转发 DHCP 中继:
指定服务器组 SV1 和 SV2 的名称。
[edit forwarding-options dhcp-relay] user@host#
set server-group SV1user@host#set server-group SV2添加属于该组的 DHCP 服务器的 IP 地址。
[edit forwarding-options dhcp-relay] user@host#
set server-group SV1 dhcp-server-1-addressuser@host#set server-group SV2 dhcp-server-2-address(选答)在企业场景中,您可以使用 PC(或其他设备)的预启动执行环境 (PXE) 或 BOOTP 从服务器获取其 Junos OS。
如果希望在将交换机配置为 DHCP 中继代理时启用 BOOTP 支持,请输入以下语句:
[edit forwarding-options dhcp-relay] user@host#
set overrides bootp-support将 DHCP 或 PXE 服务器添加到 DHCP 服务器组
[edit forwarding-options dhcp-relay] user@host#
server-group SV1 dhcp-server-3-address
将服务器组应用为活动服务器组。
[edit forwarding-options dhcp-relay] user@host#
set active-server-group SV1将 DHCP-FO 定义为交换设备上充当 DHCP 中继的接口组。配置:
[edit forwarding-options dhcp-relay] user@host#
set group DHCP-FO forward-only将接口列表添加到接口组。
[edit forwarding-options dhcp-relay] user@host#
set group DHCP-FO interface interface1user@host#set group DHCP-FO interface interface2将中继选项 82 设置为接口并指定代理电路 ID。 代理电路 ID 标识接收客户端 DHCP 数据包的接口。配置电路 ID 时,请在消息中包含文本接口说明。
[edit forwarding-options dhcp-relay] user@host#
set group DHCP-FO group relay-option-82 circuit-id use-interface-description device
结果
在配置模式下,通过在层次结构级别发出[edit forwarding-options]语句来show确认配置结果。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit forwarding-options]
user@host> show
dhcp-relay {
server-group {
SV1 {
dhcp-server-1-address;
}
SV2 {
dhcp-server-2-address;
}
}
active-server-group SV1;
group DHCP-FO {
relay-option-82 {
circuit-id {
use-interface-description device;
}
}
forward-only;
interface interface1;
interface interface2;
}
}
如果完成设备配置,请从配置模式进入。commit
验证
验证来自 DHCP 服务器的消息是否包含 DHCP 中继发送的 Option 82 信息的副本。
使用 Option-82 验证要约消息
目的
通过在 DHCP 中继上启用 DHCP traceoptions 来验证“仅转发”DHCP 中继。
行动
在指定文件中接收跟踪操作的输出。
user@host# set system processes dhcp-service traceoptions file dhcp_logfile size 10m user@host# set system processes dhcp-service traceoptions level all user@host# set system processes dhcp-service traceoptions flag all Feb 25 15:41:11.454186 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_io_process_ip_packet: LOCAL: recv pkt; sa 10.42.6.20; da 10.42.59.251; src_port 67; dst_port 67; len 410 Feb 25 15:41:11.454218 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP from == 10.42.6.20, port == 67 ]-- Feb 25 15:41:11.454228 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP size == 410, op == 2 ]-- Feb 25 15:41:11.454250 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP flags == 8000 ]-- Feb 25 15:41:11.454271 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP htype == 1, hlen == 6 ]-- Feb 25 15:41:11.454292 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP hops == 0, xid == e50f52a1 ]-- Feb 25 15:41:11.454313 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP secs == 0, flags == 8000 ]-- Feb 25 15:41:11.454347 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP ciaddr == 0.0.0.0 ]-- Feb 25 15:41:11.454428 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP yiaddr == 10.42.58.21 ]-- Feb 25 15:41:11.454461 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP siaddr == 10.42.6.20 ]-- Feb 25 15:41:11.454472 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP giaddr == 10.42.59.251 ]-- Feb 25 15:41:11.454486 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP chaddr == 34 48 ed 27 e2 29 00 00 00 00 00 00 00 00 00 00 ]-- Feb 25 15:41:11.454508 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP sname == ]-- Feb 25 15:41:11.454535 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ DHCP/BOOTP file == ]-- Feb 25 15:41:11.454560 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 53, len 1, data DHCP-OFFER ]-- Feb 25 15:41:11.454603 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 1, len 4, data ff ff fc 00 ]-- Feb 25 15:41:11.454616 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 58, len 4, data 00 05 46 00 ]-- Feb 25 15:41:11.454638 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 59, len 4, data 00 09 3a 80 ]-- Feb 25 15:41:11.454675 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 51, len 4, data 00 0a 8c 00 ]-- Feb 25 15:41:11.454701 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 54, len 4, data 0a 2a 06 14 ]-- Feb 25 15:41:11.454724 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 3, len 4, data 0a 2a 3b fe ]-- Feb 25 15:41:11.454748 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 4, len 8, data 0a 2a 01 64 0a 2a 06 64 ]-- Feb 25 15:41:11.454778 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 6, len 8, data 0a 2a 01 64 0a 2a 06 64 ]-- Feb 25 15:41:11.454805 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 15, len 15, data 6c 69 73 65 63 2e 69 6e 74 65 72 6e 61 6c 00 ]-- Feb 25 15:41:11.454829 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 42, len 8, data 0a 2a 01 64 0a 2a 06 64 ]-- Feb 25 15:41:11.454858 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 128, len 29, data 61 74 73 65 2d 65 6d 70 69 72 75 6d 31 2e 6c 69 73 65 63 2e 69 6e 74 65 72 6e 61 6c 00 ]-- Feb 25 15:41:11.454888 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 129, len 29, data 61 74 73 65 2d 65 6d 70 69 72 75 6d 31 2e 6c 69 73 65 63 2e 69 6e 74 65 72 6e 61 6c 00 ]-- Feb 25 15:41:11.454902 [MSTR][DEBUG][default:default][RLY][INET][irb.56] --[ OPTION code 82, len 19, data 01 11 49 52 42 2d 69 72 62 2e 35 36 3a 61 65 33 30 2e 30 ]-- Feb 25 15:41:11.454924 [MSTR][INFO] [default:default][RLY][INET][irb.56] --[ OPTION code 255, len 0 ]-- Feb 25 15:41:11.454939 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_find_client_from_server_pdu: Using yiaddr from BOOTPREPLY for lookup Feb 25 15:41:11.454962 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_platform_client_v4_app_get_l3_index: safd is not client type Feb 25 15:41:11.454992 [MSTR][DEBUG] client_key_compose: Composing key (0xb294380) for cid_l 0, cid NULL, mac 34 48 ed 27 e2 29, htype 1, subnet 10.42.59.251, ifindx 0, opt82_l 0, opt82 NULL Feb 25 15:41:11.455016 [MSTR][DEBUG] client_key_compose: Successfully composed CK_TYPE_HW_ADDR_ON_SUBNET (2) client key object. Feb 25 15:41:11.455028 [MSTR][DEBUG] client_key_print: key_type CK_TYPE_HW_ADDR_ON_SUBNET (2): subnet 10.42.59.251, MAC htype 1, Addr 34 48 ed 27 e2 29 Feb 25 15:41:11.455050 [MSTR][DEBUG] client_key_print: key_type CK_TYPE_HW_ADDR_ON_SUBNET (2) other fields: subnet 10.42.59.251, ifindex 0, opt82_len 0, - Feb 25 15:41:11.455081 [MSTR][INFO] [default:default][RLY][INET][irb.56] jdhcpd_process_forward_only_or_drop: Safd irb.56 in routing context default:default - forward only or drop processing Feb 25 15:41:11.455114 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_option_strip_relay_info: Removing option-82 Feb 25 15:41:11.455124 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_option_strip_relay_info: Length of option 82 = 21 bytes Feb 25 15:41:11.455146 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_option_strip_relay_info: Moving 2 bytes, which were after option 82 and parse again Feb 25 15:41:11.455169 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_process_forward_only_or_drop: Safd irb.56 in routing context default:default - config supports fwd only relaying packet Feb 25 15:41:11.455193 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_process_forward_only_or_drop: Result of forward-only: packet_consumed Yes, packet_dropped No, message_type OFFER Feb 25 15:41:11.455217 [MSTR][DEBUG][default:default][RLY][INET][irb.56] jdhcpd_relay_forward_only_packet: Broadcast BOOTPREPLY OFFER for 10.42.58.21 on safd irb.56
您可以使用以下命令在 DHCP traceoptions 日志文件(本例中为 'dhcp_logfile')中搜索问题。
要大致了解最常见的问题,请使用:
user@host> show log dhcp_logfile | match "dropp|fail|unconf" | except "packet_dropped No"
要调查特定问题,请使用:
user@host> show log dhcp_logfile | find " arrived on unconfigured interface"
该
find命令类似于 Linuxless命令。它将到达日志中的第一个条目,并允许您向上/向下滚动消息。
(选答)要查询 Linux 服务器(或从 Junos shell)上的 traceoptions 日志,可以使用以下两个命令:
user@host> egrep -i "dropp|fail|unconf" dhcp_logfile | egrep -v "packet_dropped No" | more
user@host> egrep -i -b 5 " arrived on unconfigured interface" dhcp_logfile | more
意义
上述示例确认来自 DHCP 服务器的消息包含 DHCP 中继发送的 Option 82 信息的副本,并且示例还显示接口的文本说明。