When a client comes up with a 169.254 address instead of the 10.10.20.x address you expected, DHCP is not broken in some mysterious way. One of four things went wrong: the client is in the wrong VLAN, the request never crossed the router, the pool has nothing left to hand out, or the pool is handing out settings that do not match the subnet the client sits in. Everything below is how to tell those four apart quickly, and how the CCNA 200‑301 exam asks about them.
DHCP sits in exam topic 4.6 of the current v1.1 blueprint, which asks you to configure and verify DHCP client and relay. It gets heavier in February 2027, and I will get to that at the end.
What Does DHCP Actually Do on a Cisco Network?
DHCP leases an IPv4 address and a set of options to a client that has no address yet. The exchange is four messages, usually called DORA: Discover, Offer, Request, Acknowledgment. The client sends Discover as a broadcast, because it has nothing to unicast with. Source address 0.0.0.0, destination 255.255.255.255, UDP port 68 to UDP port 67.
The part people skip is the Request. After the Offer arrives, the client broadcasts a Request naming the server it accepted. That broadcast is how any other DHCP server on the segment learns its own Offer was declined. If you have two servers on one VLAN and neither is excluding the other’s range, the Request tells you which one won, and the losing server stops holding the address.
Along with the address, the lease carries options. The three you will be asked about are the default gateway (option 3), the DNS servers (option 6), and the lease time. A client that gets an address but cannot reach anything outside its own subnet usually has a missing or wrong option 3.
Why Don’t DHCP Broadcasts Cross a Router?
Because routers do not forward broadcasts. That is the whole design, and it is also the reason DHCP relay exists at all.
In a small flat network nobody notices, since the server is on the same VLAN as the clients. In any real design, the clients are in VLAN 20 on an access switch and the DHCP server lives in a server VLAN behind a router or a layer 3 switch. The Discover broadcast hits the router interface and stops there. The fix is ip helper-address, which tells the router to rewrite that broadcast as a unicast toward the server and forward it.
One detail that shows up in exam questions: the helper statement goes on the interface where the clients live, not the interface facing the server. If VLAN 20 clients need addresses, the command goes on interface VLAN 20 or on the router subinterface for VLAN 20.
How Do You Configure a Cisco Router as a DHCP Server?
Four lines of real work. Exclude the addresses you use for infrastructure first, then build the pool.
R1(config)# ip dhcp excluded-address 10.10.20.1 10.10.20.20
R1(config)# ip dhcp pool VLAN20-CLIENTS
R1(dhcp-config)# network 10.10.20.0 255.255.255.0
R1(dhcp-config)# default-router 10.10.20.1
R1(dhcp-config)# dns-server 10.10.50.10 10.10.50.11
R1(dhcp-config)# domain-name lab.local
R1(dhcp-config)# lease 0 12 0
The excluded range is not optional housekeeping. Run that pool without it and the router will eventually lease out 10.10.20.1, which is its own gateway address, and then spend the rest of the afternoon logging address conflicts.
The lease 0 12 0 line reads as days, hours, minutes, so that is a twelve hour lease. Default is one day. On a guest VLAN where devices come and go, a short lease keeps the pool from filling with stale bindings. On a corporate VLAN, a short lease just adds churn.
What Is ip helper-address and Where Does It Go?
It goes on the client side interface and points at the DHCP server address.
SW1(config)# interface vlan 20
SW1(config-if)# ip address 10.10.20.1 255.255.255.0
SW1(config-if)# ip helper-address 10.10.50.10
When the switch relays that Discover, it fills in the giaddr field with 10.10.20.1. The server reads giaddr, sees the request came from the 10.10.20.0/24 segment, and picks the matching scope. That is the mechanism behind a question people get wrong: the server does not care which physical port the request arrived on, it cares about the relay address. Put a helper on an interface with the wrong IP subnet and the server will hand back addresses from the wrong scope.
ip helper-address also forwards seven other UDP services by default, including TFTP (69), DNS (53), NTP-era time service (37), and NetBIOS name service (137). That is worth knowing because it explains a security question you will eventually see: adding a helper for DHCP quietly opens relay for those other protocols too, and no ip forward-protocol udp 137 is how you trim the list.
How Do You Configure a Router or Switch as a DHCP Client?
One command on the interface.
R2(config)# interface gigabitethernet0/0/0
R2(config-if)# ip address dhcp
R2(config-if)# no shutdown
R2# show ip interface brief
R2# show dhcp lease
This is how a branch router picks up an address from an ISP handoff, and it is the piece of topic 4.6 that candidates skip because it looks too easy to test. It gets tested.
Why Is My Client Getting a 169.254 Address?
A 169.254.x.x address means the client asked and nobody answered. Windows calls it APIPA, the standard calls it link-local autoconfiguration, and either way it is the client giving up and picking its own address.
Work the path in this order:
- Check the access port VLAN.
show interfaces gi0/2 switchporttells you the access VLAN. A port sitting in VLAN 1 when the pool serves VLAN 20 explains everything in five seconds. - Check the SVI. If interface VLAN 20 is down, the relay never runs.
show ip interface briefwill show it down when no access port in that VLAN is up, which catches people in lab topologies. - Check the helper address and its subnet.
- Check whether the pool is empty with
show ip dhcp pool. - Check for conflicts with
show ip dhcp conflict.
The VLAN check first is deliberate. Most DHCP tickets that reach me are not DHCP tickets. They are trunk and VLAN problems wearing a DHCP costume, which is also why a native VLAN mismatch can produce a subnet full of clients that suddenly cannot get addresses.
Which show Commands Actually Tell You Something?
| Command | What it answers |
|---|---|
show ip dhcp binding |
Which addresses are leased, to which MAC, and until when |
show ip dhcp pool |
How many addresses are left and how many were leased |
show ip dhcp conflict |
Addresses the router found already in use, usually a missing exclusion |
show ip interface gi0/1 |
Whether a helper address is configured on that interface |
debug ip dhcp server events |
Live view of requests arriving and addresses being assigned |
Clear one stuck binding with clear ip dhcp binding 10.10.20.55, or all of them with clear ip dhcp binding *. In a lab that is fine. On a production router at 2pm it is not, because every client with that address keeps using it until its lease timer expires and you have just told the server the address is free.
What Changes for DHCP in CCNA v2.0?
It goes from configure and verify to troubleshoot, and the router DHCP server gets added to the topic. Cisco announced the 200‑301 v2.0 blueprint on May 20, 2026, with the first test date of February 3, 2027 and the last v1.1 test date of February 2, 2027.
Wendell Odom put troubleshoot DHCP in his top five new topics for the new blueprint, and his reasoning matches what the job actually looks like: recognizing from host output that a client never got a lease is a daily skill, not a trivia item. Roughly 28 percent of v2.0 exam topics now use troubleshoot or diagnose verbs, compared to none in v1.0 and v1.1.
Cisco keeps the current exam description and topic list on its 200‑301 exam page, and it is the only version of that list worth trusting. If you are testing before February 2027, study 4.6 as written. If you are testing after, build a lab where DHCP is already broken and practice finding it, because reading about DORA will not get you through a question that hands you a misconfigured helper address and 90 seconds.
Frequently Asked Questions
Does DHCP use TCP or UDP?
UDP. The server listens on port 67 and the client on port 68. There is no handshake to protect, and the client has no address yet, so TCP would not work here anyway.
Can one router relay to two DHCP servers?
Yes. Configure two ip helper-address commands on the same interface and the relay forwards to both. The client accepts whichever Offer arrives first and declines the other in its Request.
Is DHCPv6 on the CCNA?
The v1.1 blueprint focuses on DHCPv4 for configuration, and covers IPv6 address assignment including SLAAC and stateless DHCPv6 at the explain level. Know the difference between SLAAC and stateful DHCPv6 and you are covered.
What happens when a DHCP lease expires?
The client tries to renew at half the lease time by unicasting a Request to the server that gave it the address. If that fails it tries again at 87.5 percent, and only then goes back to broadcasting a Discover.
Why does the router show a DHCP conflict?
The router pinged an address before offering it and got a reply, meaning something already uses that address statically. Add it to an excluded range and clear the conflict list.
Do I need to memorize the DHCP option numbers?
Know option 3 (default gateway), option 6 (DNS) and option 51 (lease time). The rest you can look up on the job.
The fastest way to make this stick is to break it on purpose. Build the pool, confirm a client gets an address, then move the access port to the wrong VLAN and watch what the client reports. Do it again with the helper address pointing at a dead host. If you want the terminology nailed down first, the CCNA glossary covers the vocabulary, and if your first lab attempt takes three hours, that is completely normal.
Network Professional | CCNA Certified
Ashley Miller is a 35-year-old networking professional with a proven foundation in Cisco technologies. She is CCNA certified and currently advancing her expertise by working toward the Cisco Certified Network Professional (CCNP) certification. With a passion for designing and maintaining efficient, secure network infrastructures, Ashley brings both technical skill and real-world experience to every project.












