DHCP 概述
了解传统 DHCP 与扩展 DHCP 之间的区别
本主题介绍以下部分:
扩展 DHCP 的新增功能和增强功能
扩展 DHCP 或 JDHCP 扩展并增强了传统的 DHCP 操作。借助扩展的 DHCP 本地服务器,客户端配置信息驻留在集中式地址分配池中,该池支持高级池匹配和地址范围选择。a任何新功能只会添加到扩展 DHCP 中。扩展 DHCP 支持以下功能和增强功能:
在扩展 DHCP 中,地址分配池位于 DHCP 本地服务器外部。外部地址分配池由 authd 进程管理,独立于 DHCP 本地服务器,并可由不同的客户端应用程序(如 DHCP 或 PPPoE 访问)共享。在旧有 DHCP 中,客户端地址池和客户端配置信息驻留在 DHCP 服务器上。
扩展 DHCP 服务器与本地 AAA 服务框架交互,以使用后端身份验证服务器(如 RADIUS)提供 DHCP 客户端身份验证。
您可以全局配置动态配置文件和身份验证支持,也可以为特定接口组配置。
扩展 DHCP 本地服务器支持 IPv6 客户端。
DHCP 本地服务器和 DHCPv6 本地服务器都支持特定地址请求功能,该功能允许您将特定地址分配给客户端。
如果客户端未配置 DHCP 选项 55,则扩展 DHCP 本地服务器会为 DHCP 客户端提供最小配置。服务器提供为客户端选择的地址分配池的子网掩码。除了子网掩码之外,如果在选定的地址分配池中配置了信息,则服务器还会向客户端提供以下值:
router- 位于客户端子网上的路由器。此语句等同于 DHCP 选项 3。
domain name- 客户端在其中搜索 DHCP 服务器主机的域的名称。这是附加到未完全限定的主机名的默认域名。这等同于 DHCP 选项 15。
domain name server- 客户端可用于解析主机名到客户端映射的域名系统 (DNS) 名称服务器。这等同于 DHCP 选项 6。
您可以将本地服务器配置为使用客户端 PDU 中的 DHCP option 82 信息来确定要用于特定客户端的命名地址范围。在地址分配池中配置的客户端配置信息包括用户定义的选项,例如启动服务器、宽限期和租期。
扩展的 DHCP 服务器支持以下功能:
平滑路由引擎 切换 (GRES),为客户端提供镜像支持。
虚拟路由和转发 (VRF)。扩展的 DHCP 也称为虚拟路由器 (VR) 感知 DHCP。有关支持扩展 DHCP(VR 感知 DHCP)的交换机列表,请参阅 EX 系列交换机软件功能概述 。
表 1 提供了扩展 DHCP 和旧版 DHCP 配置选项的比较。
特征 |
旧版 DHCP 本地服务器 |
扩展 DHCP 本地服务器 |
---|---|---|
本地地址池 |
X |
X |
外部集中管理地址池 |
– |
X |
本地配置 |
X |
X |
使用地址分配池或 RADIUS 服务器中的信息进行外部配置 |
– |
X |
动态配置文件附件 |
– |
X |
使用 RADIUS 属性和瞻博网络 VSA 进行基于 RADIUS 的用户身份验证和配置 |
– |
X |
IPv6 客户端支持 |
– |
X |
默认最低客户端配置 |
X |
X |
扩展 DHCP 的优势
扩展 DHCP 本地服务器通过在订阅者感知环境中提供额外的地址分配和客户端配置功能和灵活性,增强了传统的 DHCP 服务器操作。
扩展 DHCP 本地服务器使服务提供商除了继续支持传统本地地址池外,还可利用外部地址分配池和基于 RADIUS 的集成配置功能。
在扩展 DHCP 环境中配置 DHCP 本地服务器的更改
在扩展 DHCP 中,使用以下步骤配置 DHCP 服务器和地址分配池:
在设备上配置扩展的 DHCP 本地服务器,并指定 DHCP 本地服务器如何确定要使用的地址分配池。
配置 DHCP 本地服务器使用的地址分配池。地址分配池包含 DHCP 客户端的 IP 地址、命名地址范围和配置信息。
扩展 DHCP 本地服务器和服务器使用的地址分配池必须配置在同一逻辑系统和路由实例中。
旧有 DHCP 和扩展 DHCP 服务器层次结构级别更改
旧有 DHCP 和扩展 DHCP 服务器可以在 表 2 所示的层级进行配置:
DHCP 服务 |
等级制度 |
---|---|
旧版 DHCP 服务器 |
|
扩展 DHCP 服务器 |
|
传统 DHCP 中继 |
|
扩展 DHCP 中继 |
|
旧版 DHCP 地址池 |
|
扩展 DHCP 地址池 |
|
由于旧版 DHCP 已弃用,因此命令被“隐藏”。这些命令不会显示在帮助中,也不会自动完成。当您使用选项 show configuration
显示配置时,系统将显示以下警告:
## ## Warning: configuration block ignored: unsupported platform (...) ##
未配置接口上的 DHCP 数据包将被丢弃
在 MX 路由器或者 QFX 或 EX 交换机上启用 DHCP 中继后,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 中继代理概述
您可以在路由器或交换机上配置扩展 DHCP 中继选项,并使路由器(或交换机)能够用作 DHCP 中继代理。DHCP 中继代理在 DHCP 客户端和 DHCP 服务器之间转发 DHCP 请求和回复数据包。
DHCP 中继支持连接动态配置文件,并与本地 AAA 服务框架交互,以使用后端身份验证服务器(如 RADIUS)提供订阅者身份验证或 DHCP 客户端身份验证。您可以全局或为特定接口组附加动态配置文件并配置身份验证支持。
PTX 系列数据包传输路由器不支持对 DHCP 中继代理进行身份验证。
在路由器上,您可以使用视频/IPTV 等运营商边缘应用中的 DHCP 中继来获取用户的配置参数,包括 IP 地址。
在交换机上,您可以使用 DHCP 中继获取配置参数,包括 DHCP 客户端的 IP 地址。
使用语 dhcp-relay
句配置的扩展 DHCP 中继代理选项与使用语 bootp
句配置的 DHCP/BOOTP 中继代理选项不兼容。因此,您无法同时在路由器上启用扩展 DHCP 中继代理和 DHCP/BOOTP 中继代理。
有关 DHCP/BOOTP 中继代理的信息,请参阅 将路由器、交换机和接口配置为 DHCP 和 BOOTP 中继代理。
您还可以将扩展的 DHCP 中继代理配置为支持 IPv6 客户端。有关 DHCPv6 中继代理功能的信息,请参阅DHCPv6 中继代理概述 。
要在路由器(或交换机)上配置扩展 DHCP 中继代理,请在[edit forwarding-options]
层次结构级别包含语dhcp-relay
句。
您还可以在以下层级包含 dhcp-relay
语句:
[edit logical-systems logical-system-name forwarding-options]
[edit logical-systems logical-system-name routing-instances routing-instance-name forwarding-options]
[edit routing-instances routing-instance-name forwarding-options]
DHCP 中继代理、DHCP 客户端和 DHCP 服务器之间的交互
无论软件安装在路由器上还是交换机上,DHCP 中继代理、DHCP 客户端和 DHCP 服务器之间的交互模式都是相同的。但是,在使用细节上存在一些差异。
在路由器上 — 在典型的运营商边缘网络配置中,DHCP 客户端位于订阅者的计算机上,而 DHCP 中继代理配置在 DHCP 客户端与一个或多个 DHCP 服务器之间的路由器上。
在交换机上 — 在典型的网络配置中,DHCP 客户端位于个人计算机等接入设备上,而 DHCP 中继代理配置在 DHCP 客户端与一个或多个 DHCP 服务器之间的交换机上。
以下步骤概括介绍了 DHCP 客户端、DHCP 中继代理和 DHCP 服务器如何在包含两个 DHCP 服务器的配置中进行交互。
DHCP 客户端发送发现数据包,以查找网络中的 DHCP 服务器,从中获取订阅者(或 DHCP 客户端)的配置参数(包括 IP 地址)。
DHCP 中继代理接收发现数据包,并将副本转发到两个 DHCP 服务器中的每一个。然后,DHCP 中继代理在其内部客户端表中创建一个条目,以跟踪客户端的状态。
作为对接收到发现数据包的响应,每个 DHCP 服务器都会向客户端发送一个提供数据包。DHCP 中继代理接收优惠数据包并将其转发至 DHCP 客户端。
收到优惠数据包后,DHCP 客户端会选择要从中获取配置信息的 DHCP 服务器。通常,客户端会选择在 IP 地址上提供最长租期的服务器。
DHCP 客户端发送一个请求数据包,用于指定要从中获取配置信息的 DHCP 服务器。
DHCP 中继代理接收请求数据包,并将副本转发到两个 DHCP 服务器中的每一个。
客户端请求的 DHCP 服务器发送包含客户端配置参数的确认 (ACK) 数据包。
DHCP 中继代理接收 ACK 数据包并转发至客户端。
DHCP 客户端接收 ACK 数据包,存储配置信息。
如果配置为这样做,则 DHCP 中继代理会为此客户端安装主机路由和地址解析协议 (ARP) 条目。
在 IP 地址上建立初始租约后,DHCP 客户端和 DHCP 服务器使用单播传输协商租约续订或解除。DHCP 中继代理会“窥探”客户端和服务器之间通过路由器(或交换机)的所有单播数据包,以确定此客户端的租约何时到期或被释放。此过程称为 租约影子 或 被动窥探。
DHCP 活体检测
DHCP 订阅者或 DHCP 客户端 IP 会话的活体检测利用主动活体检测协议对相关客户端进行活体检测检查。客户端应在指定时间内响应活体检测请求。如果在给定的连续尝试次数内未在该时间内收到响应,则活体检测检查将失败,并实施失败操作。
全局或按 DHCP 组进行 DHCP 存活检测。
DHCP 中继代理概述
DHCP 中继代理模式是对扩展 DHCP 中继的增强功能。DHCP 中继代理支持所有 DHCP 中继功能,同时提供其他功能和优势。
通常,扩展 DHCP 中继可作为 DHCP 操作的帮助应用程序运行。除了能够将 DHCP 中继代理选项和网关地址 (giaddr) 添加到 DHCP 数据包之外,DHCP 中继对 DHCP 客户端和 DHCP 服务器是透明的,并且只是在 DHCP 客户端和服务器之间转发消息。
将 DHCP 中继配置为在代理模式下运行时,中继将不再透明。在代理模式下,DHCP 中继会向 DHCP 客户端隐藏 DHCP 服务器详细信息,这些客户端会在代理模式下与 DHCP 中继交互,就好像它是 DHCP 服务器一样。对于 DHCP 服务器,没有更改,因为代理模式对 DHCP 服务器与 DHCP 中继的交互方式没有影响。
您不能在同一接口上同时配置 DHCP 中继代理和扩展 DHCP 本地服务器。
使用 DHCP 中继代理的好处
DHCP 中继代理具有以下优势:
DHCP 服务器隔离和 DoS 保护 — DHCP 客户端无法检测 DHCP 服务器、了解 DHCP 服务器地址或确定提供 DHCP 支持的服务器数量。服务器隔离还为 DHCP 服务器提供拒绝服务 (DoS) 保护。
多租用选件 — DHCP 中继代理接收来自多个 DHCP 服务器的租用选件,并选择单个选件发送给 DHCP 客户端,从而减少网络中的流量。目前,DHCP 中继代理选择收到的第一个报价。
支持带编号和不带编号的以太网接口 — 对于通过以太网接口连接的 DHCP 客户端,当 DHCP 客户端获取地址时,DHCP 中继代理会添加一个访问内部主机路由,将该接口指定为出站接口。当租用时间到期或客户端释放地址时,路由将自动删除。请注意,ACX7000设备(ACX7024、ACX7100、ACX7100 和 ACX7509)不支持对未编号以太网接口的 DHCP 中继支持。
逻辑系统支持 — 可以在逻辑系统中配置 DHCP 中继代理,而非代理模式 DHCP 中继则不能。
DHCP 中继代理、DHCP 客户端和 DHCP 服务器之间的交互
DHCP 中继代理配置在路由器(或交换机)上,该路由器在 DHCP 客户端和一个或多个 DHCP 服务器之间运行。
以下步骤简要介绍了 DHCP 中继代理如何与 DHCP 客户端和 DHCP 服务器交互。
DHCP 客户端发送发现数据包,以查找网络中的 DHCP 服务器,从中获取订阅者的配置参数。
DHCP 中继代理接收来自 DHCP 客户端的发现数据包,并将数据包的副本转发到每个支持的 DHCP 服务器。然后,DHCP 中继代理会创建一个客户端表条目来跟踪客户端状态。
作为对发现数据包的响应,每个 DHCP 服务器都会向客户端发送一个优惠数据包,DHCP 中继代理将接收该数据包。DHCP 中继代理执行以下操作:
选择收到的第一个报价作为要发送给客户的报价
将 DHCP 服务器地址替换为 DHCP 中继代理的地址
将产品/服务转发到 DHCP 客户端。
DHCP 客户端接收来自 DHCP 中继代理的优惠。
DHCP 客户端发送一个请求数据包,该请求数据包指示要从中获取配置信息的 DHCP 服务器 — 请求数据包指定 DHCP 中继代理的地址。
DHCP 中继代理接收请求数据包,并将副本(包括所选服务器的地址)转发到所有支持 DHCP 服务器。
客户端请求的 DHCP 服务器发送包含客户端配置参数的确认 (ACK) 数据包。
DHCP 中继代理接收 ACK 数据包,将 DHCP 服务器地址替换为自己的地址,并将数据包转发给客户端。
DHCP 客户端接收 ACK 数据包,存储配置信息。
如果配置为这样做,则 DHCP 中继代理将为 DHCP 客户端安装主机路由和地址解析协议 (ARP) 条目。
建立初始 DHCP 租约后,DHCP 中继代理将从 DHCP 客户端接收所有租约续订和租约解除,并将其转发至 DHCP 服务器。
最低 DHCP 中继代理配置
此示例显示了在 Junos OS 设备上使用扩展 DHCP 中继代理所需的最低配置。确保设备可以连接到 DHCP 服务器。
在此示例中,您将某些 DHCP 客户端流量定向到 DHCP 服务器。指定一个活动服务器组,每个客户端组流量将转发到该服务器组。将服务器 IP 地址添加到活动服务器组, 您可以配置接口组并为该组指定 DHCP 中继接口。用作 DHCP 中继代理的接口可以将消息转发到特定服务器。
配置 DHCP Option 82 和 仅转发 功能。
此示例创建名为 IP 地址为 203.0.113.21 的活动服务器组 my-dhcp-servers-group
。DHCP 中继代理配置将应用于名为 my-dhcp-interfaces
的接口组。在此组中,DHCP 中继代理在接口 ge-0/0/1.0 上启用。
配置选项以转发流量,而无需创建新的订阅者会话。
user@host# set forwarding-options dhcp-relay forward-only
在发往 DHCP 服务器的 DHCP 数据包中启用 DHCP 中继代理信息选项(选项 82)。
user@host# set forwarding-options dhcp-relay relay-option-82 circuit-id use-interface-description device
在 DHCP 中继代理发送到 DHCP 服务器的 DHCP 数据包中,使用文本接口描述,而不是 DHCP 基本 option 82 代理电路 ID 中的接口标识符。
配置DHCP服务器组,并添加属于该组的DHCP服务器的IP地址。
user@host# set forwarding-options dhcp-relay server-group my-dhcp-servers-group 203.0.113.2
将 DHCP 服务器组设置为活动服务器组。
user@host# set forwarding-options dhcp-relay active-server-group my-dhcp-servers-group
DHCP 中继代理将 DHCP 客户端请求中继到活动服务器组中定义的 DHCP 服务器。
配置接口组并为该组指定 DHCP 中继接口。
user@host# set forwarding-options dhcp-relay group my-dhcp-interf-group interface ge-0/0/1.0
DHCP 中继在组中定义的接口上运行。
要配置处于 DHCP 中继模式的 forward-only
交换机,请检查您的 DHCP 服务器是否支持 DHCP Option 82。有关详细信息,请参阅 验证 DHCP 服务器是否支持 Option-82 。
forward-only
DHCP 中继配置中的选项不需要安装 S-SA-FP 许可证。
在配置模式下,输入 show forwarding-options
命令以确认您的配置,并验证您的配置。
user@srx-01# show forwarding-options dhcp-relay { relay-option-82 { circuit-id { use-interface-description device; } } forward-only; server-group { my-dhcp-servers-group { 203.0.113.21; } } active-server-group my-dhcp-servers-group; group my-dhcp-interf-group { interface ge-0/0/1.0; } }
在环路接口上配置 IPv4 和 IPv6 地址
在其他服务 VRF 中配置 DHCP 服务器时,必须在服务器 VRF 配置中的环路接口上配置 IPv4 和 IPv6 地址,才能使 DCHP 中继功能在所有其他 VRF 中正常工作。
配置 dhcp-relay forward-only-replies 选项以启用转发至其他 VRF 中的 DHCP 客户端的 DHCP 响应数据包。
[edit routing-instances] Svr-1 { instance-type vrf; routing-options { auto-export; } protocols { evpn { ip-prefix-routes { advertise direct-nexthop; encapsulation vxlan; vni 11000; export type5-export; } } } forwarding-options { dhcp-relay { dhcpv6 { forward-only-replies; } forward-only-replies; } } interface lo0.2; route-distinguisher 103.0.0.1:5000; vrf-import import-tenant; vrf-target target:5000:1; vrf-table-label; } lo0 { unit 0 { family inet { address 103.0.0.1/32; } family inet6 { address 1003::1/128; } } unit 1 { family inet { address 103.0.0.1/32; } family inet6 { address 1003::1/128; } } unit 2 { family inet { address 103.0.0.2/32; } family inet6 { address 1003::2/128; } }
示例:具有多个客户端和服务器的 DHCP 中继代理配置
此示例显示了包含多个 DHCP 客户端和 DHCP 服务器的网络的扩展 DHCP 中继代理配置。其他详细信息如下示例。
[edit forwarding-options] dhcp-relay { server-group { sp-1 { 203.0.113.21; 203.0.113.22; } sp-2 { 203.0.113.31; 203.0.113.32; 203.0.113.33; } } active-server-group sp-1; overrides layer2-unicast-replies; group clients_a { relay-option-82 circuit-id; interface fe-1/0/1.1; interface fe-1/0/1.2; interface fe-1/0/1.3; } group clients_b { relay-option-82 { circuit-id { prefix routing-instance-name; } } interface fe-1/0/1.4; interface fe-1/0/1.5; interface fe-1/0/1.6; } group eth_dslam_relay { active-server-group sp-2; overrides { trust-option-82; layer2-unicast-replies; } interface fe-1/0/1.7; interface fe-1/0/1.8; interface fe-1/0/1.9; } }
此示例创建两个服务器组: sp-1
,包括 DHCP 服务器地址 203.0.113.21 和 203.0.113.22,以及 sp-2
,其中包括 DHCP 服务器地址 203.0.113.31、203.0.113.32 和 203.0.113.33。DHCP 中继代理配置适用的活动服务器组是 sp-1
。设置全局覆盖,使 DHCP 中继代理在发现过程中使用第 2 层单播传输将 DHCP 回复数据包从 DHCP 服务器发送到 DHCP 客户端。
该示例还会创建三组订阅者及其关联的快速以太网接口: clients_a
、 clients_b
和 eth_dslam_relay
。这些组的配置可满足不同的需求,如下所示:
clients_a
和clients_b
组由基本订阅者组成。这些组的服务提供商在发往 DHCP 服务器的 DHCP 数据包中插入 option 82 信息。输入
eth_dslam_relay
的用户连接到一个以太网数字用户线路接入复用器 (DSLAM),该多路复用器用作第 2 层 DHCP 中继代理。的活动eth_dslam_relay
服务器组为sp-2
。将为eth_dslam_relay
组设置覆盖,使 DHCP 中继代理能够信任 option 82 信息,并在发现期间使用第 2 层单播传输将 DHCP 回复数据包发送到 DHCP 客户端。