I have a general question about how IPs are allocated when using DHCP and mask requests. It appears the IPs are allocated in a sequential order regardless of what kind of pool is set up. IE a local pool, dhcp network pool, or even a dhcp host pool.
example config:
R1(server) <---> R2(client)
!R1 config
ip local pool r2 192.168.12.2
interface Serial1/0
ip address 192.168.12.1 255.255.255.252
encapsulation ppp
peer default ip address pool r2
ppp ipcp mask 255.255.255.252
serial restart-delay 0
!R2 config
ip dhcp pool r2
import all
origin ipcp
interface Serial1/0
ip address pool r2
encapsulation ppp
ppp ipcp mask request
ppp ipcp route default
serial restart-delay 0
!Here is the output after negotiation takes place:
R2(config-if)#do sh ip int br | i up
Serial1/0 192.168.12.1 YES manual up up
R1#sh ip local pool
Pool Begin End Free In use Blocked
r2 192.168.12.2 192.168.12.2 0 1 0
The above shows R1 (server) allocates a single IP for the pool 192.168.12.2, and when showing the output for the pool it lists the address in use. However when R2 allocates an IP, it seems to do it based on the mask/network assigned instead of from a given pool and actually assigns the 1st IP available from the network and ignores the pool all together. Above you can see R2(client) is assigned 192.168.12.1. Is there a way to adjust the behavior of pool assignment?
The above uses a local pool, but I have tried this using DHCP pools on R1 also with the same result. See attached for debug ppp negotiation.