DHCP 和 BOOTP 中继代理
您可以将瞻博网络交换机配置为动态主机配置协议 (DHCP) 或引导协议 (BOOTP) 中继代理。如果将交换机配置为 DHCP 中继代理,则还可以启用智能 DHCP 中继。
您还可以在交换机配置为 DHCP 服务器时启用 BOOTP 支持。有关更多详细信息,请阅读本主题。
交换机的 DHCP 和 BOOTP 中继概述
您可以将瞻博网络交换机配置为动态主机配置协议 (DHCP) 或引导协议 (BOOTP) 中继代理。这意味着,如果交换机收到来自本地连接的主机(客户端)的广播 DHCP 或 BOOTP 请求,则会将消息中继到指定的 DHCP 或 BOOTP 服务器。如果您有本地连接的主机和远程 DHCP 或 BOOTP 服务器,则应将交换机配置为 DHCP/BOOTP 中继代理。
您可以将交换机配置为在将交换机用作 DHCP 中继代理时,使用网关 IP 地址 (giaddr) 作为中继 DHCP 数据包的交换机源 IP 地址。有关配置此选项的信息,请参阅 source-address-giaddr 配置语句。
您还可以使用智能 DHCP 中继,以便为网关接口配置备用 IP 地址,以便在服务器无法回复从主网关地址发送的请求时,交换机可以使用备用网关地址重新发送请求。要使用此功能,您必须使用多个 IP 地址配置第 3 层接口、第 3 层子接口或 IRB 接口,并将该接口配置为中继代理。
由于 DHCP 和 BOOTP 消息是广播的,而不是定向到特定的服务器、交换机或路由器,因此瞻博网络交换机不能同时充当 DHCP 服务器和 DHCP/BOOTP 中继代理。如果同时配置两个选项,Junos 操作系统 (Junos OS) 将生成提交错误,并且在删除其中一个选项之前,提交操作不会成功。
DHCP 客户端和服务器模型
DHCP IP 地址分配适用于客户端/服务器模型,在该模型中,服务器(在本例中为 Junos OS)从地址池中分配客户端可重用 IP 信息。DHCP 客户端可能会从多个 DHCP 服务器接收优惠消息,并且可以接受其中任何一个优惠;但是,客户通常会接受它收到的第一个报价。参见 图 1。


