DHCP user class configuration example

Network requirements

As shown in Figure 22, the DHCP relay agent (Router A) forwards DHCP packets between DHCP clients and the DHCP server (Router B). Enable Router A to handle Option 82 so that it can add Option 82 in DHCP requests and then convey them to the DHCP server.

Configure the address allocation scheme as follows:

Assign IP addresses

To clients

10.10.1.2 to 10.10.1.10

The DHCP request contains Option 82.

10.10.1.11 to 10.10.1.26

The hardware address in the request is six bytes long and begins with aabb-aabb-aab.

Router B assigns the DNS server address 10.10.1.20/24 and the gateway address 10.10.1.254/24 to clients on subnet 10.10.1.0/24.

Figure 22: Network diagram

Configuration procedure

  1. Specify IP addresses for the interfaces on DHCP server. (Details not shown.)

  2. Configure DHCP:

    # Enable DHCP and configure the DHCP server to handle Option 82.

    <RouterB> system-view
    [RouterB] dhcp enable
    [RouterB] dhcp server relay information enable
    

    # Enable the DHCP server on the interface GigabitEthernet1/0/1.

    [RouterB] interface gigabitethernet 1/0/1
    [RouterB-GigabitEthernet1/0/1] dhcp select server
    [RouterB-GigabitEthernet1/0/1] quit
    

    # Create DHCP user class tt and configure a match rule to match DHCP requests that contain Option 82.

    [RouterB] dhcp class tt
    [RouterB-dhcp-class-tt] if-match rule 1 option 82
    [RouterB-dhcp-class-tt] quit
    

    # Create DHCP user class ss and configure a match rule to match DHCP requests in which the hardware address is six bytes long and begins with aabb-aabb-aab.

    [RouterB] dhcp class ss
    [RouterB-dhcp-class-ss] if-match rule 1 hardware-address aabb-aabb-aab0 mask ffff-ffff-fff0
    [RouterB-dhcp-class-ss] quit
    

    # Create DHCP address pool aa.

    [RouterB] dhcp server ip-pool aa
    

    # Specify the subnet for dynamic allocation.

    [RouterB-dhcp-pool-aa] network 10.10.1.0 mask 255.255.255.0
    

    # Specify the address range for dynamic allocation.

    [RouterB-dhcp-pool-aa] address range 10.10.1.2 10.10.1.100
    

    # Specify the address range for the user class tt.

    [RouterB-dhcp-pool-aa] class tt range 10.10.1.2 10.10.1.10
    

    # Specify the address range for the user class ss.

    [RouterB-dhcp-pool-aa] class ss range 10.10.1.11 10.10.1.26
    

    # Specify the gateway and the DNS server.

    [RouterB-dhcp-pool-aa] gateway-list 10.10.1.254
    [RouterB-dhcp-pool-aa] dns-list 10.10.1.20
    [RouterB-dhcp-pool-aa] quit
    

Verifying the configuration

# Verify that clients matching the DHCP user classes can obtain IP addresses in the specified ranges and all other configuration parameters from the DHCP server. (Details not shown.)

# On the DHCP server, display the IP addresses assigned to the clients.

[RouterB] display dhcp server ip-in-use
IP address       Client identifier/    Lease expiration      Type
                 Hardware address
10.10.1.2        0031-3865-392e-6262-  Jan 14 22:25:03 2015  Auto(C)
                 3363-2e30-3230-352d-
                 4745-302f-30
10.10.1.11       aabb-aabb-aab1        Jan 14 22:25:03 2015  Auto(C)