|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
LDAP Support in DHCP
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
Brian Masney <masneyb@ntelos.net>
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
Last updated 8/16/2002
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
This document describes setting up the DHCP server to read it's configuration
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
from LDAP. This work is based on the IETF document
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
draft-ietf-dhc-ldap-schema-01.txt included in the doc directory. For the latest
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
version of this document, please see http://home.ntelos.net/~masneyb.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
First question on most people's mind is "Why do I want to store my
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
configuration in LDAP?" If you run a small DHCP server, and the configuration
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
on it rarely changes, then you won't need to store your configuration in LDAP.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
But, if you have several DHCP servers, and you want an easy way to manage your
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
configuration, this can be a solution.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
The first step will be to setup your LDAP server. I am using OpenLDAP from
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
www.openldap.org. Building and installing OpenLDAP is beyond the scope of this
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
document. There is plenty of documentation out there about this. Once you have
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
OpenLDAP installed, you will have to edit your slapd.conf file. I added the
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
following 2 lines to my configuration file:
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
include /etc/ldap/schema/dhcp.schema
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
index dhcpHWAddress eq
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
index dhcpClassData eq
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
The first line tells it to include the dhcp schema file. You will find this
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
file under the contrib directory in this distribution. You will need to copy
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
this file to where your other schema files are (maybe
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
/usr/local/openldap/etc/openldap/schema/). The second line sets up
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
an index for the dhcpHWAddress parameter. The third parameter is for reading
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
subclasses from LDAP every time a DHCP request comes in. Make sure you run the
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
slapindex command and restart slapd to have these changes to into effect.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
Now that you have LDAP setup, you should be able to use gq (http://biot.com/gq/)
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
to verify that the dhcp schema file is loaded into LDAP. Pull up gq, and click
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
on the Schema tab. Go under objectClasses, and you should see at least the
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
following object classes listed: dhcpClass, dhcpGroup, dhcpHost, dhcpOptions,
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpPool, dhcpServer, dhcpService, dhcpSharedNetwork, dhcpSubClass, and
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpSubnet. If you do not see these, you need to check over your LDAP
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
configuration before you go any further.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
You should be ready to build DHCP. Edit the includes/site.h file and uncomment
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
the #define LDAP_CONFIGURATION. Now run configure in the base source directory.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
Edit the work.os/server/Makefile and add -lldap to the LIBS= line. (replace os
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
with your operating system, linux-2.2 on my machine). You should be able to
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
type make to build your DHCP server.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
Once you have DHCP installed, you will need to setup your initial plaintext
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
config file. In my /etc/dhcpd.conf file, I have:
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
ldap-server "localhost";
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
ldap-port 389;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
ldap-username "cn=DHCP User, dc=ntelos, dc=net";
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
ldap-password "blah";
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
ldap-base-dn "dc=ntelos, dc=net";
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
ldap-method dynamic;
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
All of these parameters should be self explanatory except for the ldap-method.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
You can set this to static or dynamic. If you set it to static, the
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
configuration is read once on startup, and LDAP isn't used anymore. But, if you
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
set this to dynamic, the configuration is read once on startup, and the
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
hosts that are stored in LDAP are looked up every time a DHCP request comes in.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
The next step is to set up your LDAP tree. Here is an example config that will
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
give a 10.100.0.x address to machines that have a host entry in LDAP.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
Otherwise, it will give a 10.200.0.x address to them. (NOTE: replace
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dc=ntelos, dc=net with your base dn). If you would like to convert your
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
existing dhcpd.conf file to LDIF format, there is a script
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
contrib/dhcpd-conf-to-ldap.pl that will convert it for you.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# You must specify the server's host name in LDAP that you are going to run
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# DHCP on and point it to which config tree you want to use. Whenever DHCP
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# first starts up, it will do a search for this entry to find out which
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# config to use
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dn: cn=brian.ntelos.net, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: top
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpServer
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
cn: brian.ntelos.net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpServiceDN: cn=DHCP Service Config, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# Here is the config tree that brian.ntelos.net points to.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dn: cn=DHCP Service Config, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
cn: DHCP Service Config
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: top
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpService
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpPrimaryDN: dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpStatements: ddns-update-style ad-hoc
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpStatements: default-lease-time 600
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpStatements: max-lease-time 7200
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# Set up a shared network segment
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dn: cn=WV Test, cn=DHCP Service Config, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
cn: WV
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: top
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpSharedNetwork
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# Set up a subnet declaration with a pool statement. Also note that we have
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# a dhcpOptions object with this entry
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dn: cn=10.100.0.0, cn=WV Test, cn=DHCP Service Config, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
cn: 10.100.0.0
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: top
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpSubnet
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpOptions
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpOption: domain-name-servers 10.100.0.2
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpOption: routers 10.100.0.1
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpOption: subnet-mask 255.255.255.0
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpOption: broadcast-address 10.100.0.255
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpNetMask: 24
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# Set up a pool for this subnet. Only known hosts will get these IPs
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dn: cn=Known Pool, cn=10.100.0.0, cn=WV Test, cn=DHCP Service Config, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
cn: Known Pool
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: top
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpPool
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpRange: 10.100.0.3 10.100.0.254
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpPermitList: deny unknown-clients
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# Set up another subnet declaration with a pool statement
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dn: cn=10.200.0.0, cn=WV Test, cn=DHCP Service Config, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
cn: 10.200.0.0
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: top
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpSubnet
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpOptions
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpOption: domain-name-servers 10.200.0.2
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpOption: routers 10.200.0.1
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpOption: subnet-mask 255.255.255.0
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpOption: broadcast-address 10.200.0.255
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpNetMask: 24
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# Set up a pool for this subnet. Only unknown hosts will get these IPs
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dn: cn=Known Pool, cn=10.200.0.0, cn=WV Test, cn=DHCP Service Config, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
cn: Known Pool
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: top
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpPool
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpRange: 10.200.0.3 10.200.0.254
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpPermitList: deny known clients
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# Set aside a group for all of our known MAC addresses
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dn: cn=Customers, cn=DHCP Service Config, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: top
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpGroup
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
cn: Customers
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
# Host entry for my laptop
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dn: cn=brianlaptop, cn=Customers, cn=DHCP Service Config, dc=ntelos, dc=net
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: top
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
objectClass: dhcpHost
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
cn: brianlaptop
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
dhcpHWAddress: ethernet 00:00:00:00:00:00
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
You can use the command slapadd to load all of these entries into your LDAP
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
server. After you load this, you should be able to start up DHCP. If you run
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
into problems reading the configuration, try running dhcpd with the -d flag.
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
If you still have problems, edit the site.conf file in the DHCP source and
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
add the line: COPTS= -DDEBUG_LDAP and recompile DHCP. (make sure you run make
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
clean and rerun configure before you rebuild).
|
|
![](https://seccdn.libravatar.org/avatar/0b48a1183628d295823cd7334ebcd7641bf5587b2f8b087de0cf0e833d73af36?s=16&d=retro) |
0f9f19c |
|