Usually I tend to create DHCP server on Windows Server. However, sometimes there is no server on site. Only what I have are network devices, workstations and voip phones. In those cases I used to create DHCP server on switches. As environment I operate in contains mainly Cisco devices, each location has at least one or more Cisco Catalyst switches (2960 or 3560) it is possible to provide DHCP service using IOS features. Example contains DHCP configuration for network with different VLANs for data, voice and printers.

Below is short description and set of commands demonstrating how to setup:

Configuration snippet I use to enable SSH on Cisco 2811 ISR and Catalyst 3560, but it will work on all Cisco IOS devices with appropriate IOS image which allows SSH to be enabled (IOS which has k9 in image name contains crypto compnents which allow to enable SSH).