ip helper-address [server-ip]
Enables the Cisco DHCP Relay Agent feature on an interface. By default, routers block Layer 2 broadcasts. This command instructs the router to intercept client DHCP Discover broadcasts hitting the local gateway, encapsulate them into a targeted Layer 3 unicast packet, and forward them directly to a centralized server in a different subnet.
Quick Reference
Router(config-if)#no ip helper-address [server-ip]Syntax Breakdown
When a client broadcasts a DHCP Discover packet, the destination IP header is 255.255.255.255. Because a standard router drops this immediately, the client can never reach an external server.
When you apply ip helper-address to the incoming gateway interface, the router intercepts the UDP frame, swaps the source IP with its own local interface IP, changes the destination IP to match the target server, and forwards it across the network backplane using the global routing table.
CLI Deployment Scenarios
Scenario 1: Relaying Access VLAN Users to a Core Server
Your centralized corporate DHCP server sits in the server farm network at 10.10.200.50. You need to forward discovery broadcasts hitting the local GigabitEthernet0/0 interface (User Subnet 192.168.1.1/24) over to the server.
CCNA Exam Gotchas
The Interface Placement Trap
A massive trap on the configuration labs involves deciding which interface gets the helper command.
You must **always apply it to the incoming interface connected to the clients** (the interface receiving the broadcast). If you accidentally apply it to the outgoing uplink interface pointing toward the server, it will do absolutely nothing because the broadcast packet has already been dropped at the ingress boundary line.
How the Central Server Selects the Scope
If the centralized server receives a unicast packet from the router, how does it know which subnet pool block to choose from?
When the router forwards the packet, it stamps its local interface ingress address into the **GIADDR** (Gateway IP Address) field of the DHCP header. The remote server reads this field, sees that the request originated from a gateway on the 192.168.1.0/24 subnet, and pulls an available lease from that specific matching scope block.