Configuring a Cisco DHCP IP Reservation


This topic is a common use in smaller environments but nonetheless something that is still used. Sometimes there is a need to have DHCP configured for end devices and you need a client to have an IP address reservation so you can configure things like applicable access lists or NAT entries for instance. Obviously this is a very easy thing to do on a Windows Server, but it is a bit different to do a Cisco DHCP IP reservation on a Cisco router.

The topology above is the basic lab we are working with. R1 will receive an IP address from R2. The subnet between them is That being the case, we want interface ethernet0/0 on R1 to receive the same DHCP IP every time. In the case of this lab, that IP will be

Here is the interface configuration from R1. This configuration ensures that the mac address of interface e0/0 is the mac sent as the client-identifier:

R1#sh run int e0/0
Building configuration...
Current configuration : 68 bytes
interface Ethernet0/0
 ip address dhcp client-id Ethernet0/0

To setup the IP reservation on R2, we need to know the mac address of the interface ethernet0/0 on R1 that will be connecting and requesting a DHCP IP address. A simple “show interface e0/0” on R1 will give us this info (some output omitted):

R1#sh int e0/0
Ethernet0/0 is up, line protocol is up 
  Hardware is AmdP2, address is aabb.cc00.1000 (bia aabb.cc00.1000)
  Internet address will be negotiated using DHCP

With the info we have, we can now configure R2. First, interface e0/0 on R2 needs an IP address. In this case, the IP address will be

R2(config)#int e0/0
R2(config-if)#ip address

Next we need to make the actual Cisco DHCP IP reservation. You will notice similarities between this process and a normal DHCP pool process. In this case though, the IP address is specified with the host command and then the specific client is identified with the “client-identifier” command. One important thing to note is the “01” in the client-identifier before the mac address value. This represents the ethernet media type and must start the client-identifier. That configuration for our example would end up looking like this:

R2#sh run | sec dhcp
ip dhcp pool R1
 client-identifier 01aa.bbcc.0010.00

Looking back to R1 once this is all entered, we can notice that the requested IP address has been assigned. Sometimes you may need to shut \ no shut the interface being used. In this case, the IP was assigned and we received the following console output:

*Jun 19 01:06:00.113: %DHCP-6-ADDRESS_ASSIGN: Interface Ethernet0/0 assigned DHCP address, mask, hostname R1

And that’s all there is to it. Trying to use Cisco DHCP IP reservations is definitely not an enterprise solution for large environments, but it can be used in special, smaller cases. Other common uses are in PPP environments for example.

This lab was completed on two Cisco routers, but if needed, this can be done on a layer 3 switch as well without issue.Keep this option in mind next time you may need it and if you have any questions, comment below.


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.