Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Broadband Subscriber Sessions User Guide
Table of Contents Expand all
list Table of Contents
file_download PDF
{ "lLangCode": "en", "lName": "English", "lCountryCode": "us", "transcode": "en_US" }
English
keyboard_arrow_right

DHCP Client Authentication With An External AAA Authentication Service

date_range 06-Dec-23

Specifying Authentication Support

Include the authentication statement at hierarchy levels given in Table 1. You can configure either global authentication support or group-specific support.

Table 1: Supported Hierarchy Levels for Authentication Support

Supported Hierarchy Level

Hierarchy Level

DHCP local server

[edit system services dhcp-local-server]

DHCP relay agent

[edit forwarding-options dhcp-relay]

DHCPv6 local server

[edit system services dhcp-local-server dhcpv6]

DHCPv6 relay agent

[edit forwarding-options dhcp-relay dhcpv6]

Creating Unique Usernames for DHCP Clients

You can configure the extended DHCP application to include additional information in the username that is passed to the external AAA authentication service when the DHCP client logs in. This additional information enables you to construct usernames that uniquely identify subscribers (DHCP clients).

To configure unique usernames, use the username-include statement. You can include any or all of the additional statements.

content_copy zoom_out_map
authentication {
    username-include {
        circuit-type;
        client-id <exclude-headers> <use-automatic-ascii-hex-encoding>;
        delimiter delimiter-character;
        domain-name domain-name-string;
        interface-description (device-interface | logical-interface);
        interface-name;
        logical-system-name;
        mac-address;
        option-60;
        option-82 <circuit-id> <remote-id>;
        routing-instance-name;
        user-prefix user-prefix-string;
    }
}
Note:

If you do not include a username in the authentication configuration, the router (or switch) does not perform authentication; however, the IP address is provided by the local pool if it is configured.

When you use the DHCPv6 local server, you must configure authentication and the client username; otherwise client login fails.

The following list describes the optional information that you can include as part of the username:

  • circuit-type—The circuit type used by the DHCP client, for example enet.

  • client-id—The client identifier option (option 1). (DHCPv6 local server DHCPv6 relay agent only)

  • delimiter—The delimiter character that separates components that make up the concatenated username. The default delimiter is a period (.). The semicolon (;) is not supported as a delimiter character.

  • domain-name—The client domain name as a string. The router adds the @ delimiter to the username.

  • interface-description—The description of the device (physical) interface or the logical interface.

  • interface-name—The interface name, including the interface device and associated VLAN IDs.

  • logical-system-name—The name of the logical system, if the receiving interface is in a logical system.

  • mac-address—The client MAC address, in a string of the format xxxx.xxxx.xxxx.

  • option-60—The portion of the option 60 payload that follows the length field. (Not supported for DHCPv6 local server)

  • option-82 <circuit-id> <remote-id>—The specified contents of the option 82 payload. (Not supported for DHCPv6 local server)

    • circuit-id—The payload of the Agent Circuit ID suboption.

    • remote-id—The payload of the Agent Remote ID suboption.

    • Both circuit-id and remote-id—The payloads of both suboptions, in the format: circuit-id[delimiter]remote-id.

    • Neither circuit-id or remote-id—The raw payload of the option 82 from the PDU is concatenated to the username.

    Note:

    For DHCP relay agent, the option 82 value used in creating the username is based on the option 82 value that is encoded in the outgoing (relayed) PDU.

  • relay-agent-interface-id—The Interface-ID option (option 18). (DHCPv6 local server or DHCPv6 relay agent only)

  • relay-agent-remote-id—The DHCPv6 Relay Agent Remote-ID option (option 37). (DHCPv6 local server or DHCPv6 relay agent only)

  • relay-agent-subscriber-id—(On routers only) The DHCPv6 Relay Agent Subscriber-ID option (option 38). (DHCPv6 local server or DHCPv6 relay agent only)

  • routing-instance-name—The name of the routing instance, if the receiving interface is in a routing instance.

  • user-prefix—A string indicating the user prefix.

  • vlan-tags—The subscriber VLAN tags. Includes the outer VLAN tag and, if present, the inner VLAN tag. You can use this option instead of the interface-name option when the outer VLAN tag is unique across the system and you do not need the underlying physical interface name to be part of the format.

For DHCPv6 clients, because the DHCPv6 packet format has no specific field for the client MAC address, the MAC address is derived from among several sources with the following priority:

  • Client DUID Type 1 or Type 3.

  • Option 79 (client link-layer address), if present.

  • The packet source address if the client is directly connected.

  • The link local address.

The router (switch) creates the unique username by including the specified additional information in the following order, with the fields separated by a delimiter.

For DHCP local server and DHCP relay agent:

content_copy zoom_out_map
user-prefix[delimiter]mac-address[delimiter]logical-system-name[delimiter]routing-instance-name[delimiter]circuit-type[delimiter]interface-name[delimiter]option-82[delimiter]option-60@domain-name

For DHCPv6 local server:

content_copy zoom_out_map
user-prefix[delimiter]mac-address[delimiter]logical-system-name[delimiter]routing-instance-name[delimiter]circuit-type[delimiter]interface-name[delimiter]relay-agent-remote-id[delimiter]relay-agent-subscriber-id[delimiter]relay-agent-interface-id[delimiter]client-id@domain-name

Example-Configuring DHCP with External Authentication Server

To configure authentication at DHCP local server, DHCPv6 local server, DHCP relay agent, and DHCPv6 relay agent levels.

  1. Specify that you want to configure authentication.
    content_copy zoom_out_map
    [edit system services dhcp-local-server]
    user@host# edit authentication
    
  2. (Optional) Specify the optional information you want to include in the username.
    content_copy zoom_out_map
    [edit system services dhcp-local-server authentication username-include]
    user@host# set username-include circuit-type
    user@host# set username-include domain-name example.com
    user@host# set username-include mac-address
    user@host# set username-include user-prefix wallybrown
    
  3. Configure an optional password that the extended DHCP application presents to the external AAA authentication service to authenticate the specified username.
    content_copy zoom_out_map
    [edit system services dhcp-local-server authentication]
    user@host# set password $ABC123
    

The following example shows a sample configuration that creates a unique username. The username is shown after the configuration.

content_copy zoom_out_map
authentication {
    username-include {
        circuit-type;
        domain-name example.com;
        mac-address 2001:db8::/32;
        user-prefix wallybrown;
    }
}

The resulting unique username is:

content_copy zoom_out_map
wallybrown.2001:db8::/32.enet@example.com
footer-navigation