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 192.168.1.0/24. 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 192.168.1.100.
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 end R1#
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 192.168.1.1:
R2(config)# R2(config)#int e0/0 R2(config-if)#ip address 192.168.1.1 255.255.255.0
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 host 192.168.1.100 255.255.255.0 client-identifier 01aa.bbcc.0010.00 default-router 192.168.1.1 dns-server 18.104.22.168 R2#
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 192.168.1.100, mask 255.255.255.0, 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.