Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation  Back up to About Overview 
  
[+] Expand All
[-] Collapse All

pool.dhc Files

Each pool listed in the [Pools] section of the dhcp.ini file must be a corresponding pool.dhc file that configures that pool.

[Settings] Section

The [Settings] section of the pool.dhc file (Table 78) controls DHCP lease information.

Table 78: pool.dhc [Settings] Syntax

Parameter

Function

LeaseTime

Set to the lease time, in seconds, to request from the DHCP server.

Default value is 1 day.

MinLeaseTime

Set to the minimum lease time, in seconds. Offers from DHCP servers with lease time less than this minimum are ignored.

Default value is the value set for LeaseTime.

TargetAddress

Set to the address to which DISCOVER messages are sent.

Default value is 255.255.255.255, the local broadcast address.

This entry should normally remain unchanged, to allow DHCP DISCOVER messages to be broadcast.

ExtendOnStart

Specifies whether to extend the DHCP lease time when SBR Carrier receives an Accounting-Start request from the NAD.

  • 1—Extends the lease time when SBR Carrier receives an Accounting-Start request from the NAD. The value set for the LeaseTime parameter is used for extending the lease time.
  • 0—Does not extend the lease time when SBR Carrier receives an Accounting-Start request from the NAD.

Default value is 0.

InitialLeaseTime

Specifies the initial lease time (in seconds) which is used as the lease time when a DHCP server allocates an address during authentication. This lease time is updated to the value set for LeaseTime when SBR Carrier receives an Accounting-Start request from the NAD.

This parameter applies only if the ExtendOnStart parameter is set to 1.

Default value is 0 seconds.

[Request] Section

The [Request] section allows options in the DHCP DISCOVER and REQUEST messages to be constructed from attributes in the RADIUS Access-Request and from pre-configured literal values in the following way:

[Request]
DHCP option = RADIUS attribute or literal value
DCHP option = RADIUS attribute or literal value
.
.
.

The DHCP option contains of the following fields (brackets ([ ]) indicate optional text). Fields are not separated by spaces.

[vendor-specific] option [offset] format

Table 79: pool.dhc [Request] Syntax

Parameter

Function

vendor-specific

Set to v if this is a vendor-specific option, or omit otherwise.

option

Set to the DHCP option in the format, nnn.

offset

Set to a period followed by the number of bytes into the option where the value is located, or a plus-sign (+) to indicate a list of values in the DHCP option; each to be mapped to an instance of the RADIUS attribute.

format

Set to the format of the DHCP option, which can be one of the following:

  • n32—a 32-bit integer
  • n16—16-bit integer
  • n8—8-bit integer
  • s or string—string
  • i or ip—IP address

The following are examples of DCHP option fields:

  • 1ip (The “Subnet Mask” option as an IP address)
  • 3+ip (The “Router” option as a list of IP address, each to be mapped to an instance of the RADIUS attribute)
  • 6.4ip (The “DNS Server” option as a second IP address in list (each IP address is 4 bytes))
  • 12s (The “Host Name” as a string)

The RADIUS attribute can be set to the name of any attribute defined in any dictionary. A literal value can be specified instead of a RADIUS attribute. This value must be text enclosed in double-quotes (“ ”).

The string is interpreted based on the format of the DHCP option:

  • IP addresses must be specified in dotted notation; for example, 127.0.0.1 for IPv4 networks.
  • Integers are expressed in decimal format; for example, 100.
  • Strings are expressed as any text sequence.

The text can include escape sequences, where the backslash character (\) is the escape character. Table 80 lists escape sequences.

Table 80: Escape Code Sequences

Escape Code

Function

\a

7

\b

8

\f

12

\n

10

\r

13

\t

9

\y

11

\nnn

A decimal value between 0 and 255.

\xnn

A hexadecimal value between 00 and FF

\\

A literal backslash \

\”

A double-quote

\char

A single character, interpreted literally

Note: You must use an escape character to include a literal backslash (\) or double-quote (") in the string.

An escape sequence can be used to set an option to an arbitrary binary value. This is useful, for example, when setting the Vendor Class Identifier option (60).

The following example sets the DHCP Host Name option to the RADIUS Calling-Station-Id, and sets the DHCP Vendor Class Identifier option to a binary string:

[Request]
12s = Calling-Station-Id
60s = “\x01\x02\x03\x04\x05”

[Reply] Section

The [Reply] section allows RADIUS Access-Accept attributes to be constructed from options the DHCP server returns in an ACK message, in the following way:

[Reply]
RADIUS attribute = DHCP option
RADIUS attribute = DHCP option
.
.
.

See the [Request] section for information about how to specify the RADIUS attribute and the DHCP option values.

Note: In contrast to the [Request] section, the left and right sides of the equal sign are reversed to account for the direction in which the data is being set.

The following example returns the RADIUS Framed-IP-Netmask attribute from the DHCP Subnet Mask option and sets the RADIUS Framed-MTU attribute from the DHCP Interface MTU option:

[Reply]
Framed-IP-Netmask = 1ip
Framed-MTU = 26n16

Reconfiguring Pools

DHCP pool information is loaded at startup from the dhcp.ini file and all associated pool .dhc files. DHCP pools can be added, deleted, and modified dynamically by doing the following:

  1. Modify the dhcp.ini file and the pool.dhc files as required.
  2. Restart the RADIUS process by issuing the SIGHUP (1) signal to the Steel-Belted Radius Carrier process:

    #./sbrd hup

Steel-Belted Radius Carrier reads the modified files and configures its DHCP pools.

Modified: 2018-01-11