When would you need this: When using the router as a DHCP server to provide IP addresses and related information to DHCP clients.
Specials Requirements: DHCP server software is supported for these series; 800, 1000, 1400, 1600, 1700 series (support for the Cisco 1700 series was added in Cisco IOS Release 12.0T), 2500, 2600, 3600, 3800, MC3810, 4000, AS5100, AS5200, AS5300, 7000, 7100, 7200, MGX 8800 with an installed Route Processor Module, 12000, uBR900, uBR7200, Catalyst 5000 family switches with an installed Route Switch Module, Catalyst 6000 family switches with an installed MultiLayer Switch Feature Card, and Catalyst 8500.
1. Define the DHCP address pool,
Router(config)#ip dhcp pool POOLNAME
Router(dhcp-config)#network XXX.XXX.XXX.XXX YYY.YYY.YYY.YYY
XXX.XXX.XXX.XXX is the network address to be used by the DHCP pool
YYY.YYY.YYY.YYY is the subnet mask for the network.
You can replace the subnet mask by a (/PREFIX) to provide the subnet mask.
2. Configure the parameters to be sent to the client,
To provide the DNS server IP address
To provide the IP address of the default gateway
To provide the name of the domain of the network (if in a domain environment)
To provide the IP address of the NetBIOS name server
Router(dhcp-config)#lease DAYS HOURS MINUTES
To define the lease time of the addresses given to the client. You can make it infinite by using this command instead; lease infinite
There is a large group of settings that you can configure to be sent to the clients, and I have only mentioned the most frequently used.
Read the rest of the article in the Router Geek Book: Guide to Cisco Routers Configuration