DHCP Management Across a Diversified Network?
ET Admin writes "I work for a small Wireless ISP, where we are deploying new network hardware to allow for growth and contain broadcast traffic. All routing/switching equipment is Cisco. We use Linux stand-alone boxes and VMs (running on Win 2003 boxes). We have decided on a hybrid VLAN layout where we have certain VLANs limited by location, and other VLANs that are global across the network. And I want DHCP served across it all. Does anyone have experience with IPAM software that handles multiple DHCP servers? Our network is small so spending a couple grand is overkill at this point. Any recomendations to help me decide between serving DHCP from the Nix boxes, or from the Cisco gear? Knowing that a single DHCP server will handle from 100-500 hosts."
setup DHCP Relaying on the switches to forward/relay all dhcp request across the vlans and subnets to one (or two) dhcp servers
http://lmgtfy.com/?q=cisco+dhcp+relay&l=1
You can easily run hundreds of thousands of hosts off a single DHCP server. It is not cpu intensive particularly if you have a decent lease duration.
Just because you disagree doesn't make it offtopic or flamebait.
Someone in house here created it, and we use it across multiple vlans from a Gentoo box. It uses the ISC DHCPD server.
http://phpdhcpadmin.sourceforge.net
DHCP not used in IPV6 protocol
If you want a dhcp server on multiple vlans, you can probably utilize dhcp relay to forward the client dhcp request to the server. So, you don't necessarily need a server on each vlan. Also, with dhcp option 82 information, you can serve addressed based on the vlan, switch or even switch port from where the request originates.
See the following for more information: CISCO option 82
Seriously, do not use the Cisco gear to handle the DHCP. There are several ways to handle this, either have a system with an interface on all the networks, or setup your Cisco gear to forward the HDCP requests to the one subnet that does have your system.
With using Unix/Linux you can setup failover servers so that if one does not respond, the other will take over the requests and that way you will not lose DHCP across your entire network due to hardware/software issues on a single system. Go read up on dhcpd, it is not too difficult to understand, and is really probably your best low cost solution.
We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
If its cisco equipment- yes, you should be able to maintain different vlans and serve dhcp independently inside each vlan.
You need to use DHCP snooping to block rogue DHCP servers and block packets with forged MAC addresses on untrusted interfaces
You need IP source guard to block forced IP addresses on untrusted interfaces
Otherwise, you are at risk of DOS and/or compromise from malicious users, and at risk of instability and insanity caused by users who plug a rogue DHCP server (even something as simple as the LAN side of a Linksys gateway) into your gear.
i really wish we could close these stories out after an insightful post like yours. mod parent up. don't use cisco, dhcpd is freaking trivial. done and done. next
aEN
DNSMasq. Nuff said.
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
To everyone who tagged this "domyjobforme", I hope every single one of you gets the same response the next time you ask for help doing you job. At least this guy had the sense to say, "Hey, there's a community of people that contains a multitude of experts in many fields, I bet someone might have some good suggestions." And guess what else? Maybe some readers will find the suggestions helpful too. Ask Slashdot is for questions that the general community might find interesting and helpful, not just one guy. It's not just about the submitter, and it's certainly not about your need to be snide to those who recognize their shortcomings and try to expand their base of knowledge.
jX [ Make everything as simple as possible, but no simpler. - Einstein ]
Don't use your cisco gear to manage dhcp. It's better utilized doing it's primary function of routing and switching. Set up a Linux box to do dhcp. Setup multiple subnets and use the "ip helper-address" command on the interfaces of your Cisco router's to forward the dhcp requests to your Linux dhcp server. It's simple to do. Once upon a time I setup a 5000k node network doing that very same thing.
While we are here... I really hope you are not using something like "vmware server" - you know ESXi is free now, right, and will give you a lot more performance for your VMs than vmware server, which isn't really meant for production use...
We have deployed an aradial radius server and mikrotik router boxes at each wireless sites. PPPOE is our authentication method, this allows a single bandwith limiting on/off point at the radius server. DHCP is done at each mikrotik router and hands out local IP's. no pppoe setup means the customer will get pointed direct to our login page. This means we run a NAT at each tower.
For people using VPN we run 1-1 NAT with a static IP at the customer site, thier wireless endpoint in bridge mode.
seriously, look into mikrotik/aradial Based WISP gear. I don't know how i lived without it before. granted we transitioned from having all our wireless endpoints configured via static IP rather than dhcp.
why is everyone against letting the cisco gear handle the DHCP?
I don't know enough about your environment but hopefully you know that that isn't a possibility across Layer 3 devices (and when I say VLAN's, I assume that you are talking about an IP segment and not just a VLAN number). That said the "ip dhcp helper" or DHCP relay I think is what you are looking for. This way you can have 1 DHCP server serving numerous VLAN's or L3 IP segments. If you have more specific questions feel free to reach out to me.
Carl Fugate
carl@iprouteradmin.com
BLOG: www.iprouteradmin.com
Router Lab: www.onlinerouterlab.com
Utah State University has developed an open-source IP address management software that can tie in DNS and DHCP from different servers and databases. Front-end is a GUI interface where it's easy to setup and register hosts or DHCP network allocations. Contact their I.T. Department.
Using one or two of your Win2003 boxes, create multiple DHCP scopes for your multiple networks/subnets. Then just use the "ip helper-address" on your cisco gear to allow the DHCP requests to make it to your servers. Done. I do this at my company with 50+ VLANs.
Cost = $0.
"A plan fiendishly clever in its intricacies"- Homer Simpson
Cisco make (or at least did make some time ago) a DHCP server (Cisco Network Registrar) based on Windows that does handle option 82. So you do not have to run DHCP on IOS, you can relay back to a central server. I have even been able to "script" CNR by sending command line commands to administer scopes (yes, thank god it has a command line). But in all honesty, it's far easier to automate the configuration of a standard linux or *BSD dhcpd.
Nullius in verba
I have to ask, who will be monitoring and supporting this architecture?
Carnegie Mellon's NetReg is an open source system that provides a pretty complete IP Address Management toolset, including management of DNS & DHCP configurations for ISC bind/dhcpd. It can manage ISC dhcpd's failover configuration, and multiple server groups, etc.
Rather then just repeating what I've said before when the subject of IP Address Management came up on slashdot, I'll just link to it.
Note: While the project has been pretty quiet for quite some time now, thats mostly because its the system is very stable and there hasn't been a lot of major new development in the last couple of years. I used to be one of the core developers of the system before I moved on to another job, but its still in active use by many sites.
I use a pfSense to serve DHCP on my home network, consisting of 6 VLANs (only 2 or 3 of which has DHCP enabled)... pfSense supports failover (not sure if it's using dhcpd3's failover or not).
Having looked into Windows, do *not* consider it... their "failover" approach requires either shared disks (SAN or iSCSI), or overlapping ranges (server1 gives .1-.127, server2 gives .128-.254... either will renew for the other so it "works").
I would have a look at http://www.weird-solutions.com/
They produce some cutting edge DHCP and provisioning software for amongst others the ISP market. Furthermore their staff are incredibly knowledgeable.
Save all the wasted money on commercial products and use OpenBSD more. FOSS is your friend.
See the -y and -Y sections of the dhcpd man page for more information:
http://www.openbsd.org/cgi-bin/man.cgi?query=dhcpd&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
and also the 'SYNCHRONISATION' section below that.
We've done similar and works flawlessly, saving lots of money!
We also use a lot of the other OpenBSD goodies, OpenBGP, OpenNTP, OpenOSPF, OpenSMTP, spamd, CARP, PFSync, PF, Clustered IPSec, etc.
Plug a linux box into a trunk port and configure it for vlans as described below. Works great.
cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 10.91.1.4
netmask 255.255.0.0
mtu 1496
auto vlan101
iface vlan101 inet static
address 10.91.101.4
netmask 255.255.255.0
mtu 1496
vlan_raw_device eth0
auto vlan102
iface vlan102 inet static
address 10.91.102.4
netmask 255.255.255.0
mtu 1496
vlan_raw_device eth0
auto vlan103
iface vlan103 inet static
address 10.91.103.4
netmask 255.255.255.0
mtu 1496
vlan_raw_device eth0
cat /etc/dhcpd.conf
# Sample configuration file for ISC dhcpd for Debian#
# $Id: dhcpd.conf,v 1.4.2.2 2002/07/10 03:50:33 peloy Exp $
#
# option definitions common to all supported networks...
option domain-name "mydomain.com";
option domain-name-servers 10.91.1.2, 10.91.1.3;
option netbios-name-servers 10.91.1.2, 10.91.1.3;
option ntp-servers 10.91.1.5;
default-lease-time 3600;
max-lease-time 7200;
authoritative;
subnet 10.91.101.0 netmask 255.255.255.0 {
range 10.91.101.40 10.91.101.191;
option routers 10.91.101.1;
}
subnet 10.91.102.0 netmask 255.255.255.0 {
range 10.91.102.40 10.91.102.191;
option routers 10.91.102.1;
}
subnet 10.91.103.0 netmask 255.255.255.0 {
range 10.91.103.40 10.91.103.191;
option routers 10.91.103.1;
}
Disclaimer: I'm an Infoblox Systems Engineer.
Our company specializes in exactly this area. We provide an appliance (also as a VM on Cisco and Riverbed). We have 35 of the fortune 100, and have been in business for 9 years. We have 150 programmers, 150 'other' people (including me). We provide IP address management, NTP, file access (mostly for VoIP phones), RADIUS, DNS & DHCP.
Check out our website then contact us if you'd like to learn more.
We have ISP's as accounts in addition to government and business.
Fixed your title for you.
I'll throw out my solution.
:)
As many people here have suggested, ISC DHCP server has no trouble with this and can handle many subnets and pool combinations from one or more servers. Then with the combination of ip helper-address on Cisco platforms you can control which server(s) handle the network. Throw DHCP-Failover into the mix and make it redundant.
To manage all this I'd suggest OpenNetAdmin. It is geared to manage as any IPAM would, your address space. It can also be instructed to manage multiple DHCP servers in whatever combination you need. Then those servers simply extract their specific configuration from the database. It should have no issue scaling to several hundred distributed DHCP servers if needed. It will all however be managed easily via the centralized WEB/CLI interface. Opennetadmin will also keep track of your vlan information as well.
I would personally avoid running DHCP on the cisco devices, but thats just me.
Hope that helps. Again, head to http://opennetadmin.com/ and see if that works for you!
Thanks