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
Specify IP addresses for the interfaces on DHCP server. (Details not shown.)
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)