DHCP 由一个四步传输过程组成,该过程从来自客户端的广播 DHCP 发现消息开始。作为第二步,客户端从服务器接收 DHCP 提供消息。此消息包括 IP 地址和掩码,以及一些其他特定参数。然后,客户端发送 DHCP 请求消息,以接受在上一步中从服务器收到的 IP 地址和其他参数。DHCP 服务器发送 DHCP 响应消息,并从 DHCP 地址池中删除当前分配的地址。参见 图 2。
由于来自客户端的 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 和 BOOTP 中继
您可以将交换机配置为动态主机配置协议 (DHCP) 和引导协议 (BOOTP) 服务器或 DHCP 中继代理。当交换机是中继代理时,如果本地连接的主机将 DHCP 或 BOOTP 请求作为广播消息发出,交换机会将该消息中继到指定的 DHCP 或 BOOTP 服务器。如果您有本地连接的主机和远程 DHCP 或 BOOTP 服务器,则应将交换机配置为 DHCP 和 BOOTP 中继代理。
此任务使用增强型第 2 层软件 (ELS) 配置样式。如果交换机运行的软件不支持 ELS,请参阅 配置 DHCP 和 BOOTP 中继。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。
要将交换机配置为服务器,请使用 dhcp-local-server 语句。要将交换机配置为中继代理,请使用 dhcp-relay 语句。
如果要在交换机配置为 DHCP 服务器时启用 BOOTP 支持,请输入以下语句:
[edit system services dhcp-local-server] user@switch# set overrides bootp-support
如果要在交换机配置为 DHCP 中继代理时启用 BOOTP 支持,请输入以下语句:
[edit forwarding-options dhcp-relay] user@switch# set overrides bootp-support
在 QFX 系列上配置 DHCP 和 BOOTP 中继
您可以将 QFX 系列配置为充当动态主机配置协议 (DHCP) 和引导协议 (BOOTP) 中继代理。这意味着,如果本地连接的主机可以将 DHCP 或 BOOTP 请求作为广播消息发出,并且交换机会将该消息中继到指定的 DHCP 或 BOOTP 服务器。如果您有本地连接的主机和远程 DHCP 或 BOOTP 服务器,则应将交换机配置为 DHCP 和 BOOTP 中继代理。
此任务使用的 Junos OS 版本不支持增强型第 2 层软件 (ELS) 配置样式。如果交换机运行支持 ELS 的软件,请参阅 配置 DHCP 和 BOOTP 中继。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。
如果将交换机配置为 DHCP 中继代理,还可以启用智能 DHCP 中继,这样,您就可以为 DHCP 服务器配置备用网关地址,以便在服务器无法回复使用主网关地址发送的请求时,交换机可以通过备用网关地址重新发送请求。要使用此功能,您必须配置具有多个 IP 地址的路由 VLAN 接口或第 3 层逻辑接口,并将该接口配置为中继代理。
在 QFX 系列上配置 DHCP 和 BOOTP 中继代理
要将交换机配置为充当 DHCP 和 BOOTP 中继代理,请在层次结构级别包含 bootp
以下语句 [edit forwarding-options helpers]
:
[edit forwarding-options helpers] bootp { apply-secondary-as-giaddr text-description; client-response-ttl number; description text-description; interface (interface-name | interface-group) { client-response-ttl number; description text-description; maximum-hop-count number; minimum-wait-time seconds; no-listen; server address apply-secondary-as-giaddr } maximum-hop-count number; minimum-wait-time seconds; relay-agent-option; server server-identifier }
要包含 BOOTP 服务、DHCP 服务或接口的说明,请使用该 description
语句。
要使用特定 DHCP 中继或 BOOTP 配置配置一个逻辑接口或一组逻辑接口,请包含该 interface
语句。
要阻止转发数据包,请包含 no-listen
该语句。
要在 BOOTP 消息的跃点字段中设置允许的最大数量,请包含 maximum-hop-count
语句。不会转发跃点字段中数字大于允许的最大数量的 BOOTP 消息。如果省 maximum-hop-count
略该语句,则默认的最大跃点数为 4。
要在 BOOTP 消息字段中设置允许的最小秒 secs
数,请包含该 minimum-wait-time
语句。此设置配置自客户端发送其第一个 BOOTP 请求以来的最小秒数。不会转发字段中编号 secs
小于允许的最小值的 BOOTP 消息。最短等待时间的默认值为零 (0)。
要设置为路由器、交换机或接口指定 DHCP 或 BOOTP 服务器的 IP 地址,请包含该 server
语句。您可以包含多个 server
语句。
要为发送到 DHCP 客户端的 DHCP 响应数据包设置 IP 生存时间 (TTL) 值,请包含该 client-response-ttl
语句。
以下示例演示了 BOOTP 中继代理配置。
user@host# show forwarding-options helpers { bootp { description "dhcp relay agent global parameters"; server 192.168.55.44; server 172.16.0.3 routing-instance c3; maximum-hop-count 10; minimum-wait-time 8; interface { xe-0/0/1 { description "use this info for this interface"; server 10.10.10.10; server 192.168.14.14; maximum-hop-count 11; minimum-wait-time 3; } xe-0/0/2 { no-listen; ###ignore DHCPDISCOVER messages on this interface } all { description "globals apply to all other interfaces"; } } } }
参见
在 QFX 系列上配置 DHCP 智能中继
您可以使用 DHCP 智能中继为 DHCP 中继配置提供冗余和弹性。智能中继提供额外的中继功能,并且需要 DHCP 中继所需的所有配置设置。要使用 DHCP 智能中继,还需要分配有多个 IP 地址的接口。您可以通过执行以下任一任务来实现此目的:
创建路由 VLAN 接口并为其分配至少两个 IP 地址。有关此方法的信息,请参阅 在交换机上配置 IRB 接口 和 示例:使用 IRB 接口在一个交换机上配置 VLAN 之间的路由 。
创建一个第 3 层逻辑接口(通过使用 VLAN 标记)并为其分配至少两个 IP 地址。有关此方法的信息,请参阅 了解第 3 层逻辑接口 和 配置第 3 层逻辑接口 。
创建具有多个 IP 地址的接口后,输入以下语句之一完成智能中继配置:
set forwarding-options helpers bootp smart-relay-global
:此语句用于在配置为中继代理的所有接口上启用智能中继。set forwarding-options helpers bootp interface interface-name smart-relay-agent
:使用此语句在特定接口上启用智能中继。
为接口配置智能中继后,交换机最初会将接口的主地址用作 DHCP 消息的网关 IP 地址(在 giaddr 字段中),从该接口发送 DHCP 请求(发现)消息。如果未从服务器收到 DHCP 提供消息作为回复,则交换机允许客户端使用相同的网关 IP 地址再发送多达三条发现消息。如果三次重试后未收到 DHCP 优惠消息,交换机将使用备用 IP 地址作为网关 IP 地址重新发送发现消息。如果在中继代理接口上配置两个以上的 IP 地址,交换机将重复此过程,直到收到 DHCP 提供消息或所有 IP 地址均未成功使用。