Skip to content
Back to Blog
MikroTik

Managing IP Pools and DHCP Leases in MikroTik

View active DHCP leases, add static assignments by MAC address, clear stale leases, and manage IP pool ranges in MikroTik.

Dec 2026
8 min read

IP Pool and DHCP Management on MikroTik

Effective DHCP management keeps your network running smoothly. This post covers routine DHCP administration tasks: managing pools, cleaning stale leases, tracking clients, and handling IP conflicts.

Reviewing Pool Utilization

TEXT
/ip pool used print
/ip pool print

Compare used against the pool's range to gauge utilization. A pool nearing exhaustion means some clients will fail to get IPs.

Listing All Active Leases

TEXT
/ip dhcp-server lease print

Add status filters:

TEXT
/ip dhcp-server lease print where status=bound      # active leases
/ip dhcp-server lease print where status=waiting    # expiring/pending

Clearing Stale Leases

Old devices leave stale leases in your table. Manual cleanup:

TEXT
/ip dhcp-server lease remove [find status=waiting]
/ip dhcp-server lease remove [find last-seen>1d]

Or adjust lease time so stale entries expire faster:

TEXT
/ip dhcp-server network set [find] lease-time=12h

Converting a Dynamic Lease to Static

When a device should always get the same IP:

TEXT
/ip dhcp-server lease make-static [find address=192.168.10.55]

This locks that device's MAC to that IP. Alternatively, add manually:

TEXT
/ip dhcp-server lease add address=192.168.10.55 mac-address=AA:BB:CC:DD:EE:FF server=dhcp1

Searching for a Device by MAC

TEXT
/ip dhcp-server lease print where mac-address="AA:BB:CC:DD:EE:FF"

Useful when a user reports connectivity problems — find their IP from MAC address.

Finding Duplicate IPs

IP conflicts cause mysterious connectivity problems. Use ARP to find duplicates:

TEXT
/ip arp print

If two MACs share the same IP, you have a conflict. Check for rogue DHCP servers or static IP assignments overlapping with the pool.

Expanding the Pool When Running Low

TEXT
/ip pool set dhcp_pool ranges=192.168.10.10-192.168.10.250

Or add a second pool range:

TEXT
/ip pool add name=dhcp_pool2 ranges=192.168.20.10-192.168.20.200
/ip dhcp-server set dhcp1 address-pool=dhcp_pool,dhcp_pool2

DHCP Lease Notification Script

Get notified when a new device joins:

TEXT
/system script add name=new-lease-alert source={
  :local mac [/ip dhcp-server lease get [find where dynamic=yes] mac-address]
  /tool e-mail send to=admin@example.com subject=("New device: " . $mac) body=($mac . " got IP")
}
/ip dhcp-server set dhcp1 lease-script=new-lease-alert

Blocking Specific Devices from DHCP

Add a static lease with an IP outside your pool to effectively block a MAC from getting an IP:

TEXT
/ip dhcp-server lease add mac-address=BA:D0:FF:EN:DE:D0 address=192.168.10.254 server=dhcp1 comment=blocked

Or use the /ip dhcp-server lease make-permanent approach and then add a firewall rule blocking that IP.

Clean DHCP management prevents mysterious "no internet" calls and IP conflict incidents. Make lease table review part of your monthly maintenance routine.