DHCP Client Not Getting an Address
Why a client doesn't receive a DHCP lease, and how to isolate the cause in RouterOS.
When a PC is set to “Obtain an IP address automatically” but receives a 169.254.x.x APIPA address instead, the DHCP request has failed. Here is how to isolate the issue in MikroTik RouterOS.
1. Verify the DHCP Server Interface
The most common mistake is creating a DHCP server on an individual port (like ether2) instead of the bridge that port belongs to.
CLI Check:
/ip dhcp-server print
Look at the interface column. If it says ether2 but ether2 is a member of bridge-LAN, the server is invalid (usually highlighted in red in WinBox) and will not hand out addresses. Change the interface to bridge-LAN.
2. Check the Physical / VLAN Layer
A client plugged into the wrong port, or on the wrong side of a VLAN boundary, will never reach a DHCP server that’s bound elsewhere.
- Confirm physical link state on the port.
- If using VLANs, check the PVID:
/interface bridge port print. If the PC is plugged into a port withpvid=20, but the DHCP server is running onvlan-10, the DHCP broadcast will never reach the server.
3. Check the Address Pool
Confirm the pool isn’t exhausted. If you set up a /24 subnet but restricted the pool to just 10 IPs, the 11th device will get nothing.
CLI Check:
/ip pool print
/ip pool used print
4. Check for Rogue DHCP Servers
If a client is getting an IP address, but it’s the wrong IP address (e.g. 192.168.0.x when your router is handing out 10.0.0.x), you have a rogue DHCP server on your network (like a consumer router plugged in backward).
Use the RouterOS DHCP alert feature to find it:
/ip dhcp-server alert add interface=bridge-LAN valid-server=XX:XX:XX:XX:XX:XX
Check your logs to see if another MAC address is answering DHCP DISCOVER packets.
5. Enable DHCP Logging
If the configuration looks perfect but the PC still won’t get an IP, turn on DHCP logging in RouterOS to watch the handshake process.
/system logging add topics=dhcp action=memory
Then open the Log. When you plug in the PC, you should see a dhcp,info message reading DHCPDISCOVER. If you don’t see anything at all in the logs, the packets are not reaching the router (a Layer 1/2 issue). If you see DHCPOFFER but no DHCPREQUEST, the PC is ignoring the router’s offer (likely a firewall on the PC).