在此页面上
DHCP 中继代理
DHCP 中继代理充当 DHCP 客户端和服务器之间的接口。DHCP 中继代理在不同 IP 网络上的 DHCP 客户端和 DHCP 服务器之间中继 DHCP 消息。有关更多信息,请阅读本主题。
了解 DHCP 中继代理操作
作为 DHCP 中继代理运行的瞻博网络设备将来自 BOOTP 和 DHCP 客户端的传入请求转发到指定的 BOOTP 或 DHCP 服务器。客户端请求可以通过虚拟专用网络 (VPN) 隧道。
不能将单个设备接口配置为同时作为 DHCP 客户端和 DHCP 中继运行。
接口上收到的 DHCP 请求与与接口上的主 IP 地址/子网位于同一子网中的 DHCP 池相关联。如果接口与多个 IP 地址/子网关联,则设备将使用数字分配的最低 IP 地址作为接口的主 IP 地址/子网。要更改接口上列为主地址的 IP 地址/子网,请使用 set interfaces < interface name > unit 0 family inet xxx.xxx.xxx.xxx/yy primary
命令并提交更改。
通过 DHCP 未配置接口传递的所有 DHCP 数据包可能会被丢弃。
启用 DHCP 中继或 DHCP 服务器功能还会启用 DHCP 侦听功能,该功能会分析通过设备的任何接口(DHCP 已配置和未配置的接口)接收的所有 DHCP 数据包。
未在 DHCP 设置下列出的接口被视为 unconfigured
接口。根据配置,在 DHCP 未配置的接口上接收的 DHCP 数据包将被丢弃。
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 中继代理“窥探”客户端与通过路由器(或交换机)的服务器之间的所有单播数据包,以确定此客户端的租约何时到期或解除。此过程称为 租约影子 或 被动侦听。
在所有 Junos OS 设备上,当 DHCP 中继配置 forward-only
了选项时,并且 DHCP 客户端在逻辑隧道接口上终止(如果逻辑隧道接口)
包括多个逻辑接口
在同一接口的
lt
多个逻辑接口上使用相同的 VLAN
在这种情况下,DHCP 中继可能无法发送 OFFER 消息。
此问题适用于 Junos OS 版本 19.3R3、19.4R2、18.4R3、19.4R1、19.3R2、18.4R3-S1、17.4R3 版本。
最低 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
的接口组。在此组中,在接口 ge-0/0/1.0 上启用了 DHCP 中继代理。
配置转发流量的选项,而无需创建新的订阅者会话。
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 基本选项 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 中继仅转发回复选项,以启用转发到其他 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 中继代理在不同 IP 网络上的 DHCP 客户端和 DHCP 服务器之间中继 DHCP 消息。
此示例介绍如何在 SRX 系列防火墙上配置 DHCP 中继代理。充当 DHCP 中继代理的 SRX 系列防火墙负责在属于不同路由实例的 DHCP 客户端和服务器之间转发请求和响应。
要求
此示例使用以下硬件和软件组件:
配备 Junos OS 15.1X49-D10 或更高版本的 SRX 系列防火墙。
概述
您可以将 DHCP 中继代理配置为在 DHCP 服务器和驻留在不同虚拟路由实例中的 DHCP 客户端之间交换 DHCP 消息时提供额外的安全性。当 DHCP 服务器驻留在与客户端网络隔离的网络中时,此类型的配置适用于 DHCP 服务器和 DHCP 客户端之间的 DHCP 中继连接。
拓扑
要在不同路由实例之间交换 DHCP 消息,必须同时启用 DHCP 中继代理面向服务器的接口和面向客户端的接口,以识别和转发 DHCP 数据包。
下图 1 显示了 DHCP 本地服务器、DHCP 客户端和 DHCP 中继代理的 DHCP 性能
以下列表概述了在不同路由实例之间创建 DHCP 消息交换所需的任务:
配置 DHCP 中继代理面向客户端的一端。
配置 DHCP 中继代理面向服务器的端。
将安全区域配置为允许 DHCP 协议。
表 1: DHCP 中继参数:
参数
客户端详细信息
服务器端详细信息
接口
ge-0/0/3.0
ge-0/0/4.0
路由接口
信任-VR
untrust-vr
IP 地址
10.1.1.2/24
20.1.1.1/24
注意:为了使此设置正常工作,DHCP 服务器连接路由和中继代理接口路由必须位于两个路由实例中。例如,在上述拓扑中,服务器路由 30.1.1.0/24 需要与 dhcp 中继 VR 共享,而 dhcp 中继接口路由 10.1.1.0/24 确切需要与默认路由实例共享。
此外,必须在具有 DHCP 服务器的路由实例中添加虚拟 DHCP 中继配置。如果未配置此设置,DHCP 中继将无法从 DHCP 服务器接收数据包。
配置
CLI 快速配置
以下过程介绍用于在 DHCP 服务器和不同路由实例中的客户端之间创建 DHCP 消息交换的配置任务。要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
快速配置面向客户端的支持:
set routing-instances trust-vr instance-type virtual-router set routing-instances trust-vr interface ge-0/0/3.0 set interfaces ge-0/0/3 unit 0 family inet address 10.1.1.2/24
面向服务器的支持的快速配置:
set routing-instances untrust-vr instance-type virtual-router set routing-instances untrust-vr interface ge-0/0/4.0 set routing-instances untrust-vr forwarding-options dhcp-relay forward-only-replies set interfaces ge-0/0/4 unit 0 family inet address 20.1.1.1/24
快速配置 DHCP 中继支持:
set routing-instances untrust-vr forwarding-options dhcp-relay server-group dummy-config set routing-instances untrust-vr routing-options instance-import import_relay_route_to_server_vr set routing-instances untrust-vr routing-options static route 30.1.1.0/24 next-hop 20.1.1.2 set routing-instances trust-vr forwarding-options dhcp-relay server-group server-1 30.1.1.2 set routing-instances trust-vr forwarding-options dhcp-relay active-server-group server-1 set routing-instances trust-vr forwarding-options dhcp-relay group relay-in-vr interface ge-0/0/3.0 set routing-instances trust-vr routing-options instance-import export_dhcp_server_route set policy-options policy-statement export_dhcp_server_route term 1 from instance untrust-vr set policy-options policy-statement export_dhcp_server_route term 1 from route-filter 30.1.1.0/24 exact set policy-options policy-statement export_dhcp_server_route term 1 then accept set policy-options policy-statement export_dhcp_server_route term 2 then reject set policy-options policy-statement import_relay_route_to_server_vr term 1 from instance trust-vr set policy-options policy-statement import_relay_route_to_server_vr term 1 from route-filter 10.1.1.0/24 exact set policy-options policy-statement import_relay_route_to_server_vr term 1 then accept set policy-options policy-statement import_relay_route_to_server_vr term 2 then reject set routing-options static route 30.1.1.2/32 next-table untrust-vr.inet.0
快速配置安全区域以允许 DHCP 协议:
set security policies default-policy permit-all set security zones security-zone untrust interfaces ge-0/0/4.0 host-inbound-traffic system-services all set security zones security-zone untrust interfaces ge-0/0/4.0 host-inbound-traffic protocols all set security zones security-zone trust interfaces ge-0/0/3.0 host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/3.0 host-inbound-traffic protocols all
程序
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要在 DHCP 中继代理面向客户端的一端配置支持:
将路由实例类型设置为虚拟路由器。
[edit] user@host# set routing-instances trust-vr instance-type virtual-router
为虚拟路由器设置接口
[edit] user@host# set routing-instances trust-vr interface ge-0/0/3.0
将接口的 IP 地址设置为接口。
[edit] user@host# set interfaces ge-0/0/3 unit 0 family inet address 10.1.1.2/24
程序
分步过程
要在 DHCP 中继代理面向服务器的端配置支持,请执行以下操作:
设置虚拟路由器。
[edit] user@host# set routing-instances untrust-vr instance-type virtual-router
为虚拟路由器设置接口。
[edit] user@host# set routing-instances untrust-vr interface ge-0/0/4.0
设置仅转发答复选项。
[edit] user@host# set routing-instances untrust-vr forwarding-options dhcp-relay forward-only-replies
将接口的 IP 地址设置为接口。
[edit] user@host# set interfaces ge-0/0/4 unit 0 family inet address 20.1.1.1/24
程序
分步过程
要将 DHCP 本地服务器配置为支持:
在 DHCP 中继中为 untrust-vr 路由实例设置配置
[edit ] user@host# set routing-instances untrust-vr forwarding-options dhcp-relay server-group dummy-config user@host# set routing-instances untrust-vr routing-options instance-import import_relay_route_to_server_vr user@host# set routing-instances untrust-vr routing-options static route 30.1.1.0/24 next-hop 20.1.1.2
在 DHCP 中继中为信任 vr 路由实例设置配置
[edit ] user@host# set routing-instances trust-vr forwarding-options dhcp-relay server-group server-1 30.1.1.2 user@host# set routing-instances trust-vr forwarding-options dhcp-relay active-server-group server-1 user@host# set routing-instances trust-vr forwarding-options dhcp-relay group relay-in-vr interface ge-0/0/3.0 user@host# set routing-instances trust-vr routing-options instance-import export_dhcp_server_route
将配置设置为在路由实例之间共享路由。
[edit ] user@host# set policy-options policy-statement export_dhcp_server_route term 1 from instance untrust-vr user@host# set policy-options policy-statement export_dhcp_server_route term 1 from route-filter 30.1.1.0/24 exact user@host# set policy-options policy-statement export_dhcp_server_route term 1 then accept user@host# set policy-options policy-statement export_dhcp_server_route term 2 then reject user@host# set policy-options policy-statement import_relay_route_to_server_vr term 1 from instance trust-vr user@host# set policy-options policy-statement import_relay_route_to_server_vr term 1 from route-filter 10.1.1.0/24 exact user@host# set policy-options policy-statement import_relay_route_to_server_vr term 1 then accept user@host# set policy-options policy-statement import_relay_route_to_server_vr term 2 then reject user@host# set routing-options static route 30.1.1.2/32 next-table untrust-vr.inet.0
注意:您可以启用 SRX 系列防火墙作为 DHCP 本地服务器运行。DHCP 本地服务器提供 IP 地址和其他配置信息以响应客户端请求。
程序
分步过程
要将安全区域配置为允许 DHCP 协议,请执行以下操作:
设置默认安全策略以允许所有流量。
[edit ] user@host# set security policies default-policy permit-all
在接口 ge-0/0/4.0 上设置所有系统服务和协议。
[edit ] user@host# set security zones security-zone untrust interfaces ge-0/0/4.0 host-inbound-traffic system-services all user@host# set security zones security-zone untrust interfaces ge-0/0/4.0 host-inbound-traffic protocols all
在接口 ge-0/0/3.0 上设置所有系统服务和协议。
[edit ] user@host# set security zones security-zone trust interfaces ge-0/0/3.0 host-inbound-traffic system-services all user@host# set security zones security-zone trust interfaces ge-0/0/3.0 host-inbound-traffic protocols all
结果
面向客户端的支持的结果:
在配置模式下,输入 show routing-instances
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
[edit] user@host# show routing-instances trust-vr { instance-type virtual-router; interface ge-0/0/3.0; }
面向服务器支持的结果:
在配置模式下,输入
show routing-instances
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
[edit] user@host# show routing-instances untrust-vr { instance-type virtual-router; interface ge-0/0/4.0; forwarding-options { dhcp-relay { forward-only-replies; } } }
DHCP 本地服务器支持的结果:
在配置模式下,输入
show routing-instances
和show policy-options
show routing-options
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
[edit] user@host# show routing-instances trust-vr { routing-options { instance-import export_dhcp_server_route; } forwarding-options { dhcp-relay { server-group { server-1 { 30.1.1.2; } } active-server-group server-1; group relay-in-vr { interface ge-0/0/3.0; } } } } untrust-vr { routing-options { static { route 30.1.1.0/24 next-hop 20.1.1.2; } instance-import import_relay_route_to_server_vr; } forwarding-options { dhcp-relay { server-group { dummy-config; } } } } [edit] user@host# show policy-options policy-statement export_dhcp_server_route { term 1 { from { instance untrust-vr; route-filter 30.1.1.0/24 exact; } then accept; } term 2 { then reject; } } policy-statement import_relay_route_to_server_vr { term 1 { from { instance trust-vr; route-filter 10.1.1.0/24 exact; } then accept; } term 2 { then reject; } } [edit] user@host# show routing-options static { route 30.1.1.2/32 next-table untrust-vr.inet.0; }
安全区域允许 DHCP 协议的结果:
在配置模式下,输入
show security policies
和show security zones
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
[edit] user@host# show security policies default-policy { permit-all; } [edit] user@host# show security zones security-zone HOST { interfaces { all; } } security-zone untrust { interfaces { ge-0/0/4.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } } } security-zone trust { interfaces { ge-0/0/3.0 { host-inbound-traffic { system-services { all; } protocols { all; } } } } }
如果完成设备配置,请从配置模式输入 commit
。
验证
验证 DHCP 中继统计信息配置:
目的
验证是否已配置 DHCP 中继统计信息。
行动
在操作模式下,输入
show dhcp relay statistics routing-instance dhcp-relay
命令。Packets dropped: Total 0 Messages received: BOOTREQUEST 1 DHCPDECLINE 0 DHCPDISCOVER 0 DHCPINFORM 0 DHCPRELEASE 0 DHCPREQUEST 1 Messages sent: BOOTREPLY 1 DHCPOFFER 0 DHCPACK 1 DHCPNAK 0 DHCPFORCERENEW 0
在 EX 系列交换机上配置 DHCP 中继代理
您可以将 EX 系列交换机配置为扩展 DHCP 中继代理。这意味着本地连接的主机可以将 DHCP 请求作为广播消息发出,并且为 DHCP 中继配置的交换机会将消息中继到指定的 DHCP 服务器。如果您有本地连接的主机和远程 DHCP 服务器,请将交换机配置为 DHCP 中继代理。
准备工作:
确保交换机可以连接到 DHCP 服务器。
要将交换机配置为扩展 DHCP 中继代理服务器,请执行以下操作:
配置 DHCP 智能中继(传统 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 地址均未成功使用。
参见
禁用离散 DHCP 请求的自动绑定
已收到但在数据库中没有条目的 DHCP 请求称为离散请求。默认情况下,DHCP 中继、DHCP 中继代理和 DHCPv6 中继代理尝试通过创建数据库条目并将请求转发到 DHCP 服务器来绑定请求客户端。如果服务端响应ACK,则绑定客户端,并将ACK转发给客户端。如果服务器使用 NAK 进行响应,则会删除数据库条目,并将 NAK 转发给客户端。无论是否配置了身份验证,都会发生此行为。
您可以在全局级别、命名接口组或命名组中的特定接口覆盖默认配置。覆盖默认值会导致 DHCP 中继、DHCP 中继代理和 DHCPv6 中继代理丢弃所有离散请求,而不是尝试绑定客户端。
默认情况下,自动绑定离散请求处于启用状态。
要禁用自动绑定行为,请在全局、组或接口级别配置 DHCP 覆盖时包含该
no-bind-on-request
语句。[edit forwarding-options dhcp-relay overrides] user@host# set no-bind-on-request
要覆盖 DHCPv6 中继代理的默认行为,请在层次结构级别配置覆盖
[edit forwarding-options dhcp-relay dhcpv6]
。[edit forwarding-options dhcp-relay dhcpv6 overrides] user@host# set no-bind-on-request
以下两个示例显示了禁用一组接口的离散请求自动绑定的配置,以及禁用特定接口上自动绑定的配置。
要在一组接口上禁用离散请求的自动绑定,请执行以下操作:
要禁用特定接口上离散请求的自动绑定,请执行以下操作:
指定接口所属的命名组。
[edit forwarding-options dhcp-relay] user@host# edit group boston
指定要禁用自动绑定的接口。
[edit forwarding-options dhcp-relay group boston] user@host# edit interface fe-1/0/1.2
指定要配置替代的内容。
[edit forwarding-options dhcp-relay group boston interface fe-1/0/1.2] user@host# edit overrides
禁用接口上的自动绑定。
[edit forwarding-options dhcp-relay group boston interface fe-1/0/1.2 overrides] user@host# set no-bind-on-request
对 DHCP 数据包使用第 2 层单播传输而不是广播
您可以将 DHCP 中继代理配置为覆盖 DHCP 请求数据包中的广播位设置。然后,DHCP 中继代理改为使用第 2 层单播传输方法在发现过程中将 DHCP 提供回复数据包和 DHCP 确认回复数据包从 DHCP 服务器发送到 DHCP 客户端。
要覆盖 DHCP 请求数据包中广播位的默认设置:
将网关 IP 地址 (giaddr) 字段更改为 DHCP 中继代理的 giaddr
您可以将 DHCP 中继代理配置为更改它在 DHCP 客户端和 DHCP 服务器之间转发的数据包中的网关 IP 地址 (giaddr) 字段。
要在将数据包转发到 DHCP 服务器之前,使用 DHCP 中继代理的 giaddr 覆盖每个 DHCP 数据包的 giaddr:
配置 DHCP 中继代理以将请求和释放数据包替换为网关 IP 地址
您可以将 DHCP 中继代理配置为在将数据包转发到 DHCP 服务器之前,将请求和释放数据包替换为网关 IP 地址 (giaddr)。
要将源地址替换为 giaddr:
覆盖默认 DHCP 中继配置设置
您可以在全局级别、命名接口组或命名组中的特定接口覆盖默认 DHCP 中继配置设置。
要覆盖全局默认 DHCP 中继代理配置选项,请在层次结构级别包含
[edit forwarding-options dhcp-relay]
该overrides
语句及其从属语句。要覆盖命名接口组的 DHCP 中继配置选项,请在层次结构级别包含语句
[edit forwarding-options dhcp-relay group group-name]
。要覆盖命名接口组中特定接口的 DHCP 中继配置选项,请在层次结构级别包含语句
[edit forwarding-options dhcp-relay group group-name interface interface-name]
。要在全局级别、组级别或每个接口配置 DHCPv6 中继的覆盖,请在层次结构级别使用
[edit forwarding-options dhcp-relay dhcpv6]
相应的语句。
要覆盖默认的 DHCP 中继代理配置设置,请执行以下操作:
为接口、组或全局禁用 DHCP 中继代理
您可以在所有接口或一组接口上禁用 DHCP 中继。
要禁用 DHCP 中继代理:
示例:基于 DHCP 选项字符串配置 DHCP 中继代理选择性流量处理
此示例说明如何将 DHCP 中继代理配置为使用 DHCP 选项字符串有选择地标识、过滤和处理客户端流量。
要求
此示例使用以下硬件和软件组件:
MX 系列 5G 通用路由平台或 EX 系列交换机
在配置 DHCP 中继代理选择性处理支持之前,请确保:
配置 DHCP 中继代理。
请参阅 扩展 DHCP 中继代理概述。
(可选)如果要将客户端流量转发到服务器组,请配置指定的 DHCP 本地服务器组。
请参阅 使用常见 DHCP 配置对接口进行分组。
概述
在此示例中,您将 DHCP 中继代理配置为使用客户端数据包中的 DHCP 选项字符串来有选择地识别、过滤和处理客户端流量。若要配置选择性处理,请执行以下过程:
识别客户端流量 - 指定 DHCP 中继代理用于识别要处理的客户端流量的 DHCP 选项。您指定的选项与客户端流量中的选项匹配。
配置默认操作 — 指定默认处理操作,DHCP 中继将其用于不满足任何配置匹配条件的已识别客户端流量。
创建匹配过滤器并将操作与每个过滤器关联 - 指定过滤客户端流量的匹配标准。条件可以是与客户端流量中的选项字符串完全匹配或部分匹配。将处理操作与每个匹配标准相关联。
配置
要根据 DHCP 选项信息配置 DHCP 中继代理选择性处理,请执行以下任务:
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
set forwarding-options dhcp-relay relay-option option-number 60 set forwarding-options dhcp-relay relay-option equals ascii video-gold forward-only set forwarding-options dhcp-relay relay-option equals ascii video-bronze local-server-group servergroup-15 set forwarding-options dhcp-relay relay-option starts-with hexadecimal fffff local-server-group servergroup-east set forwarding-options dhcp-relay relay-option default-action drop
配置 DHCP 中继代理以基于 DHCP 选项字符串有选择地处理客户端流量
分步过程
要配置 DHCP 中继选择性处理,请执行以下操作:
指定要配置 DHCP 中继代理支持。
[edit forwarding-options] user@host#
edit dhcp-relay
指定 DHCP 中继代理用于识别传入客户端流量的 DHCP 选项。
[edit forwarding-options dhcp-relay] user@host#
set relay-option option-number 60
配置默认操作,当传入客户端流量不满足任何配置的匹配标准时,DHCP 中继代理将使用该操作。
[edit forwarding-options dhcp-relay] user@host#
set relay-option default-action drop
配置 DHCP 中继用于处理识别的客户端流量的完全匹配条件和相关操作。
[edit forwarding-options dhcp-relay] user@host#
set relay-option equals ascii video-gold
forward-only配置 DHCP 中继用于处理客户端流量的第二个完全匹配条件和相关操作。
[edit forwarding-options dhcp-relay] user@host#
set relay-option equals ascii video-bronze
local-server-group servergroup-15配置 DHCP 中继用于处理客户端流量的部分匹配标准和相关操作。
[edit forwarding-options dhcp-relay] user@host#
set relay-option starts-with hexadecimal fffff local-server-group servergroup-east
结果
在配置模式下,通过在层次结构级别发出 show
语句 [edit forwarding-options]
来确认配置结果。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
[edit forwarding-options] user@host# show dhcp-relay { relay-option { option-number 60; equals { ascii video-gold { forward-only; } } equals { ascii video-bronze { local-server-group servergroup-15; } } default-action { drop; } starts-with { hexadecimal fffff { local-server-group servergroup-east; } } } }
如果完成设备配置,请从配置模式输入 commit
。
验证
要验证 DHCP 中继代理选择性流量处理的状态,请执行以下任务:
验证 DHCP 中继代理选择性流量处理的状态
目的
验证 DHCP 中继代理选择性流量处理状态。
行动
显示 DHCP 中继代理的统计信息。
user@host> show dhcp relay statistics Packets dropped: Total 30 Bad hardware address 1 Bad opcode 1 Bad options 3 Invalid server address 5 No available addresses 1 No interface match 2 No routing instance match 9 No valid local address 4 Packet too short 2 Read error 1 Send error 1 Option 60 1 Option 82 2 Messages received: BOOTREQUEST 116 DHCPDECLINE 0 DHCPDISCOVER 11 DHCPINFORM 0 DHCPRELEASE 0 DHCPREQUEST 105 Messages sent: BOOTREPLY 0 DHCPOFFER 2 DHCPACK 1 DHCPNAK 0 DHCPFORCERENEW 0 Packets forwarded: Total 4 BOOTREQUEST 2 BOOTREPLY 2
意义
Packets forwarded
命令输出中的show dhcp relay statistics
字段显示由于选择性流量处理配置而转发的客户端数据包数。在此示例中,输出指示 DHCP 中继代理转发的数据包总数,以及转发的数据包数和数据包的BOOTREQUEST
BOOTREPLY
细分。
验证和管理 DHCP 中继配置
目的
查看或清除 DHCP 中继代理客户端的地址绑定或统计信息。
行动
要显示 DHCP 中继代理客户端的地址绑定,请执行以下操作:
user@host>
show dhcp relay binding
要显示 DHCP 中继代理统计信息,请执行以下操作:
user@host>
show dhcp relay statistics
要清除 DHCP 中继代理客户端的绑定状态,请执行以下操作:
user@host>
clear dhcp relay binding
要清除所有 DHCP 中继代理统计信息,请执行以下操作:
user@host>
clear dhcp relay statistics
要清除或查看有关路由实例中的客户端绑定和统计信息的信息,请运行以下命令:
show dhcp relay binding routing instance <routing-instance name>
show dhcp relay statistics routing instance <routing-instance name>
clear dhcp relay binding routing instance <routing-instance name>
clear dhcp relay statistics routing instance <routing-instance name>
在所有 SRX 系列防火墙上,DHCP 中继无法根据DHCP_RENEW和DHCP_RELEASE消息更新绑定状态。
参见
扩展 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 中继代理,请在层次结构级别包含 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 活动检测。