了解 DHCP 侦听 (ELS)
本主题包含有关在将 Junos OS 用于支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列交换机时启用动态主机配置协议 (DHCP) 侦听的信息。如果交换机运行的 Junos OS 软件不支持 ELS,请参阅 了解 DHCP 侦听(非 ELS)。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。
通过 DHCP 侦听,交换设备(可以是交换机或路由器)可以监控从连接到交换设备的不受信任设备接收的 DHCP 消息。在 VLAN 上启用 DHCP 侦听后,系统将检查与 VLAN 关联的不受信任主机发送的 DHCP 消息,并提取其 IP 地址和租用信息。此信息用于构建和维护 DHCP 侦听数据库。只有可以使用此数据库进行验证的主机才允许访问网络。
DHCP 侦听基础知识
DHCP 动态分配 IP 地址, 将地址租 给设备,以便在分配地址的设备不再需要这些地址时,可以重复使用这些地址。需要通过 DHCP 获取 IP 地址的主机和终端设备必须通过 LAN 与 DHCP 服务器进行通信。
DHCP 侦听通过跟踪受信任的 DHCP 服务器(服务器连接到受信任的网络端口)分配给下游网络设备的有效 IP 地址,充当网络安全的守护者。
默认情况下,交换机上的所有中继端口都是可信的,而所有访问端口都是不受信任的,以便进行 DHCP 侦听。
从 Junos OS 18.4R1 版开始,对于以下瞻博网络系列交换机(EX2300、EX4600 和 QFX5K),可对可信端口进行 DHCP 侦听。在 Junos OS 18.4R1 版之前,对于这些设备,仅对 DHCPv6 侦听如此。此外,对于运行 Junos OS 19.1R1 及更高版本的 EX9200 系列交换机和 Fusion Enterprise 的可信端口,还会发生 DHCP 侦听。
您可以使用带有“受信任”或“不可信”选项的覆盖配置语句,将接入端口配置为受信任端口,将中继端口配置为不受信任。
启用 DHCP 侦听后,服务器的租约信息将用于创建 DHCP 侦听表,也称为 DHCP 绑定表。下表显示了当前的 IP-MAC 地址绑定以及租用时间、绑定类型、关联 VLAN 和接口的名称。
DHCP 侦听表中的条目将在以下事件中更新:
当网络设备释放 IP 地址(发送 DHCPRELEASE 消息)时。在这种情况下,关联的映射条目将从数据库中删除。
将网络设备从一个 VLAN 移动到另一个 VLAN 时。在这种情况下,设备通常需要获取新的 IP 地址。因此,将更新它在数据库中的条目(包括 VLAN 名称)。
当 DHCP 服务器分配的租用时间(超时值)到期时。在这种情况下,关联的条目将从数据库中删除。
当网络设备通过发送单播 DHCPREQUEST 消息并收到来自 DHCP 服务器的肯定响应来续订租约时。在这种情况下,将在数据库中更新租用时间。
如果网络设备无法访问最初授予租约的 DHCP 服务器,它将发送广播 DHCPREQUEST 消息并重新绑定到响应的 DHCP 服务器。在这种情况下,客户端会收到一个新的 IP 地址,并且绑定将在 DHCP 侦听表中更新。
从 Junos OS 14.1X53-D35 版开始,如果具有来自 DHCP 服务器的固定 IP 分配的网络设备被具有不同 MAC 地址的新设备取代,则新的 MAC 地址绑定将一直存储,直到服务器发送 DHCPACK 消息;然后,DHCP 侦听表中的条目将使用新的地址绑定进行更新。
默认情况下,交换机重新启动时,IP-MAC 绑定将丢失,DHCP 客户端(网络设备或主机)必须重新获取绑定。但是,可以通过将语句设置为 dhcp-snooping-file
在本地或远程存储数据库文件,将绑定配置为持久化。配置并启用 802.1x 动态 VLAN 时,DHCP 侦听条目也会被删除。因此,建议配置 DHCP 服务器来存储客户端的租用信息,即使在重新启动客户端后也能为其提供可预测的 IP 地址(DHCP 持久性)。
您可以将交换机配置为仅侦听来自特定 VLAN 的 DHCP 服务器响应。这样做可以防止 DHCP 服务器消息欺骗。
启用 DHCP 侦听
使用 DHCP 侦听功能时,务必了解如何启用 DHCP 侦听功能。
在 Junos OS 设备上,无法将 DHCP 侦听功能配置为独立功能。每当您为设备的特定 VLAN 配置 DHCP 安全性时,系统都会在该 VLAN 上自动启用 DHCP 侦听以执行其任务。
例如:
- 在特定 VLAN 上启用 DHCP 安全性时,会在该 VLAN 上自动启用 DHCP 侦听。
Junos OS 可在交换机上启用 DHCP 侦听:
为任何端口安全功能配置以下选项时:
dhcp-security
语edit vlans vlan-name forwarding-options
句。
在 Junos OS 17.1 之前,如果在 [edit vlans vlan-name forwarding-options
] 层次结构中配置以下任何端口安全功能,则 Junos OS 会自动启用 DHCP 侦听:
- 动态 ARP 检查 (DAI
- IP 源保护
- DHCP Option 82
- 静态 IP
从 Junos OS 17.1R1 版开始,您可以在 VLAN 上配置 DHCP 侦听或 DHCPv6 侦听,而无需启用其他端口安全功能。使用以下配置语句启用 DHCP 侦听:
[set vlans vlan-name forwarding-options dhcp-security
]。
要禁用 DHCP 侦听,必须从配置中删除语 dhcp-security
句。当您禁用其他端口安全功能时,DHCP 侦听不会自动禁用。
DHCP 侦听进程
DHCP 侦听过程包括以下步骤:
为 VLAN 启用 DHCP 侦听后,从该 VLAN 中的网络设备发送的所有 DHCP 数据包都将受到 DHCP 侦听。当 DHCP 服务器向 DHCP 客户端发送 DHCPACK 数据包时,将发生最终的 IP-MAC 绑定。
网络设备发送 DHCPDISCOVER 数据包以请求 IP 地址。
交换机将数据包转发到 DHCP 服务器。
服务器发送 DHCPOFFER 数据包以提供地址。如果 DHCPOFFER 数据包来自可信接换机会将该数据包转发至网络设备。
网络设备发送 DHCPREQUEST 数据包以接受 IP 地址。交换机会将 IP-MAC 占位符绑定添加到 DHCP 侦听表。在从服务器收到 DHCPACK 数据包之前,该条目被视为占位符。在此之前,仍可将 IP 地址分配给其他主机。
服务器发送 DHCPACK 数据包以分配 IP 地址,或发送 DHCPNAK 数据包以拒绝地址请求。
交换机根据接收的数据包类型更新 DHCP 数据库:
如果交换机收到 DHCPACK 数据包,它将更新其数据库中 IP-MAC 地址绑定的租期信息。
如果交换机收到 DHCPNACK 数据包,则会删除占位符。
只有在发送 DHCPREQUEST 数据包后,才会更新 DHCP 数据库。
有关 DHCP 客户端和 DHCP 服务器在为客户端分配 IP 地址期间交换消息的常规信息,请参阅《 Junos OS 系统基础知识配置指南。
DHCPv6 侦听
从 Junos OS 14.1X53-D10 版开始,EX 9200 交换机上的 IPv6 数据包支持 DHCP 侦听。IPv6 数据包也支持 DHCP 侦听。DHCPv6 侦听的过程与 DHCP 侦听过程类似,但对客户端和服务器之间交换的消息使用不同的名称来分配 IPv6 地址。 表 1 显示了 DHCPv6 消息及其 DHCPv4 等效项。
发送者 |
DHCPv6 消息 |
DHCPv4 等效消息 |
---|---|---|
客户 |
征求 |
DHCP发现 |
服务器 |
做广告 |
DHCPOFFER |
客户 |
请求、续订、重新绑定 |
DHCPREQUEST |
服务器 |
答 |
DHCPACK/DHCPNAK |
客户 |
释放 |
DHCP 发布 |
客户 |
信息请求 |
DHCPINFORM |
客户 |
下降 |
DHCPDECLINE |
客户 |
确认 |
没有 |
服务器 |
配置 |
DHCPFORCE更新 |
客户 |
RELAY-FORW, RELAY-REPLY |
没有 |
DHCPv6 快速提交
DHCPv6 快速提交选项可以缩短客户端和服务器之间的消息交换。当服务器支持并由客户端设置时,此选项可将交换从四向中继缩短为双消息握手。有关启用快速提交选项的详细信息,请参阅配置 DHCPv6 快速提交(MX 系列、EX 系列)。
启用“快速提交”选项后,消息交换如下所示:
DHCPv6 客户端会发送一条 SOLICIT 消息,其中包含优先请求快速分配地址、前缀和其他配置参数。
如果 DHCPv6 服务器支持快速分配,则会使用 REPLY 消息进行响应,其中包含分配的 IPv6 地址和前缀以及其他配置参数。
DHCP 服务器访问
交换机对 DHCP 服务器的访问可以通过三种方式进行配置:
交换机、DHCP 客户端和 DHCP 服务器均在同一 VLAN 中
当交换机、DHCP 客户端和 DHCP 服务器 均为同一 VLAN 的成员时, 可通过以下两种方式之一将 DHCP 服务器连接到交换机:
要在 VLAN 上启用 DHCP 侦听,请在层次结构中[edit vlans vlan-name forwarding-options]
配置 dhcp-security 语句。
(请参阅 图 1。服务器与连接到 DHCP 客户端(从服务器请求 IP 地址的主机或网络设备)的交换机直接连接到同一交换机。VLAN 已启用 DHCP 侦听,以保护不受信任的访问端口。默认情况下,中继端口配置为受信任的端口。
(请参阅 图 2。服务器连接到中间交换机(交换机 2),该交换机通过中继端口连接到 DHCP 客户端所连接的交换机(交换机 1)。交换机 2 被用作中转交换机。VLAN 已启用 DHCP 侦听,以保护交换机 1 的不可信接入端口。默认情况下,中继端口配置为受信任的端口。 在图 2 中,ge-0/0/11 是受信任的中继端口。


交换机充当 DHCP 服务器
您可以在交换机上配置 DHCP 本地服务器选项,使交换机能够用作扩展的 DHCP 本地服务器。在 图 3 中,DHCP 客户端通过不受信任的访问端口连接到扩展的 DHCP 本地服务器。

交换机充当中继代理
当 DHCP 客户端或 DHCP 服务器通过第 3 层接口(在交换机或路由器上)连接到交换机时,交换机可充当中继代理。交换机上的第 3 层接口配置为路由 VLAN 接口 (RVI),也称为集成路由和桥接 (IRB) 接口。默认情况下,中继接口是受信任的。
在以下两种情况下,交换机可充当中继代理:
DHCP 服务器和客户端位于不同的 VLAN 中。
交换机连接到路由器,而路由器又连接到 DHCP 服务器。请参阅 图 4。

向 DHCP 侦听数据库添加静态 IP 地址
您可以添加静态(固定)IP 地址,并将其绑定到 DHCP 侦听数据库中的固定 MAC 地址。这些绑定在数据库中标记为静态,而通过 DHCP 侦听过程添加的绑定标记为动态。静态 IPv6 地址分配也可用于 DHCPv6。有关配置详细信息,请参阅 配置静态 DHCP IP 地址以进行 DHCP 侦听。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。
dhcp-security
[edit vlans vlan-name forwarding-options dhcp-security]
VLAN 上配置 DHCP 侦听或 DHCPv6 侦听,而无需启用其他端口安全功能。