DHCP 概述
了解传统 DHCP 与扩展 DHCP 之间的区别
本主题涵盖以下部分:
扩展 DHCP 的新功能和增强功能
扩展 DHCP 或 JDHCP 扩展并增强了传统的 DHCP作。使用扩展的 DHCP 本地服务器时,客户端配置信息驻留在集中式地址分配池中,该池支持高级池匹配和地址范围选择。任何新功能只会添加到扩展 DHCP 中。扩展 DHCP 支持以下功能和增强功能:
在扩展 DHCP 中,地址分配池位于 DHCP 本地服务器的外部。外部地址分配池由进程管理 authd ,独立于 DHCP 本地服务器,可由不同的客户端应用程序(如 DHCP 或 PPPoE 访问)共享。在旧版 DHCP 中,客户端地址池和客户端配置信息驻留在 DHCP 服务器上。
扩展 DHCP 服务器与本地 AAA 服务框架交互,以使用后端身份验证服务器(例如 RADIUS)来提供 DHCP 客户端身份验证。
您可以全局或为特定的接口组配置动态配置文件和身份验证支持。
扩展 DHCP 本地服务器支持 IPv6 客户端。
DHCP 本地服务器和 DHCPv6 本地服务器都支持特定地址请求功能,该功能使您能够为客户端分配特定地址。
如果客户端未配置 DHCP option 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), 查看支持扩展 DHCP(VR 感知 DHCP)的设备列表。
表 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 数据包被丢弃
启用 DHCP 中继后,设备将接收到所有接口上的 DHCP 数据包。未在 DHCP 配置下列出的接口被视为“未配置”。
根据配置,在未配置接口上接收到的 DHCP 数据包将被丢弃。
如果 DHCP 数据包在“未配置”接口上出现丢弃,则 DHCP traceoptions 会将其报告为:
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 客户端身份验证。您可以全局或针对特定的接口组附加动态配置文件并配置身份验证支持。
在路由器上,您可以在视频/IPTV 等运营商边缘应用中使用 DHCP 中继,获取订阅者的配置参数,包括 IP 地址。
在交换机上,您可以使用 DHCP 中继获取配置参数,包括 DHCP 客户端的 IP 地址。
使用语句配置 dhcp-relay 的扩展 DHCP 中继代理选项与使用语句配置 bootp 的 DHCP/BOOTP 中继代理选项不兼容。因此,您不能同时在路由器上启用扩展 DHCP 中继代理和 DHCP/BOOTP 中继代理。
有关 DHCP/BOOTP 中继代理的信息,请参阅 将路由器、交换机和接口配置为 DHCP 和 BOOTP 中继代理。
您还可以将扩展 DHCP 中继代理配置为支持 IPv6 客户端。有关 DHCPv6 中继代理功能的信息,请参阅DHCPv6 中继代理概述 。
要在路由器(或交换机)上配置扩展 DHCP 中继代理,请在层次结构级别包含dhcp-relay[edit forwarding-options]该语句。
您还可以在以下层次结构级别包含该 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 数据包添加 DHCP 中继代理选项和网关地址 (giaddr) 之外,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 和 仅转发 功能。
此示例创建名为 my-dhcp-servers-group IP 地址为 203.0.113.21 的活动服务器组。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 基本选项 82 DHCP 中继代理发送到 DHCP 服务器的数据包中的代理电路 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_beth_dslam_relay。这些组的配置旨在满足不同的需求,如下所示:
和
clients_b组clients_a由基本订阅者组成。这些组的服务提供商会在发往 DHCP 服务器的 DHCP 数据包中插入选项 82 信息。中
eth_dslam_relay的用户连接到以太网数字用户线接入复用器 (DSLAM),后者充当第 2 层 DHCP 中继代理。的eth_dslam_relay活动服务器组是sp-2。为使 DHCP 中继代理能够信任 option 82 信息并使用第 2 层单播传输在发现期间向 DHCP 客户端发送 DHCP 回复数据包的组设置eth_dslam_relay覆盖。