ON THIS PAGE
DHCP for Switches
A Dynamic Host Configuration Protocol (DHCP) server provides a framework to pass configuration information to client hosts on a TCP/IP network. A switch acting as a DHCP server can dynamically allocate IP addresses and other configuration parameters, minimizing the overhead that is required to add clients to the network. You can configure a switch either as a DHCP server or as a DHCP relay server, but not both. for more information, read this topic.
Understanding DHCP Services for Switches
A Dynamic Host Configuration Protocol (DHCP) server on a switch can provide many valuable TCP/IP network services. For example, DHCP can dynamically allocate the four required IP parameters to each computer on the LAN: IP address, network mask, switch address, and name server address. Additionally, DHCP on the switch can automatically upgrade software on client systems.
This topic describes:
DHCP Client/Server Model
DHCP IP address allocation works on a client/server model in which the server, in this case a switch, assigns the client reusable IP information from an address pool. A DHCP client might receive offer messages from multiple DHCP servers and can accept any one of the offers; however, the client usually accepts the first offer it receives. See Figure 1.

Using DHCP
DHCP automates network-parameter assignment to network devices. Even in small networks, DHCP is useful because it makes it easy to add new machines to the network.
DHCP access service minimizes the overhead required to add clients to the network by providing a centralized, server-based setup, which means that you do not have to manually create and maintain IP address assignments for clients. In addition, when you use DHCP to manage a pool of IP addresses among hosts, you reduce the number of IP addresses needed on the network. DHCP does this by leasing an IP address to a host for a limited period of time, allowing the DHCP server to share a limited number of IP addresses. DHCP also provides a central database of devices that are connected to the network and eliminates duplicate resource assignments. In addition to IP addresses for clients, DHCP provides other configuration information, particularly the IP addresses of local caching Domain Name System (DNS) resolvers, network boot servers, or other service hosts.
Another valuable DHCP feature is automatic software download for installation of software packages on switches. DHCP clients configured for automatic software download receive messages as part of the DHCP message exchange process—when the software package name in the DHCP server message is different from that of the software package that booted the DHCP client switch, the new software is downloaded and installed. See Upgrading Software by Using Automatic Software Download for Switches.
DHCP Relay Servers and DHCP Servers
You can configure a switch either as a DHCP server or as a DHCP relay server, but not both. Whereas a DHCP server replies to a client with an IP address, a DHCP relay server relays DHCP messages to and from the configured DHCP server, even if the client and server are on different IP networks.
Configure a switch to be a DHCP relay agent if you have locally attached hosts and a remote DHCP server.
Legacy DHCP and Extended DHCP for Server Versions
Two versions of both DHCP server and DHCP relay agent are available on EX Series, QFX Series, and OCX Series switches. The original legacy DHCP server and legacy DHCP relay agent can be used in the same network as the extended DHCP servers and extended DHCP relay agent—extended DHCP is also referred to as virtual router (VR) aware DHCP.
You cannot configure legacy DHCP and extended DHCP versions on the same switch. Because the newer extended DHCP server version has more features, we recommend that you configure the extended DHCP server if it is supported by the switch.
The extended DHCP server version has the following added features:
Graceful Routing Engine switchover (GRES), which provides mirroring support for clients.
Virtual routing and forwarding (VRF), which allows multiple instances of a routing table to simultaneously coexist on the same switch. For details, see Understanding Virtual Routing Instances on EX Series Switches .
Legacy DHCP supports the circuit ID and the remote ID fields for the relay agent option (option 82). Extended DHCP for the relay agent option supports only circuit ID. See EX Series Switch Software Features Overview for a list of switches that support extended DHCP (VR-aware DHCP).
Legacy DHCP and extended DHCP servers can be configured at the hierarchy levels shown in Table 1:
Table 1: Legacy DHCP and Extended DHCP Server Hierarchy Levels
DHCP Service | Hierarchy |
---|---|
Extended DHCP server | edit system services dhcp-local-server |
Extended DHCP address pool | edit access address-assignment pool |
Legacy DHCP server | edit system services dhcp |
Legacy DHCP relay | edit forwarding-options helpers bootp |
Extended DHCP relay | edit forwarding-options dhcp-relay |
Legacy DHCP address pool | edit system services dhcp pool |
DHCP clients on a switch are always configured at the hierarchy level [edit interfaces interface-name family dhcp].
Configuring DHCP on a Switch
A DHCP configuration consists of two parts: the configuration for a DHCP server and the configuration for DHCP clients. The DHCP server configuration is simple if you accept the default configurations.
When you configure a legacy DHCP server, you only need to define the DHCP server name and the interface on the switch. You can use the default configuration for the rest of the settings. When you configure an extended DHCP server, you need to only define a DHCP pool, indicate IP addresses for the pool, and create a server group. You can use the default configuration for the rest of the settings.
For directions for configuring either a legacy DHCP server or an extended DHCP server, see Configuring a DHCP Server on Switches (CLI Procedure).
To configure a DHCP client, set the client’s DHCP interface address in the [edit interfaces interface-name unit 0 family inet dhcp] hierarchy. For directions for configuring a DHCP client on a switch, see Configuring a DHCP Client (CLI Procedure).
How DHCP Works
DHCP consists of a four-step transfer process beginning with a broadcast DHCP discovery message from the client. As the second step, the client receives a DHCP offer message from the server. This message includes the IP address and mask, and some other specific parameters. The client then sends a DHCP request message to accept the IP address and other parameters that it received from the server in the previous step. The DHCP server sends a DHCP response message and removes the now-allocated address from the DHCP address pool. See Figure 2.

