DHCP 服务器选项
DHCP 选项是向 DHCP 客户端提供信息的标记数据项。选项在 DHCP 消息末尾的可变长度字段中发送。有关各种 DHCP 选项的更多信息,请阅读本主题。
配置 DHCP 服务器标识符
服务器标识符用于标识 DHCP 消息中的 DHCP 服务器。它还可用作从客户端到服务器的目标地址(例如,当设置了启动文件,但不是启动服务器时)。
要配置 DHCP 服务器标识符,请将语句 server-identifier
包含在 [edit access address-assignment pool pool-name family inet dhcp-attributes
] 层次结构级别。
例子:
[edit access address-assignment pool P1 family inet] dhcp-attributes { server-identifier 192.0.2.0; }
您还可以将 server-identifier
语句包含在以下层级:
[edit logical-systems logical-system-name access address-assignment pool pool-name family inet dhcp-attributes]
[edit logical-systems logical-system-name routing-instances routing-instance-name access address-assignment pool pool-name family inet dhcp-attributes]
[edit routing-instances routing-instance-name access address-assignment pool pool-name family inet dhcp-attributes]
为 DHCP 动态绑定配置地址池
对于动态绑定,请留出一个可分配给客户端的 IP 地址池。池中的地址必须可供同一子网上的客户端使用。配置以下选项:
网络 - 包括客户端子网编号和前缀长度(以位为单位)。池中的地址必须在 DHCP 客户端所在的子网上。
地址范围 - 指定池中可用于动态地址分配的 IP 地址范围。此语句可选。如果未指定范围,则池将使用指定子网中的所有可用地址。(广播地址、接口地址和排除的地址不可用。)
排除的地址 – 指定范围内不用于动态地址分配的地址。您可以排除范围内的一个或多个地址。此语句可选。
以下是池配置的示例。
[edit access address-assignment pool P1 family inet] network 192.0.2.0/24; range R1 { low 192.0.2.0; high 192.0.2.10; } excluded-address 10.3.3.33; }
配置地址池时请注意以下几点:
您可以为 DHCP 服务器配置多个地址池,但每个池仅支持一个地址范围。
DHCP 维护所有配置池的状态信息。将从子网池中为客户端分配地址,这些池与接收数据包的
DHCPDISCOVER
接口匹配。当同一接口上存在多个池时,地址将从所有可用池按轮换分配。
在固定 IP 地址和客户端 MAC 地址之间配置手动(静态)DHCP 绑定
静态绑定为特定客户端提供配置信息。此信息可以包含一个或多个固定互联网地址、客户端主机名和客户端标识符。
静态绑定定义固定 IP 地址与客户端 MAC 地址之间的映射。
该 hardware-address 变量用于指定客户端的 MAC 地址。这是一个硬件地址,用于唯一标识网络上的每个客户端。
该 ip-address
语句用于指定分配给客户端的固定 IP 地址。通常,客户端会分配一个地址,但您可以分配更多地址。
以下是静态绑定配置的示例:
[edit access address-assignment pool P1 family inet] host H1 { hardware-address 2c:56:dc:72:99:f3; ip-address 192.0.2.0; }
您还可以将 server-identifier
语句包含在以下层级:
[edit logical-systems logical-system-name access address-assignment pool pool-name family inet]
[edit logical-systems logical-system-name routing-instances routing-instance-name access address-assignment pool pool-name family inet]
[edit routing-instances routing-instance-name access address-assignment pool pool-name family inet]
在 DHCP 本地服务器上启用 TCP/IP 传播
DHCP 的 TCP/IP 设置传播
瞻博网络设备可以同时作为不信任区域中 DHCP 服务器的客户端和 DHCP 服务器与信任区域中的客户端运行。设备将接收作为 DHCP 客户端接收的 TCP/IP 设置,并将其作为 DHCP 服务器转发至信任区域中的客户端。不信任区域中的设备接口作为 DHCP 客户端操作,从外部网络上的互联网服务提供商 (ISP) 动态接收 IP 地址。
在 DHCP 协议交换期间,设备从其 DHCP 客户端接口上的外部网络接收 TCP/IP 设置。设置包括 ISP 的 DHCP 名称服务器地址和其他服务器地址。这些设置会传播到设备上配置的 DHCP 服务器池,以满足设备内部网络上的 IP 地址主机请求。
本主题介绍如何在 DHCP 本地服务器上配置 TCP/IP 设置,包括 DHCP 客户端和 DHCP 本地服务器。
SRX300、SRX320、SRX340、SRX345、SRX550M 和 SRX1500 设备支持此功能。
要启用 DHCP 本地服务器的 TCP/IP 设置传播:
指定 IP 地址分配的 DHCP 租赁时间
对于不请求特定租赁时间的客户端,默认租赁时间为一天。您可以为 IP 地址分配配置最长租赁时间,或者更改默认租用时间。
要配置最长租用时间,请添加以下 maximum-lease-time
语句:
user@host# set access address-assignment pool P1 family inet dhcp-attributes maximum-lease-time 7200
要配置默认租用时间,请 lease-time
添加以下语句:
user@host# set interfaces ge-0/0/1 unit 0 family inet dhcp lease-time 4100
配置 DHCP 启动文件和 DHCP 启动服务器
DHCP 客户端启动时,它会联系启动服务器以下载启动文件。
要配置启动文件和启动服务器,请添加 boot-file
和 boot-server
语句:
在客户端从 DHCP 服务器收到 DHCPOFFER 响应后,客户端可以直接与启动服务器(而非 DHCP 服务器)通信以下载启动文件。这样可以最大限度地减少网络流量,并使您能够为每个客户端池或子网指定单独的启动服务器/文件对。
该 boot-file
语句配置 DHCP 客户端加载和执行的初始启动文件的名称和位置。此文件存储客户端的启动映像。在大多数情况下,启动映像是客户端用来加载的操作系统。
该 boot-server
语句将配置包含客户端初始启动文件的 TFTP 服务器的 IP 地址。您必须为服务器配置 IP 地址或主机名。
您必须至少配置一个启动文件和启动服务器。或者,您可以配置多个启动文件和启动服务器。例如,您可以配置两个独立的启动服务器和文件:一个用于静态绑定,一个用于地址池。池或静态绑定的启动文件配置优先于层次结构级别的启动文件配置 [edit system services dhcp]
。
以下示例为地址池指定启动文件和服务器:
[edit access address-assignment pool P1 family inet] dhcp-attributes { boot-file "boot.client"; boot-server 10.4.4.1; }
配置域名和域搜索列表
要配置客户端搜索 DHCP 服务器主机的域的名称,请添加语句 domain-name
:
语句 domain-name
将设置附加到未完全限定的主机名的域名。此语句可选。如果未配置域名,则默认为客户端的当前域。
[edit access address-assignment pool P1 family inet] dhcp-attributes { domain-name example.com; }
要配置域搜索列表,请使用 option 119
十六进制值将语句包含在十六进制字符串中。以下是 “jnpr.net” 域名的示例:
[edit access] set address-assignment pool hawk family inet dhcp-attributes option 119 array hex-string 046a6e7072036e657400
配置 DHCP 客户端可用的路由器
DHCP 客户端加载启动映像并启动后,客户端会向路由器发送数据包。
要配置 DHCP 客户端可用的路由器,请添加以下 router
语句:
该 router
语句为客户端子网上的路由器指定 IP 地址列表。按优先级顺序列出路由器。您必须为每个客户端子网至少配置一个路由器。
例子:
[edit access address-assignment pool P1 family inet] dhcp-attributes { router { 198.51.100.0; 198.51.100.1; } }
配置用户定义的 DHCP 选项
您可以配置一个或多个用户定义选项,这些选项不包含在 DHCP 服务器的 Junos 默认实施中。例如,如果客户端请求 DHCP 服务器中不包含的 DHCP 选项,您可以创建一个用户定义的选项,使服务器能够响应客户端的请求。
要配置用户定义的 DHCP 选项,请添加 option
语句:
option { [ (id-number option-type option-value) | (id-number array option-type option-value) ]; }
该 option
语句用于指定以下值:
id-number- 任意数字。ID 编号用于为选项建立索引,并且必须在 DHCP 服务器中唯一。
option-type- 以下任一类型:、 、 、 、 、
ip-address
short
、string
、unsigned-integer
unsigned-short
。integer
flag
byte-stream
byte
array-选项可以包含一组值。
option-value- 与选项关联的值。选项值必须与选项类型兼容(例如,类型的一
On
个或多个Off
值flag
)。
以下示例显示了用户定义的 DHCP 选项:
[edit access address-assignment pool P1 family inet] dhcp-attributes { option 19 flag false; option 40 string domain.tld; option 16 ip-address 10.3.3.33; }
配置 DHCP SIP 服务器
您可以在 sip-server
EX 系列交换机上使用语句在 DHCP 服务器上配置 option 120。DHCP 服务器在请求 DHCP 客户端时,会向 DHCP 客户端发送配置的选项值(会话初始化协议 (SIP) 服务器地址或名称)。您可以指定一个 IPv4 地址或一个完全限定的域名,以便 SIP 客户端用来定位 SIP 服务器。您不能在同一语句中同时指定地址和名称。
要使用选项配置 SIP 服务器 dhcp-attributes
:
[edit access address-assignment pool P1 family inet] dhcp-attributes { sip-server 198.51.100.0; }
覆盖默认 DHCP 本地服务器配置设置
订阅者管理使您能够覆盖某些默认 DHCP 本地服务器配置设置。您可以在全局级别覆盖指定接口组或指定组内的特定接口的配置设置。
要覆盖全局默认 DHCP 本地服务器配置选项,请将语句
overrides
及其从属语句包含在[edit system services dhcp-local-server]
层次结构级别。要覆盖一组指定接口的 DHCP 本地服务器配置选项,请将语句包含在
[edit system services dhcp-local-server group group-name]
层次结构级别。要覆盖指定接口组内特定接口的 DHCP 本地服务器配置选项,请将语句
[edit system services dhcp-local-server group group-name interface interface-name]
包含在层次结构级别。要在全球级别、组级别或每个接口上为 DHCPv6 本地服务器配置覆盖,请在层次结构级别使用相应的语句
[edit system services dhcp-local-server dhcpv6]
。
要覆盖默认 DHCP 本地服务器配置设置:
传统 DHCP 服务器配置选项
如果您在设备上使用传统 DHCP,请使用以下配置选项:
DHCP 服务器标识符
服务器标识符用于标识 DHCP 消息中的 DHCP 服务器。它还可用作从客户端到服务器的目标地址(例如,当设置了启动文件,但不是启动服务器时)。
您可以在以下层级中配置 DHCP 服务器标识符:
[edit system services dhcp] [edit system services dhcp pool] [edit system services dhcp static-binding]
例子:
以下示例显示了为地址池配置的 DHCP 服务器标识符:
[edit system services dhcp] pool 10.3.3.0/24 { address-range low 10.3.3.2 high 10.3.3.254; server-identifier 10.3.3.1; }
静态绑定
静态绑定定义固定 IP 地址与客户端 MAC 地址之间的映射。
静态绑定为特定客户端提供配置信息。此信息可以包含一个或多个固定互联网地址、客户端主机名和客户端标识符。
[edit system services dhcp] static-binding mac-address { fixed-address { address; } host client-hostname; client-identifier (ascii client-id | hexadecimal client-id); }
在静态绑定配置中,必须配置以下参数:
该 mac-address 变量用于指定客户端的 MAC 地址。这是一个硬件地址,用于唯一标识网络上的每个客户端。
该
fixed-address
语句用于指定分配给客户端的固定 IP 地址。通常,客户端会分配一个地址,但您可以分配更多地址。语句
host
用于指定请求 DHCP 服务器的客户端的主机名。名称可以包含本地域名。否则,将根据语句解析domain-name
名称。client-identifier
DHCP 服务器使用该语句对地址绑定数据库建立索引。客户端标识符可以是 ASCII 字符串,也可以是十六进制数字。它可以包含 RFC 1700“分配的编号”中规定的类型值对。必须配置客户端标识符或客户端的 MAC 地址,以便对网络上的客户端进行唯一标识。对于每个唯
client-identifier client-id
一值,DHCP 服务器会从池中发出唯一的租约和 IP 地址。以前,当客户端提供的值不正确client-identifier client-id
时,DHCP 服务器没有发出租约。
例子:
[edit system services dhcp] 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 hexadecimal 01001122aabbcc; }
配置地址池
对于动态绑定,请留出一个可分配给客户端的 IP 地址池。池中的地址必须可供同一子网上的客户端使用。配置以下选项:
[edit system services dhcp] pool address</prefix-length> { address-range { low address; high address; } exclude-address { address; } }
例子:
[edit system services dhcp] pool 10.3.3.0/24 { address-range low 10.3.3.2 high 10.3.3.254; exclude-address { 10.3.3.33; } }
最长租赁时间
对于不请求特定租赁时间的客户端,默认租赁时间为一天。您可以为 IP 地址分配配置最长租赁时间,或者更改默认租用时间。
要配置最长租用时间,请添加以下 maximum-lease-time
语句:
maximum-lease-time; default-lease-time;
您可以在以下层次结构级别包括这些语句:
[edit system services dhcp] [edit system services dhcp pool] [edit system services dhcp static-binding]
为静态绑定和地址池定义的租赁时间优先于在层次结构级别上定义的 [edit system services dhcp]
租赁时间。
该 maximum-lease-time
语句配置客户端可请求和保留租约的最大时间长度(以秒为单位)。如果客户端请求的租约长于指定的最大时间,则只会为服务器上配置的最大时间授予该租约。租约到期后,客户端必须请求新租约。
最大租赁时间不适用于动态 BOOTP 租约。这些租约不是客户端指定的,可能会超过配置的最大租约时间。
以下示例显示了最大和默认租赁时间的配置:
[edit system services dhcp] maximum-lease-time 7200; default-lease-time 3600;
启动文件和启动服务器
DHCP 客户端启动时,它会联系启动服务器以下载启动文件。
要配置启动文件和启动服务器,请添加 boot-file
和 boot-server
语句:
在客户端从 DHCP 服务器收到 DHCPOFFER 响应后,客户端可以直接与启动服务器(而非 DHCP 服务器)通信以下载启动文件。这样可以最大限度地减少网络流量,并使您能够为每个客户端池或子网指定单独的启动服务器/文件对。
boot-file filename; boot-server (address | hostname);
您可以在以下层次结构级别包括这些语句:
[edit system services dhcp] [edit system services dhcp pool] [edit system services dhcp static-binding]
例子:
[edit system services dhcp] pool 10.4.4.0/24 { boot-file "boot.client"; boot-server 10.4.4.1; }
域名和域名搜索
domain-name domain;
您可以在以下层级包含此语句:
[edit system services dhcp] [edit system services dhcp pool] [edit system services dhcp static-binding]
要配置域搜索列表,请 domain-search
添加以下语句:
domain-search [ domain-list ];
您可以在以下层级包含此语句:
[edit system services dhcp] [edit system services dhcp pool] [edit system services dhcp static-binding]
该 domain-search
语句设置客户端在搜索主机的 IP 地址时追加域名的顺序。您可以在列表中包含一个或多个域名。有关更多信息,请参阅 RFC 3397 动态主机配置协议 (DHCP) 域搜索选项。
语句 domain-search
是可选的,如果未配置域搜索列表,则默认为客户端的当前域。
路由器名称
DHCP 客户端加载启动映像并启动后,客户端会向路由器发送数据包。
要配置 DHCP 客户端可用的路由器,请添加以下 router
语句:
该 router
语句为客户端子网上的路由器指定 IP 地址列表。按优先级顺序列出路由器。您必须为每个客户端子网至少配置一个路由器。
以下示例显示了在 [edit system services dhcp]
层次结构级别上配置的路由器:
router { address; }
例子:
[edit system services dhcp] router { 10.6.6.1; 10.7.7.1; }
您可以在以下层级包含此语句:
[edit system services dhcp] [edit system services dhcp pool] [edit system services dhcp static-binding]
DHCP 选项
您可以配置一个或多个用户定义选项,这些选项不包含在 DHCP 服务器的 Junos 默认实施中。例如,如果客户端请求 DHCP 服务器中不包含的 DHCP 选项,您可以创建一个用户定义的选项,使服务器能够响应客户端的请求。
例子
[edit system services dhcp] 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
与 DHCP 配置语句冲突的用户定义选项将被服务器忽略。例如,在以下配置中,DHCP 服务器会忽略用户定义 option 3 router
语句,而是使用该 router
语句:
[edit system services dhcp] option 3 router 10.7.7.2; # 3: "Default Router" option router { 10.7.7.1; }
您可以在以下层级包含此语句:
[edit system services dhcp] [edit system services dhcp pool] [edit system services dhcp static-binding]
DHCP SIP 服务器
您可以在 sip-server
EX 系列交换机上使用语句在 DHCP 服务器上配置 option 120。DHCP 服务器在请求 DHCP 客户端时,会向 DHCP 客户端发送配置的选项值(会话初始化协议 (SIP) 服务器地址或名称)。以前,您只能使用 [edit system services dhcp option 120]
按地址指定 SIP 服务器。您可以指定一个 IPv4 地址或一个完全限定的域名,以便 SIP 客户端用来定位 SIP 服务器。您不能在同一语句中同时指定地址和名称。
[edit system services dhcp] user@switch# set sip-server address
例如,要配置一个地址:
[edit system services dhcp] user@switch set sip-server 192.168.0.11
要使用选项配置 SIP 服务器 name
:
[edit system services dhcp] user@switch# set sip-server name
例如,要配置名称:
[edit system services dhcp] user@switch set sip-server abc.example.com