Skip to content Skip to site navigation

DHCP and BootP


The DHCP (Dynamic Host Configuration Protocol) and BootP (Bootstrap Protocol) pass network configuration information to a host during startup. In NetDB, DHCP is configured on node and network records. For node records, a unique hardware address must be entered to configure DHCP.

DHCP is also described in Internet RFCs 2131 and 2132. Note that BOOTP is a subset of DHCP commands.

DHCP information is updated from NetDB approximately every 10 minutes.

DHCP flag (node record)

If the DHCP box is checked and a hardware address is entered, the campus DHCP servers will reply to a DHCP request from that hardware address. Default DHCP options will be returned. If specified in the NetDB record, additional DHCP options will also be returned.

Roaming flag (node records)

Roaming DHCP was implemented to allow machines to move too other networks without requiring manual configuration of IP addresses, etc. If the Roaming box is checked, Roaming DHCP is enabled for that hardware address. If the machine now moves to another network that has available roaming DHCP addresses, the DHCP server will give one of these addresses to the mobile machine.

Default Node DHCP options

The default node DHCP options at Stanford University are IP address, subnet mask, gateway, domain name, and domain name servers. The option numbers come from RFCs 2131 and 2132.

DHCP Option Option Number Description
IP Address 50 returns IP address assigned to requesting hardware address
Subnet mask 1 returns, in general
Gateway 3 for 171.64 addresses, returns; for 171.65 addresses, returns
Domain name 15 returns domain name assigned to the Node
Domain name servers 6 and returned in random order

Additional DHCP options

n NetDB, the following additional DHCP options may be set for Node interfaces, Networks or address spaces. Note: Use with caution as improper use may cause networking problems. Enter DHCP options one per line, using the syntax <dhcp option> = <value>.

DHCP Option Option Number Node Interface Net Address Space Description
next-server   Y Y Y boot/config server
filename   Y N Y boot/config file - e.g. thin clients
ntp-servers 42 Y Y Y Network Time Protocol (NTP) server(s)
time-servers 4 Y Y Y RFC 868 time server(s)
tftp-server-name 66 Y Y Y TFTP boot/config server
bootfile-name 67 Y N Y boot/config file - e.g. thin clients
log-servers 7 Y Y Y  
host-name 12 Y N N  
domain-name 15 Y Y Y e.g.,
domain-name-servers 5 Y Y Y DNS servers
netbios-name-servers 44 Y Y Y WINS servers
netbios-node-type 46 Y Y Y 1=B, 2=P, 4=M, 8=H
option-144 144 Y N N for HP printers
tftp-server-address 150 Y Y Y TFTP server IP address
permit   N N Y see below
max-lease-time   Y Y Y  
default-lease-time* 51 Y Y Y lease time for interface IPs (2 days)
dynamic-lease-time* 51 N N Y lease time for dynamic IPs (42 minutes)

* DHCP lease time options
There are two default lease durations in NetDB - one for statically assigned (interface) IP addresses and one for dynamically assigned (address space) IP addresses. The default for statically assigned addresses is 2 days and for dynamically assigned addresses it's 42 minutes.

The default-lease-time option sets the lease duration for statically assigned addresses. The lease time can be set for an entire network, an address space, or just an interface. The lease time for dynamically assigned addresses will not be affected.

The dynamic-lease-time option sets the lease duration for dynamically assigned addresses. This option can only be used on address spaces because it only affects the lease time for address space addresses.

When setting these options the value is in seconds. For example dynamic-lease-time= 600 sets the lease duration for dynamically assignable address to 10 minutes.

† permit DHCP option

The permit DHCP option controls which clients can lease dynamically assignable IP addresses, dynIPs, on a per subnet basis. By default, the DHCP service leases dynIPs to roaming clients, i.e., nodes with the roaming flag set. So any address space without the permit option essentially has permit=roaming. Adding the permit option to an address space completely overrides that default.
At this time there's only one other valid value for the permit option: unknown-clients. Setting permit=unknown-clients allows unknown clients to obtain dynIPs in a particular address space. This explicit permit option overrides the default, so only unknown clients can get dynIPs. To allow both unknown clients and roaming clients to obtain dynIPs simply combine values - permit=unknown-clients,roaming or permit=roaming,unknown-clients.
Note that the set of unknown clients isn't just nodes not listed in NetDB, but also includes nodes in NetDB without the DHCP flag set, and nodes in NetDB in the Unknown state.
To summarize:
Permit Value Clients that will get dynamically assigned leases
(default) Roaming clients
unknown-clients Only unknown clients (no roaming clients)
unknown-clients,roaming Unknown clients and roaming clients
Unknown clients include:
  • nodes not registered in NetDB
  • nodes in NetDB without DHCP flag set
  • nodes in NetDB in the "Unknown" state

For more information, please submit a HelpSU ticket.

Last modified November 1, 2022