Because the DHCP discovery message from the client is a broadcast message and because broadcast messages cross other segments only when they are explicitly routed, you might have to configure a DHCP relay agent on the switch interface so that all DHCP discovery messages from the clients are forwarded to one DHCP server.
Configuring a Switch as a DHCP Server (CLI Procedure)
This topic applies to Junos OS for EX Series switches and QFX Series switches with support for the Enhanced Layer 2 Software (ELS) configuration style. If your switch runs software that does not support ELS, see Configuring a DHCP Server on Switches (CLI Procedure). For ELS details, see Using the Enhanced Layer 2 Software CLI.
A Dynamic Host Configuration Protocol (DHCP) server provides a framework to pass configuration information to client hosts on a TCP/IP network. A switch acting as a DHCP server can dynamically allocate IP addresses and other configuration parameters, minimizing the overhead that is required to add clients to the network.
A DHCP configuration consists of two components—an optional reconfiguration of default settings on DHCP clients and the configuration of a DHCP server. This topic covers configuration of the switch as a local DHCP server using DHCP for IPv4 (DHCPv4). For information about DHCPv6 local server, see DHCPv6 Local Server Overview.
This topic describes the following task:
Configuring the Switch as a Local DHCP Server
To configure a switch as a local DHCP server, you must configure a DHCP address pool and indicate IP addresses for the pool. The switch, operating as the DHCP server, dynamically distributes the IP addresses from this pool. The switch can dynamically assign additional configuration parameters, such as default gateway, to provide the client with information about the network.
Multiple address pools can be configured for a DHCP server. DHCP maintains the state information about all configured pools. Clients are assigned addresses from pools with subnets that match the interface on which the DHCPDISCOVER packet sent by the client is received on the server. When more than one pool exists on the same interface, addresses are assigned on a rotating basis from all available pools.
You must ensure that you do not assign addresses that are already in use in the network to the address pools. The DHCP server does not check whether the addresses are already in use in the network before it assigns them to clients.
- Configure a Layer 3 interface with an IP address on which
the DHCP server will be reachable:content_copy zoom_out_map[edit]user@switch# set interfaces interface-name unit unit-number family family address address/prefix-lengthuser@switch# set vlans vlan-name vlan-id vlan-iduser@switch# set vlans vlan-name l3-interface irb-nameuser@switch# set interfaces irb-name family family address address/prefix-length
For example:
content_copy zoom_out_map[edit]user@switch# set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.1/24user@switch# set vlans server vlan-id 301user@switch# set vlans server l3-interface irb.301user@switch# set interfaces irb.301 family inet address 192.0.2.2/24 - Configure the DHCP server for the Layer 3 interface:content_copy zoom_out_map[edit]user@switch# set system services dhcp-local-server group-name interface interface-name
For example:
content_copy zoom_out_map[edit]user@switch# set system services dhcp-local-server group server1 interface ge-0/0/1user@switch# set system services dhcp-local-server group server1 interface irb.301 - Create an address pool for IPv4 addresses that can be
assigned to clients. The addresses in the pool must be on the subnet
in which the DHCP clients reside. Do not include addresses that are
already in use on the network.content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool-name family family network address/prefix-length
For example:
content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool1 family inet network 198.51.100.0/24 - (Optional) Define a range of addresses in the address-assignment
pool. The range is a subset of addresses within the pool that can
be assigned to clients. If no range is specified, then all addresses
within the pool are available for assignment. Configure the name of
the range and the lower and upper boundaries of the addresses in the
range:content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool-name family family range range-name low low-IP-addressuser@switch# set access address-assignment pool pool-name family family range range-name high high-IP-address
For example:
content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool1 family inet range range1 low 198.51.100.1user@switch# set access address-assignment pool pool1 family inet range range1 high 198.51.100.2 - (Optional) Configure one or more routers as the default
gateway on the client’s subnet:content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool-name family family dhcp-attributes router gateway-ip-address
For example:
content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool1 family inet dhcp-attributes router 198.1.1.254 - (Optional) Configure the IP address that is used as the
source address for the DHCP server in messages exchanged with the
client. Clients use this information to distinguish between lease
offers.content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool-name family family dhcp-attributes server-identifier ip-address
For example:
content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool1 family inet dhcp-attributes server-identifier 198.51.100.254 - (Optional) Specify the maximum time period, in seconds,
that a client holds the lease for an assigned IP address if the client
does not renew the lease:content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool-name family family dhcp-attributes maximum-lease-time seconds
For example:
content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool1 family inet dhcp-attributes maximum-lease-time 43,200 - (Optional) Specify user-defined options to be included
in DHCP packets:content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool-name family family dhcp-attributes option option-id-number option-type option-value
For example:
content_copy zoom_out_map[edit]user@switch# set access address-assignment pool pool1 family inet dhcp-attributes option 98 string test98
Configuring a DHCP Server on Switches (CLI Procedure)
This task uses Junos OS for EX Series switches that does not support the Enhanced Layer 2 Software (ELS) configuration style. If your switch runs software that supports ELS, see Configuring a Switch as a DHCP Server (CLI Procedure). For ELS details, see Using the Enhanced Layer 2 Software CLI.
A Dynamic Host Configuration Protocol (DHCP) server can provide two valuable TCP/IP network services. DHCP can dynamically allocate IP parameters, such as an IP address, to clients and it can also deliver software upgrades to clients.
A DHCP configuration consists of two components—an optional reconfiguration of default settings on DHCP clients and the configuration of a DHCP server. This topic covers configuration of the DHCP server. For information about reconfiguring a DHCP client, see Configuring a DHCP Client (CLI Procedure).
You can configure either of two versions of a DHCP server on a switch— the extended server version or the legacy server version. We recommend that you configure the extended server unless you need to keep your DHCP server configuration backward-compatible with the legacy server version.
This topic includes the following tasks:
Configuring an Extended DHCP Server on a Switch
To configure an extended DHCP server, you must configure a DHCP pool, indicate IP addresses for the pool, and create a server group. Additional configurations are optional.
Do not assign addresses that are already in use in the network to address pools. The extended DHCP server does not check whether addresses are already in use before it assigns them to clients.
- Create an address pool for DHCP IP addresses:content_copy zoom_out_map[edit]user@switch# set access address-pool address-pool
- Configure an address-assignment pool that can be used
by different client applications for DHCP dynamic assignment:content_copy zoom_out_map[edit access address-assignment]user@switch# set pool address-pool-name
- Create a server group on the switch, providing a group
name and an interface name for DHCP:content_copy zoom_out_map[edit system services dhcp-local-server]user@switch# set group group-name interface interface-name
- (Optional) Process the information protocol data units
(PDUs):content_copy zoom_out_map[edit system services dhcp-local-server]user@switch# set overrides process-inform
- (Optional) Redefine the order of attribute matching for
pool selection:content_copy zoom_out_map[edit system services dhcp-local-server]user@switch# set pool-match-order ip-address-first
- (Optional) Enable dynamic reconfiguration triggered by
the DHCP extended server for all DHCP clients or only for the DHCP
clients serviced by the specified group of interfaces:content_copy zoom_out_map[edit system services dhcp-local-server]user@switch# set reconfigurecontent_copy zoom_out_map[edit system services dhcp-local-server group group-name]user@switch# set reconfigure
Configuring a Legacy DHCP Server on a Switch (CLI Procedure)
To configure a legacy DHCP server, you must configure a pool of IP addresses for dynamic assignment. You only need to supply a series of network addresses. Additional configurations are optional.
- Configure a pool of IP addresses for dynamic assignment:content_copy zoom_out_map[edit system services dhcp]user@switch# set pool network-rangeNote
Step 2 through Step 15 are for assigning global values at the[edit system services dhcp] hierarchy level. You can also assign the same values to a specific pool by using those same commands at the [edit system services dhcp pool network-range] hierarchy level.
- (Optional) Change the domain search list used to resolve
hostnames:content_copy zoom_out_map[edit system services dhcp]user@switch# set domain-search [ domain-list ]
- (Optional) Change the domain name server (DNS) name that
the DHCP server advertises to clients:content_copy zoom_out_map[edit system services dhcp]user@switch# set name-server address
- (Optional) Change the DHCP options:content_copy zoom_out_map[edit system services dhcp]user@switch# set option id-number
- (Optional) Change the devices advertised to clients:content_copy zoom_out_map[edit system services dhcp]user@switch# set router address
- (Optional) Configure the name of the boot server advertised
to DHCP clients. The client uses a boot file located on the boot server
to complete the DHCP setup. This configuration step is equivalent
to DHCP Option 66:content_copy zoom_out_map[edit system services dhcp]user@switch# set boot-server (address | hostname)
- (Optional) Set the boot file advertised to DHCP clients.
After the client receives an IP address and the boot file location
from the DHCP server, the client uses the boot image stored in the
boot file to complete DHCP setup. This configuration step is equivalent
to DHCP Option 67:content_copy zoom_out_map[edit system services dhcp]user@switch# set boot-file filename
- (Optional) Change the SIP server:content_copy zoom_out_map[edit system services dhcp]user@switch# set sip-server addresses-or-names
For more information, see Configuring a DHCP SIP Server (CLI Procedure).
- (Optional) Change the DHCP client’s hardware address:content_copy zoom_out_map[edit system services dhcp]user@switch# set static-binding mac-address
- (Optional) Change the NetBIOS name server:content_copy zoom_out_map[edit system services dhcp]user@switch# set wins-server address
Configuring a DHCP Client (CLI Procedure)
A Dynamic Host Configuration Protocol (DHCP) server can provide many valuable TCP/IP network services. DHCP can dynamically allocate IP parameters, such as an IP address, to clients, and it can also deliver software upgrades to clients.
DHCP configuration consists of two components, configuration of DHCP clients and configuration of a DHCP server. Client configuration determines how clients send a message requesting an IP address, whereas a DHCP server configuration enables the server to send an IP address configuration back to the client. This topic describes configuring a DHCP client. For directions for configuring a DHCP server, see Configuring a DHCP Server on Switches (CLI Procedure) or Configuring a Switch as a DHCP Server (CLI Procedure).
You can change DHCP client configurations from the switch, using client identifiers to indicate which clients you want to configure.
To configure a DHCP client, you configure an interface to belong to the DHCP family and specify additional attributes, as desired:
[edit] user@switch# set interfaces interface-name unit number family inet dhcp configuration-statement
Starting in Junos OS Release 18.1R1, DHCPv4 and DHCPv6 clients are supported on management interfaces (fxp0 and em0) configured in the non-default management routing instance, mgmt_junos.
The options that you can configure are listed in Table 2. Replace the variable configuration-statement with one or more of the statements listed in this table. If you do not explicitly configure these options, the switch uses default values for them.
Table 2: DHCP Client Settings
Configuration Statement | Description |
---|---|
Unique client ID—By default this consists of the hardware type (01 for Ethernet) and the MAC address (a.b.c.d). For this example, the value would be 01abcd. | |
Time in seconds that a client holds the lease for an IP address assigned by a DHCP server. If a client does not request a specific lease time, then the server sends the default lease time. The default lease time on a Junos OS DHCP server is 1 day. | |
Number of times the client attempts to retransmit a DHCP packet. | |
Time between transmission attempts. | |
IP address of the server that the client queries for an IP address. | |
TCP/IP settings learned from an external DHCP server to the DHCP server running on the switch are propagated. | |
Vendor class ID (CPU's manufacturer ID string) for the DHCP client. |
Configuring a DHCP SIP Server (CLI Procedure)
You can use the sip-server statement on the EX Series switch to configure option 120 on a DHCP server. The DHCP server sends configured option values—Session Initiation Protocol (SIP) server addresses or names—to DHCP clients when they request them. Previously, you were only allowed to specify a SIP server by address using [edit system services dhcp option 120]. You specify either an IPv4 address or a fully qualified domain name to be used by SIP clients to locate a SIP server. You cannot specify both an address and name in the same statement.
To configure a SIP server using the address option:
For example, to configure one address:
To configure a SIP server using the name option:
For example, to configure a name:
DHCP and BOOTP Relay Overview
You can configure a Juniper Networks switch to act as a Dynamic Host Configuration Protocol (DHCP) or Bootstrap Protocol (BOOTP) relay agent. This means that if the switch receives a broadcast DHCP or BOOTP request from a locally attached host (client), it relays the message to a specified DHCP or BOOTP server. You should configure the switch to be a DHCP/BOOTP relay agent if you have locally attached hosts and a distant DHCP or BOOTP server.
You can configure the switch to use the gateway IP address (giaddr) as the source IP address of the switch for relayed DHCP packets when the switch is used as the DHCP relay agent. For information on configuring this option, see the source-address-giaddr configuration statement.
You can also use smart DHCP relay, which enables you to configure alternative IP addresses for the gateway interface so that if the server fails to reply to the requests sent from the primary gateway address, the switch can resend the requests using the alternative gateway addresses. To use this feature, you must configure a Layer 3 interface, Layer 3 subinterface, or IRB interface with multiple IP addresses and configure that interface to be a relay agent.
Because DHCP and BOOTP messages are broadcast and are not directed to a specific server, switch, or router, Juniper switches cannot function as both a DHCP server and a DHCP/BOOTP relay agent at the same time. The Junos operating system (Junos OS) generates a commit error if both options are configured at the same time, and the commit operation does not succeed until one of the options is removed.
Configuring DHCP and BOOTP
You can configure a switch to act as a Dynamic Host Configuration Protocol (DHCP) and Bootstrap Protocol (BOOTP) server or DHCP relay agent. When a switch is a relay agent, if a locally attached host issues a DHCP or BOOTP request as a broadcast message, the switch relays the message to a specified DHCP or BOOTP server. You should configure a switch to be a DHCP and BOOTP relay agent if you have locally attached hosts and a remote DHCP or BOOTP server.
This task uses the Enhanced Layer 2 Software (ELS) configuration style.If your switch runs software that does not support ELS, see Configuring DHCP and BOOTP Relay. For ELS details, see Using the Enhanced Layer 2 Software CLI.
To configure a switch to be a server, use the dhcp-local-server statement. To configure a switch to be a relay agent, use the dhcp-relay statement.
If you want to enable BOOTP support when the switch is configured to be a DHCP server, enter the following statement:
[edit system services dhcp-local-server]
user@switch# set overrides bootp-support
If you want to enable BOOTP support when the switch is configured to be a DHCP relay agent, enter the following statement:
[edit forwarding-options dhcp-relay]
user@switch# set overrides bootp-support
Configuring DHCP and BOOTP Relay
You can configure the QFX Series to act as a Dynamic Host Configuration Protocol (DHCP) and Bootstrap Protocol (BOOTP) relay agent. This means that if a locally attached host can issue a DHCP or BOOTP request as a broadcast message and the switch relays the message to a specified DHCP or BOOTP server. You should configure a switch to be a DHCP and BOOTP relay agent if you have locally attached hosts and a remote DHCP or BOOTP server.
This task uses a release of Junos OS that does not support the Enhanced Layer 2 Software (ELS) configuration style. If your switch runs software that supports ELS, see Configuring DHCP and BOOTP. For ELS details, see Using the Enhanced Layer 2 Software CLI.
If you configure a switch to be a DHCP relay agent, you can also enable smart DHCP relay, which allows you to configure alternative gateway addresses for a DHCP server so that if the server fails to reply to the requests sent using the primary gateway address, the switch can resend the requests via the alternative gateway addresses. To use this feature, you must configure a routed VLAN interface or Layer 3 logical interface with multiple IP addresses and configure that interface to be a relay agent.
Configuring a DHCP and BOOTP Relay Agent
To configure a switch to act as a DHCP and BOOTP relay agent, include the bootp statement at the [edit forwarding-options helpers] hierarchy level:
To include a description of the BOOTP service, DHCP service, or interface, use the description statement.
To configure a logical interface or a group of logical interfaces with a specific DHCP relay or BOOTP configuration, include the interface statement.
To stop packets from being forwarded, include the no-listen statement.
To set the maximum allowed number in the hops field of the BOOTP message, include the maximum-hop-count statement. BOOTP messages that have a larger number in the hops field than the maximum allowed are not forwarded. If you omit the maximum-hop-count statement, the default maximum number of hops is four.
To set the minimum allowed number of seconds in the secs field of the BOOTP message, include the minimum-wait-time statement. This setting configures a minimum number of seconds since the client sent its first BOOTP request. BOOTP messages that have a smaller number in the secs field than the allowed minimum are not forwarded. The default value for the minimum wait time is zero (0).
To set the IP address that specify the DHCP or BOOTP server for the router, switch, or interface, include the server statement. You can include multiple server statements.
To set an IP time-to-live (TTL) value for DHCP response packets sent to a DHCP client, include the client-response-ttl statement.
The following example demonstrates a BOOTP relay agent configuration.
See also
Configuring DHCP Smart Relay
You can use DHCP smart relay to provide redundancy and resiliency to your DHCP relay configuration. Smart relay provides additional relay functionality and requires all of the configuration settings required by DHCP relay. To use DHCP smart relay, you also need an interface with multiple IP addresses assigned to it. You can achieve this by doing either of the following tasks:
Create a routed VLAN interface and assign at least two IP addresses to it. See Configuring IRB Interfaces on Switches and Example: Configuring Routing Between VLANs on One Switch Using an IRB Interface for information about this approach.
Create a Layer 3 logical interface (by using VLAN tagging) and assign at least two IP addresses to it. See Understanding Layer 3 Logical Interfaces and Configuring a Layer 3 Logical Interface for information about this approach.
Once you have created an interface with multiple IP addresses, complete the smart relay configuration by entering one of the following statements:
set forwarding-options helpers bootp smart-relay-global: Use this statement to enable smart relay on all the interfaces that are configured as relay agents.
set forwarding-options helpers bootp interface interface-name smart-relay-agent: Use this statement to enable smart relay on a specific interface.
When smart relay is configured for an interface, the switch initially sends DHCP request (discover) messages out of that interface using the primary address of the interface as the gateway IP address (in the giaddr field) for the DHCP message. If no DHCP offer message is received from a server in reply, the switch allows the client to send as many as three more discover messages using the same gateway IP address. If no DHCP offer message is received after three retries, the switch resends the discover message using the alternate IP address as the gateway IP address. If you configure more than two IP addresses on the relay agent interface, the switch repeats this process until a DHCP offer message is received or all of the IP addresses have been used without success.
See also
Graceful Routing Engine Switchover for DHCP
For EX Series switches, only extended DHCP local server maintains the state of active DHCP client leases. The DHCP local server supports the attachment of dynamic profiles and also interacts with the local AAA Service Framework to use back-end authentication servers, such as RADIUS, to provide subscriber authentication. You can configure dynamic profile and authentication support on a global basis or for a specific group of interfaces. The extended DHCP local server also supports the use of Junos address-assignment pools or external authorities, such as RADIUS, to provide the client address and configuration information.
For MX Series routers, the extended DHCP local server and the DHCP relay agent applications both maintain the state of active DHCP client leases in the session database. The extended DHCP application can recover this state if the DHCP process fails or is manually restarted, thus preventing the loss of active DHCP clients in either of these circumstances. However, the state of active DHCP client leases is lost if a power failure occurs or if the kernel stops operating (for example, when the router is reloaded) on a single Routing Engine.
You can enable graceful switchover support on both EX Series switches and MX Series routers. To enable graceful switchover support for the extended DHCP local server or extended DHCP relay agent on a switch, include the graceful-switchover statement at the [edit chassis redundancy] hierarchy level. To enable graceful Routing Engine switchover support on MX Series routers, include the graceful-switchover statement at the [edit chassis redundancy] hierarchy level. You cannot disable graceful Routing Engine switchover support for the extended DHCP application when the router is configured to support graceful Routing Engine switchover.
For more information about using graceful Routing Engine switchover, see Understanding Graceful Routing Engine Switchover.
See also
Centrally Configured Opaque DHCP Options
Subscriber management (on the routers) or DHCP management (on the switches) enables you to centrally configure DHCP options on a RADIUS server and then distribute the options on a per-subscriber or per DHCP-client basis. This method results in RADIUS-sourced DHCP options—the DHCP options originate at the RADIUS server and are sent to the subscriber (or DHCP client). This differs from the traditional client-sourced method (also called DHCP-sourced) of configuring DHCP options, in which the options originate at the client and are sent to the RADIUS server. The subscriber management (DHCP management) RADIUS-sourced DHCP options are also considered to be opaque, because DHCP local server performs minimal processing and error checking for the DHCP options string before passing the options to the subscriber (DHCP client).
Subscriber management (or DHCP management) uses Juniper Networks VSA 26-55 (DHCP-Options) to distribute the RADIUS-sourced DHCP options. The RADIUS server includes VSA 26-55 in the Access-Accept message that the server returns during subscriber authentication or DHCP client authentication. The RADIUS server sends the Access-Accept message to the RADIUS client, and then on to DHCP local server for return to the DHCP subscriber. The RADIUS server can include multiple instances of VSA 26-55 in a single Access-Accept message. The RADIUS client concatenates the multiple instances and uses the result as a single instance.
There is no CLI configuration required to enable subscriber management (DHCP management) to use the centrally configured DHCP options—the procedure is triggered by the presence of VSA 26-55 in the RADIUS Access-Accept message.
When building the offer packet for the DHCP client, DHCP local server uses the following sequence:
Processes any RADIUS-configured parameters that are passed as separate RADIUS attributes; for example, RADIUS attribute 27 (Session Timeout).
Processes any client-sourced parameters; for example, RADIUS attributes 53 (DHCP Message Type) and 54 (Server Identifier).
Appends (without performing any processing) the opaque DHCP options string contained in the VSA 26-55 received from the RADIUS server.
In addition to supporting central configuration of DHCP options directly on the RADIUS server (RADIUS-sourced options), subscriber management (DHCP management) also supports the traditional client-sourced options configuration, in which the router’s (switch’s) DHCP component sends the options to the RADIUS server. The client-sourced DHCP options method is supported for both DHCP local server and DHCP relay agent; however, the RADIUS-sourced central configuration method is supported on DHCP local server only. Both the RADIUS-sourced and client-sourced methods support DHCPv4 and DHCPv6 subscribers (clients).
You can use the RADIUS-sourced and client-sourced methods simultaneously on DHCP local server. However, you must ensure that the central configuration method does not include options that override client-sourced DHCP options, because this can create unpredictable results.
Data Flow for RADIUS-Sourced DHCP Options
Figure 3 shows the procedure subscriber management (DHCP management) uses when configuring DHCP options for subscribers (DHCP clients).

The following general sequence describes the data flow when subscriber management (DHCP management) uses RADIUS-sourced DHCP options and VSA 26-55 to configure a DHCP subscriber (client):
- The subscriber (DHCP client) sends a DHCP discover message (or DHCPv6 solicit message) to the DHCP local server. The message includes client-sourced DHCP options.
- The DHCP local server initiates authentication with the Junos OS RADIUS client.
- The RADIUS client sends an Access-Request message on behalf of the subscriber (DHCP client) to the external RADIUS server. The message includes the subscriber’s (DHCP client’s) client-sourced DHCP options.
- The external RADIUS server responds by sending an Access-Accept message to the RADIUS client. The Access-Accept message includes the RADIUS-sourced opaque DHCP options in VSA 26-55.
- The RADIUS client sends the DHCP options string to DHCP local server. If there are multiple VSA 26-55 instances, the RADIUS client first assembles them into a single options string.
- DHCP local server processes all options into the DHCP offer (or DHCPv6 reply) message, except for the RADIUS-sourced VSA 26-55 DHCP options. After processing all other options, DHCP local server then appends the unmodified VSA 26-55 DHCP options to the message and sends the message to the subscriber (DHCP client).
- The subscriber (DHCP client) is configured with the DHCP options.
- The following operations occur after the subscriber (DHCP
client) receives the DHCP options:
Accounting—The RADIUS client sends Acct-Start and Interim-Accounting requests to the RADIUS server, including the RADIUS-sourced DHCP options in VSA 26-55. By default, the DHCP options are included in accounting requests.
Renewal—When the subscriber (DHCP client) renews, the cached DHCP options value is returned in the DHCP renew (or DHCPv6 ACK) message. The originally assigned DHCP options cannot be modified during a renew cycle.
Logout—When the subscriber (DHCP client) logs out, the RADIUS client sends an Acct-Stop message to the RADIUS server, including the RADIUS-sourced VSA 26-55.
Multiple VSA 26-55 Instances Configuration
VSA 26-55 supports a maximum size of 247 bytes. If your RADIUS-sourced DHCP options field is greater than 247 bytes, you must break the field up and manually configure multiple instances of VSA 26-55 for the RADIUS server to return. When using multiple instances for an options field, you must place the instances in the packet in the order in which the fragments are to by reassembled by the RADIUS client. The fragments can be of any size of 247 bytes or less.
For ease of configuration and management of your DHCP options, you might want to have one DHCP option per VSA 26-55 instance, regardless of the size of the option field.
When the RADIUS client returns a reassembled opaque options field in an accounting request to the RADIUS server, the client uses 247-byte fragments. If you had originally created instances of fewer than 247 bytes, the returned fragments might not be the same as you originally configured on the RADIUS server.
If you are configuring Steel-Belted Radius (SBR) to support multiple VSA 26-55 instances, ensure that you specify VSA 26-55 with the RO flags in the Subscriber Management RADIUS dictionary file. The R value indicates a multivalued reply attribute and the O value indicates an ordered attribute.
DHCP Options That Cannot Be Centrally Configured
Table 3 shows the DHCP options that you must not centrally configure on the RADIUS server.
Table 3: Unsupported Opaque DHCP Options
DHCP Option | Option Name | Comments |
---|---|---|
Option 0 | Pad Option | Not supported. |
Option 51 | IP Address Lease Time | Value is provided by RADIUS attribute 27 (Session-Timeout). |
Option 52 | Option Overload | Not supported. |
Option 53 | DHCP Message Type | Value is provided by DHCP local server. |
Option 54 | Server Identifier | Value is provided by DHCP local server. |
Option 55 | Parameter Request List | Value is provided by DHCP local server. |
Option 255 | End | Value is provided by DHCP local server. |
– | DHCP magic cookie | Not supported. |