DHCP-Client
This chapter covers some aspects related to the interfaces ethernet <txt> dhcp client configuration command,
used to configure the Dynamic Host Configuration Protocol (DHCP) client in OSDx. DHCP client configuration can be
done in all interfaces except xfrm interfaces.
General aspects of the DHCP protocol can be found here
Operational command service dhcp-client show leases can be used to display miscellaneous information
about leases obtained by the DHCP client.
Example:
admin@osdx$ service dhcp-client show leases
Interface: eth1
IP address: 10.0.0.52
Subnet mask: 255.255.255.0
Routers: 10.0.0.1
Name-servers:
Domain-name:
NTP servers:
DHCP server: 10.0.0.1
Lease time: 42831
Expiry date: Wed Sep 10 10:18:24 2025
Reason: BOUND
The service dhcp-client renew interface <ifc> operational command can be used to renew DHCP client leases
for a specific interface.
DHCP-Client configuration options
DHCP client configuration options are set via interfaces, which means each interface has its own independent configuration options. The different DHCP client configuration options available in OSDx are described below.
Fallback
This option allows you to configure a fallback IP address for an interface in the event the DHCP client fails. It can be configured as shown.
set interfaces ethernet eth1 address dhcp
set interfaces ethernet eth1 dhcp client fallback 192.168.100.100/24
Miscellaneous information about leases look as follows.
admin@osdx# run service dhcp-client show leases
Interface: eth1
IP address: 192.168.100.100 [Fallback]
Subnet mask: 255.255.255.0 [Fallback]
Routers:
Name-servers:
Domain-name:
NTP servers:
DHCP server:
Lease time:
Expiry date:
Reason: FAIL
Receive-default-router
This option helps manage the default route configuration obtained through the DHCP client. In OSDx, the default route can be
managed in two different ways. The first one involves disabling the default route installation (using the disable configuration command). This can be done as follows:
set interfaces ethernet eth1 address dhcp
set interfaces ethernet eth1 dhcp client receive default-router disable
The routes installed in the system should look like the ones shown below. It is important to note that default route 0.0.0.0 is not installed.
admin@osdx$ protocols ip show route
Codes: K - kernel route, C - connected, L - local, S - static,
R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
f - OpenFabric, t - Table-Direct,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
IPv4 unicast VRF default:
C>* 192.168.100.0/24 is directly connected, eth1, weight 1, 00:02:09
L>* 192.168.100.100/32 is directly connected, eth1, weight 1, 00:02:09
The second method is to set a distance for default route installation (via distance). This is done as shown below:
set interfaces ethernet eth1 address dhcp
set interfaces ethernet eth1 dhcp client receive default-router distance 200
The default route is now installed with a distance of 200.
admin@osdx$ protocols ip show route
Codes: K - kernel route, C - connected, L - local, S - static,
R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
f - OpenFabric, t - Table-Direct,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
IPv4 unicast VRF default:
S>* 0.0.0.0/0 [200/0] via 192.168.100.1, eth1, weight 1, 00:00:07
C>* 192.168.100.0/24 is directly connected, eth1, weight 1, 00:05:06
L>* 192.168.100.100/32 is directly connected, eth1, weight 1, 00:05:06
Rfc3442-routes
This option allows static routes received through the DHCP client to be installed in accordance with RFC 3442. RFC 3442 defines the classless static route option for DHCP, allowing the client to receive and install one or more static routes along with the IP configuration. This can be done as follows:
set interfaces ethernet eth1 address dhcp
set interfaces ethernet eth1 dhcp client rfc3442-routes
The routes installed in the system will look like this:
admin@osdx$ protocols ip show route
Codes: K - kernel route, C - connected, L - local, S - static,
R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR,
f - OpenFabric, t - Table-Direct,
> - selected route, * - FIB route, q - queued, r - rejected, b - backup
t - trapped, o - offload failure
IPv4 unicast VRF default:
S>* 5.5.5.0/24 [1/0] via 192.168.100.1, eth1, weight 1, 00:12:18
C>* 192.168.100.0/24 is directly connected, eth1, weight 1, 00:34:42
L>* 192.168.100.100/32 is directly connected, eth1, weight 1, 00:34:42
Send dhcp-client-identifier
This option sets the Client Identifier field in DHCP messages, allowing for a DHCP client to be uniquely identified in accordance with RFC 2132.
Three different parameters can be used as a client identifier. The first one is the base-mac configuration command, which
uses the MAC address of the DHCP client`s interface as identifier. The second one is the serial-number configuration command,
which uses the serial number of the DHCP client`s device as identifier. Finally, the string configuration command uses the
selected string as identifier. It is important to note that only one dhcp-client-identifier can be used at a time. The configuration
is shown below.
set interfaces ethernet eth1 dhcp client send dhcp-client-identifier base-mac
set interfaces ethernet eth1 dhcp client send dhcp-client-identifier serial-number
set interfaces ethernet eth1 dhcp client send dhcp-client-identifier string "dhcp client ID"
Send vendor-class-identifier
This option sets the vendor class identifier field in DHCP messages. Clients and servers use this option to exchange vendor-specific information. The configuration command used for this option is shown below.
set interfaces ethernet eth1 dhcp client send vendor-class-identifier string "vendor ID"
Examples
Here you can find different examples involving these options.
Command Summary
Configuration commands
interfaces ethernet <txt> dhcp client fallback <ipv4cidr|ipv6cidr>interfaces ethernet <txt> dhcp client receive default-routerinterfaces ethernet <txt> dhcp client receive default-router disableinterfaces ethernet <txt> dhcp client receive default-router distance <u32>interfaces ethernet <txt> dhcp client send dhcp-client-identifierinterfaces ethernet <txt> dhcp client send dhcp-client-identifier base-macinterfaces ethernet <txt> dhcp client send dhcp-client-identifier serial-numberinterfaces ethernet <txt> dhcp client send dhcp-client-identifier string <id>interfaces ethernet <txt> dhcp client send vendor-class-identifierinterfaces ethernet <txt> dhcp client send vendor-class-identifier string <id>