DHCP 服务器配置
本主题讨论最低 DHCP 服务器配置、完整 DHCP 服务器配置、扩展 DHCP 服务器配置。您还可以使用本主题获取有关如何将路由器配置为 DHCP 服务器、将交换机配置为 DHCP 服务器、将交换机配置为 DHCP 服务器、将设备配置为 DHCP 服务器的信息。
DHCP 服务器配置概述
典型的 DHCP 服务器配置为设备入口接口上的特定子网提供以下配置设置:
一个 IP 地址池,其中一个地址从池中排除。
默认和最大租赁时间。
域搜索后缀。这些后缀指定客户端在解析使用 DNS 解析主机名时使用的域搜索列表。
DNS 名称服务器。
设备请求地址选项(选项 32)。从 IP 地址池中排除的 IP 地址保留为此选项。
此外,DHCP 服务器可能会将静态地址分配给子网上的至少一个客户端。 表 1 提供了 DHCP 服务器配置示例的设置和值。
设置 |
示例值 |
---|---|
DHCP 子网配置 | |
地址池子网地址 |
|
池中的高地址 |
|
池中的低地址 |
|
地址池默认租用时间,以秒为单位 |
|
地址池最大租用时间,以秒为单位 |
|
域搜索后缀 |
|
要从池中排除的地址 |
|
DNS 服务器地址 |
|
路由器请求地址选项的标识符代码 |
|
路由器请求地址选项的类型选择 |
|
路由器请求地址的 IP 地址选项 |
|
DHCP MAC 地址配置 | |
静态绑定 MAC 地址 |
|
固定地址 |
|
DHCP 本地服务器最低配置
以下示例输出显示将 SRX300、SRX320、SRX340、SRX345、SRX550M 或 SRX1500 设备配置为 DHCP 服务器时必须使用的最低配置。在此输出中,服务器组名为 mobileusers,并在组内的入口接口 ge-1/0/1.0 上启用 DHCP 本地服务器。地址池名为 acmenetwork,从 192.168.1.10/24 的低范围到 192.168.1.20/24 的高范围。
[edit access] address-assignment { pool acmenetwork { family inet { network 192.168.1.0/24; range r1 { low 192.168.1.10; high 192.168.1.20; } } } }
[edit system services] dhcp-local-server { group mobileusers { interface ge-1/0/1.0 } }
[edit interfaces ge-1/0/1 unit 0] family { inet { address 192.168.1.1/24 } }
您可以使用层级中的 、 和address-assignment
语句在路由实例dhcp-local server
interface
中[edit routing-instances]
配置 DHCP 本地服务器。
此示例显示了在组级别用于扩展 DHCP 本地服务器所需的最低配置:
[edit system services] dhcp-local-server { group group_one { interface ge-0/0/2.0; } }
此示例将创建名为 group_one
, 的服务器组,并指定在组内的接口 fe-0/0/2.0
上启用 DHCP 本地服务器。DHCP 本地服务器使用 ip-address-first.
如果删除 DHCP 服务器配置,DHCP 服务器绑定可能仍保留。要确保删除 DHCP 绑定,请发出命令, clear dhcp server binding
然后再删除 DHCP 服务器配置。
此示例显示了在组级别用于扩展 DHCP 本地服务器所需的最低配置。如果有接口 ge-0/0/2 的动态配置文件配置,应按格式添加接口 ifd.0
。例如 ge-0/0/2.0
:
[edit system services] dhcp-local-server { group group_one { interface ge-0/0/2.0; } }
此示例将创建名为 group_one
, 的服务器组,并指定在组内的接口 ge-0/0/2.0
上启用 DHCP 本地服务器。
示例:完整 DHCP 服务器配置
本主题显示完整的 DHCP 服务器配置。
要求
此示例使用在 Junos OS 20.1R1 版上测试。
概述
只能在接口的主 IP 地址上配置 DHCP 服务器。接口上的主地址是默认情况下用作本地地址的广播和组播数据包的本地地址,这些数据包来自本地并发送出接口。
以下示例显示了层级的[edit interfaces]
语句。接口的主地址 (10.3.3.3.1/24) 具有在[edit system services]
层次结构级别定义的相应地址池范围 (10.3.3.33 到 10.3.3.254)。
配置
要配置 DHCP 服务器,请执行以下任务:
配置 [项目]
逐步过程
配置 DHCP 服务器。
[edit access address-assignment pool P1 family inet] range R1 { low 10.3.3.33; high 10.3.3.254; } dhcp-attributes { maximum-lease-time 7200; server-identifier 10.3.3.1; domain-name domain.tld; name-server { 10.6.6.6; 10.6.6.7; } wins-server { 10.7.7.7; 10.7.7.9; } router { 198.51.100.0; 198.51.100.1; 10.6.6.1; 10.7.7.1; } boot-file boot-client; boot-server 10.4.4.1; option 19 flag false; option 40 string domain.tld; option 16 ip-address 10.3.3.3; } host H1 { hardware-address 00:0d:56:f4:20:01; ip-address 10.4.4.4; } host H2 { hardware-address 00:0d:56:f4:01:ab; ip-address 10.5.5.6; } excluded-address 10.3.3.33; excluded-address 192.0.2.5; }
配置客户端选项。
[edit interfaces] ge-0/0/1 { unit 0 { family inet { dhcp { client-identifier { user-id ascii 01aa.001a.bc65.3e; } lease-time 4100; update-server; } address 10.3.3.1/24; } }
配置传统 DHCP 服务器
逐步过程
指定 DHCP 服务器配置选项。
dhcp { domain-name "domain.tld"; maximum-lease-time 7200; default-lease-time 3600; name-server { 10.6.6.6; 10.6.6.7; } domain-search [ subnet1.domain.tld subnet2.domain.tld ]; wins-server { 10.7.7.7; 10.7.7.9; } router { 10.6.6.1; 10.7.7.1; } option 19 flag off; # 19: "IP Forwarding" option option 40 string "domain.tld"; # 40: "NIS Domain" option option 16 ip-address 10.3.3.33; # 16: "Swap Server" option pool 10.3.3.0/24 { address-range low 10.3.3.2 high 10.3.3.254; exclude-address { 10.3.3.33; } router { 10.3.3.1; } server-identifier 10.3.3.1; } pool 10.4.4.0/24 { boot-file "boot.client"; boot-server 10.4.4.1; } static-binding 00:0d:56:f4:20:01 { fixed-address 10.4.4.4; host-name "host.domain.tld"; } static-binding 00:0d:56:f4:01:ab { fixed-address { 10.5.5.5; 10.6.6.6; } host-name "another-host.domain.tld"; client-identifier "01aa.001a.bc65.3e"; } }
配置客户端选项。
[edit interfaces] ge-0/0/1 { unit 0 { family inet { address 10.3.3.1/24; } }
将路由器配置为扩展 DHCP 本地服务器
您可以启用路由器作为扩展的 DHCP 本地服务器运行,并在路由器上配置扩展的 DHCP 本地服务器选项。扩展的 DHCP 本地服务器会根据客户端请求提供 IP 地址和其他配置信息。
扩展的 DHCP 本地服务器增强了传统 DHCP 服务器操作,其中客户端地址池和客户端配置信息驻留在 DHCP 服务器上。借助扩展的 DHCP 本地服务器,客户端地址和配置信息驻留在集中式地址分配池中,这些池独立于 DHCP 本地服务器进行管理,并由不同的客户端应用程序共享。
扩展的 DHCP 本地服务器还支持高级池匹配和使用指定地址范围。您还可以将本地服务器配置为使用客户端 PDU 中的 DHCP option 82 信息,以确定要用于特定客户端的命名地址范围。在地址分配池中配置的客户端配置信息包括用户定义的选项,如启动服务器、宽限期和租赁时间。
配置包括扩展 DHCP 本地服务器的 DHCP 环境需要两个独立的配置操作,您可以按任意顺序完成这些操作。在一个操作中,您可以在路由器上配置扩展的 DHCP 本地服务器,并指定 DHCP 本地服务器如何确定要使用哪个地址分配池。在其他操作中,您可以配置 DHCP 本地服务器使用的地址分配池。地址分配池包含 DHCP 客户端的 IP 地址、命名地址范围和配置信息。有关创建和使用 地址分配池 的详细信息,请参阅 IP 地址分配池。
服务器使用的扩展 DHCP 本地服务器和地址分配池必须在同一逻辑系统和路由实例中配置。
您不能在同一接口上配置扩展的 DHCP 本地服务器和扩展的 DHCP 中继。
要配置路由器上的扩展 DHCP 本地服务器,请在 dhcp-local-server
层次结构级别添加语句 [edit system services]
:
[edit system services] dhcp-local-server { authentication { password password-string; username-include { circuit-type; delimiter delimiter-character; domain-name domain-name-string; logical-system-name; mac-address; option-60; option-82 <circuit-id> <remote-id>; routing-instance-name; user-prefix user-prefix-string; } } group group-name { authentication { password password-string; username-include { circuit-type; delimiter delimiter-character; domain-name domain-name-string; logical-system-name; mac-address; option-60; option-82 <circuit-id> <remote-id>; routing-instance-name; user-prefix user-prefix-string; } } interface interface-name <upto upto-interface-name> <exclude>; } pool-match-order { ip-address-first; option-82; } }
您还可以将这些语句包含在以下层次结构级别:
[edit logical-systems logical-system-name system services]
[edit logical-systems logical-system-name routing-instances routing-instance-name system services]
[edit routing-instances routing-instance-name system services]
此外,您还可以通过在层次结构级别包含语句traceoptions
[edit system processes dhcp-service]
来配置 DHCP 本地服务器操作跟踪:
[edit system processes] traceoptions { file filename <files number> <match regular-expression > <size maximum-file-size> <world-readable | no-world-readable>; flag flag; level (all | error | info | notice | verbose | warning); no-remote-trace; }
将交换机配置为 DHCP 服务器
本主题适用于适用于 EX 系列交换机的 Junos OS 以及支持增强型第 2 层软件 (ELS) 配置样式的 QFX 系列交换机。如果交换机运行的软件不支持 ELS,请参阅 在交换机上配置 DHCP 服务器。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。
动态主机配置协议 (DHCP) 服务器提供了一个框架,用于将配置信息传递到 TCP/IP 网络上的客户端主机。充当 DHCP 服务器的交换机可以动态分配 IP 地址和其他配置参数,从而将客户端添加到网络所需的开销降至最低。
DHCP 配置由两个组件组成:DHCP 客户端上的可选默认设置重新配置和 DHCP 服务器的配置。本主题介绍使用 DHCP for IPv4 (DHCPv4) 将交换机配置为本地 DHCP 服务器。有关 DHCPv6 本地服务器的信息,请参阅 DHCPv6 本地服务器概述。
本主题介绍以下任务:
将交换机配置为本地 DHCP 服务器
要将交换机配置为本地 DHCP 服务器,必须配置 DHCP 地址池并指示该池的 IP 地址。交换机作为 DHCP 服务器运行,会动态分配此池中的 IP 地址。交换机可以动态分配其他配置参数,例如默认网关,以便向客户端提供有关网络的信息。
可以为 DHCP 服务器配置多个地址池。DHCP 维护有关所有配置池的状态信息。将从子网池中为客户端分配地址,该池与客户端在服务器上接收 DHCPDISCOVER 数据包的接口匹配。当同一接口上存在多个池时,地址将从所有可用池按轮换分配。
必须确保不会将网络中已使用的地址分配给地址池。DHCP 服务器在将地址分配给客户端之前,不会检查地址在网络中是否已在使用。
在交换机上配置 DHCP 服务器
此任务使用不支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列交换机的 Junos OS。如果交换机运行的软件支持 ELS,请参阅 将交换机配置为 DHCP 服务器。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。
动态主机配置协议 (DHCP) 服务器可以提供两个有价值的 TCP/IP 网络服务。DHCP 可以动态地将 IP 参数(如 IP 地址)分配给客户端,并且还可以向客户端提供软件升级。
DHCP 配置由两个组件组成:DHCP 客户端上的可选默认设置重新配置和 DHCP 服务器的配置。本主题介绍 DHCP 服务器的配置。有关重新配置 DHCP 客户端的信息,请参阅 配置 DHCP 客户端。
您可以在交换机上配置 DHCP 服务器的两个版本之一:扩展服务器版本或传统服务器版本。除非您需要保持 DHCP 服务器配置与传统服务器版本向后兼容,否则建议您配置扩展服务器。
本主题包含以下任务:
在交换机上配置扩展 DHCP 服务器
要配置扩展 DHCP 服务器,必须配置 DHCP 池,指示池的 IP 地址,并创建服务器组。其他配置可选。
不要将网络中已使用的地址分配给地址池。在将地址分配给客户端之前,扩展 DHCP 服务器不会检查地址是否已在使用。
示例:将安全设备配置为 DHCP 服务器
此示例说明如何将设备配置为 DHCP 服务器。
有关如何在路由实例中配置 JDHCP 的信息,请参阅 如何在路由实例中配置 JDHCP。
要求
开始之前:
确定要为每个子网使用的 IP 地址池和租赁持续时间。
获取需要永久 IP 地址的客户端的 MAC 地址。确定要用于这些客户端的 IP 地址。
列出网络上的服务器和设备可用的 IP 地址;例如 DNS、NetBIOS 服务器、启动服务器和网关设备。请参阅 了解管理预定义策略应用程序。
确定网络中子网和客户端所需的 DHCP 选项。
概述
在此示例中,您将设备配置为 DHCP 服务器。您可以将 IP 地址池指定为 192.168.2.0/24,从 192.168.2.2 的低范围到 192.168.254 的高范围。您将最大租赁时间设置为 2,419,200。然后将 DNS 服务器 IP 地址指定为 192.168.10.2。
从 Junos OS 15.1X49-D60 版和 Junos OS 17.3R1 版开始,所有 SRX 系列设备上的旧有 DHCPD(DHCP 守护程序)配置都将被弃用。并且仅支持新的 JDHCP CLI在已具有 DHCPD 配置的设备上升级到 Junos OS 15.1X49-D60 及更高版本时,将显示以下警告消息:
警告:在将来的 Junos 版本中,使用的 DHCP 配置命令将弃用。
警告:有关更新的命令,请参阅文档。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层级的 set access
CLI 中,然后从配置模式进入 commit
。
set interfaces ge-0/0/2 unit 0 family inet address 192.168.2.1/24 set system services dhcp-local-server group g1 interface ge-0/0/2.0 set access address-assignment pool p1 family inet network 192.168.2.0/24 set access address-assignment pool p1 family inet range r1 low 192.168.2.2 set access address-assignment pool p1 family inet range r1 high 192.168.2.254 set access address-assignment pool p1 family inet dhcp-attributes maximum-lease-time 2419200 set access address-assignment pool p1 family inet dhcp-attributes name-server 192.168.10.2
GUI 快速配置
逐步过程
要将设备配置为 DHCP 服务器,请指定 DHCP 池信息、服务器信息、租用时间和选项信息:
在 J-Web 界面中,选择 “配置 > DHCP > DHCP 服务”。
选择 DHCP 池。单击 Add。
指定用作 DHCP 服务器与客户端通信时 IP 数据包中包括的源地址的 IP 地址。地址包含在 option 54 中的 DHCP 数据包中。
指定 IPv4 地址分配池的子网信息。键入 192.168.2.0/24。
在“地址范围低”中,键入 192.168.2.2。
在“地址范围高”中,键入 192.168.2.254。
在“排除地址”框中,键入要从 DHCP 地址池中排除的地址。类型 192.168.2.0/24
指定要分配给此地址池中任何 DHCP 客户端的服务器标识符。该标识符可用于识别 DHCP 消息中的 DHCP 服务器。
指定要分配给此地址池中任何 DHCP 客户端的域名。
指定 DHCP 客户端需要联系的下一个服务器。类型 192.168.10.2
定义 DHCP 应租用地址的最大时间量(以秒为单位)。键入 2419200。
定义 DHCP option 32,设备请求地址选项。您必须为选项代码输入一个数值。从与选项代码对应的列表中选择选项类型。
单击 确定。
完成设备配置后,单击 “提交 > 提交”。
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
将设备配置为 DHCP 服务器:
使用 DHCP 服务器可访问的 IP 地址配置接口。
[edit] user@host# set interfaces ge-0/0/2 unit 0 family inet address 192.168.2.1/24
配置 DHCP 服务器。
[edit] user@host# set system services dhcp-local-server group g1 interface ge-0/0/2.0
为可分配给客户端的 IPv4 地址创建地址池。池中的地址必须在 DHCP 客户端所在的子网上。请勿包含网络上已使用的地址。
[edit]] user@host# set access address-assignment pool p1 family inet network 192.168.2.0/24
(可选)指定 IP 地址池范围。在地址分配池中定义地址范围。范围是池中可分配给客户端的地址子集。如果未指定范围,则池中的所有地址均可供分配。配置范围的名称以及范围内地址的下边界和上边界。
[edit]] user@host# set access address-assignment pool p1 192.168.2.0/24 address-range low 192.168.2.2 high 192.168.2.254
(可选)将一个或多个路由器配置为客户端子网上的默认网关。
[edit] user@host# set access address-assignment pool p1 family inet dhcp-attributes router 192.168.10.3
(可选)配置在与客户端交换的消息中用作 DHCP 服务器的源地址的 IP 地址。客户使用此信息来区分租赁产品。
[edit] user@host# set access address-assignment pool pool1 family inet dhcp-attributes server-identifier 192.168.10.1
(可选)指定如果客户端不续订租约,则客户端保留已分配 IP 地址租约的最大时间段(以秒为单位)。
[edit] user@host# set access address-assignment pool pool1 family inet dhcp-attributes maximum-lease-time 2419200
(可选)指定要包含在 DHCP 数据包中的用户定义选项
[edit] user@host# set access address-assignment pool pool1 family inet dhcp-attributes option 98 string test98
使用客户端的 MAC 地址分配一个固定 IP 地址。
[edit] user@host# set access address-assignment pool pool1 family inet host host1 ip-address 192.168.2.100 hardware-address 2c:56:dc:72:99:f3
结果
在配置模式下,输入命令以确认
show access address-assignment
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
[edit]
user@host# show access address-assignment
pool p1 {
family inet {
network 192.168.2.0/24;
range r1 {
low 192.168.2.2;
high 192.168.2.254;
}
dhcp-attributes {
maximum-lease-time 2419200;
name-server {
192.168.10.2;
}
}
}
}
}
在配置模式下,输入命令以确认
show system services dhcp-local-server
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。[edit] user@host#
show system services dhcp-local-server
group g1 { interface ge-0/0/2.0; }
完成设备配置后,请从配置模式进入 commit
。
验证
确认配置工作正常。
验证 DHCP 绑定数据库
目的
验证 DHCP 绑定数据库是否反映 DHCP 服务器配置。
行动
在操作模式下,输入以下命令:
show dhcp server binding
命令显示数据库中的所有活动绑定。show dhcp server binding address detail
命令(客户端 address 的 IP 地址在哪里)以显示有关客户端的更多信息。
这些命令会生成以下示例输出:
user@host> show dhcp server binding IP Address Hardware Address Type Lease expires at 30.1.1.20 00:12:1e:a9:7b:81 dynamic 2007-05-11 11:14:43 PDT
user@host> show dhcp server binding address detail IP address 192.0.2.2 Hardware address 00:a0:12:00:13:02 Pool 192.0.2.0/24 Interface fe-0/0/0, relayed by 192.0.2.200 Lease information: Type DHCP Obtained at 2004-05-02 13:01:42 PDT Expires at 2004-05-03 13:01:42 PDT State active DHCP options: Name: name-server, Value: { 6.6.6.6, 6.6.6.7 } Name: domain-name, Value: mydomain.tld Code: 32, Type: ip-address, Value: 192.0.2.33
验证 DHCP 服务器操作
目的
验证 DHCP 服务器操作是否已配置。
行动
在操作模式下,输入以下命令:
show dhcp server statistics
命令以验证 DHCP 服务器统计信息。
user@host> show dhcp server statistics Packets dropped: Total 0 Messages received: BOOTREQUEST 45 DHCPDECLINE 0 DHCPDISCOVER 1 DHCPINFORM 39 DHCPRELEASE 0 DHCPREQUEST 5 DHCPLEASEQUERY 0 DHCPBULKLEASEQUERY 0 Messages sent: BOOTREPLY 6 DHCPOFFER 1 DHCPACK 3 DHCPNAK 2 DHCPFORCERENEW 0 DHCPLEASEUNASSIGNED 0 DHCPLEASEUNKNOWN 0 DHCPLEASEACTIVE 0 DHCPLEASEQUERYDONE 0