Micro How-to
Configurando o dhcp com o Openldap
autor: André Alexandre Gaio
aagaio (at) linwork.com.br
1-) Fazer o download dos fontes do site do isc:
# wget ftp://ftp.isc.org/isc/dhcp/dhcp-3.0.1rc14.tar.gz
2-) Baixar o patch para ldap em:
# wget http://www.newwave.net/~masneyb/dhcp-3.0.1rc14-ldap-patch
3-) Descompacte o pacote em /var/tmp:
# mv dhcp-3.0.1rc14.tar.gz /var/tmp
# cd /var/tmp
# tar -xvzf dhcp-3.0.1rc14.tar.gz
4-) Aplique o patch:
patch -p0 < dhcp-3.0.1rc14-ldap-patch
5-) Configure e compile:
# cd dhcp-3.0.1rc14
# ./configure && make
6-)
Instale: (Recomendo o uso do checkinstall)
# make install
7-) Copie o schema do dhcp para o diretório de schemas do
OpenLdap:
# cp contrib/dhcp.schema /usr/local/etc/openldap/schema
8-) Inclua este novo esquema ao Openldap, colocando esta linha no
arquivo slapd.conf:
include
/usr/local/etc/openldap/schema/dhcp.schema
9-) Especifique para o OpenLdap gerar os índices para os objetos
do Dhcp, dentro do arquivo slapd.conf.
index
dhcpHWAddress,dhcpClassData
eq
10-) Reinicie o serviço do Openldap:
# killall slapd; /usr/local/libexec/slapd -h 'ldap:/// ldaps:///'
11-) Edite o arquivo /etc/dhcpd.conf e coloque as informações:
------------------- < /etc/dhcpd.conf > --------------------ldap-server "localhost";
<-- Servidor LDAP
ldap-port 389;
<-- Porta do serviço
ldap-username "cn=DHCP User,ou=TI,l=SP,o=enterprise,c=BR"; <-- Usuário para
o "bind" no Ldap
ldap-password "senha";
<-- Senha deste
usuário para o "bind"
ldap-base-dn "ou=TI,l=SP,o=enterprise,c=BR"; <-- Onde será pesquisado pelos
objetos do Dhcpd
ldap-method dynamic;
<-- Se colocar static, a
configuração será lida uma
vez na inicialização do
serviço e o Ldap não será mais
usado, porém se você setar
"dynamic", a configuração será
lida na inicialização e os
hosts serão armazenados no
Ldap e procurados a cada
momento que ocorrer uma
requisição DHCP.
ldap-debug-file "/var/log/dhcp-ldap-startup.log"; <-- Se esta opção
for especificada o Dhcpd
gerarará neste arquivo a
configuração especificada
no ldap. É um bom lugar
para começar a debugar
erros. :-)
------------------ </ /etc/dhcpd.conf > --------------------12.a-) Se você já tem um arquivo dhcpd.conf pronto, você poderá
convertê-lo para o formato ldif:
# perl contrib/dhcpd-conf-to-ldap.pl –basedn \
"ou=TI,l=SP,o=enterprise,c=BR" --dhcpdn "ou=DHCP \
Config,ou=TI,l=SP,o=enterprise,c=BR" --server "my_server" < \
/etc/dhcpd.conf > dhcpd.ldif
Onde:
--basedn
--dhcpdn
--> Especifica onde será criado
--> Especifica onde serão armazenadas as configurações do
Dhcp
--server --> O nome do servidor dhcp
/etc/dhcpd.conf --> Seu arquivo dhcpd.conf
dhcpd.ldif
--> Arquivo ldif gerado
12.b) Crie um arquivo ldif com as configurações do serviço de
dhcpd.
--------------------- < dhcp.ldif > ----------------------# Este é o objeto servidor. O daemon dhcpd irá procurar este objeto em
#primeiro lugar e pegará as configurações no objeto apontado pelo
#atributo
# "dhcpServiceDN".
dn: cn=my_server,ou=TI,l=SP,o=enterprise,c=BR
cn: linweb
objectClass: top
objectClass: dhcpServer
dhcpServiceDN: cn=DHCP Config,ou=TI,l=SP,o=enterprise,c=BR
#Objeto que contém as configurações das opções e configurações do dhcp.
dn: cn=DHCP Config,ou=TI,l=SP,o=enterprise,c=BR
cn: DHCP Config
objectClass: top
objectClass: dhcpService
objectClass: dhcpOptions
dhcpPrimaryDN: cn=linweb, ou=TI,l=SP,o=enterprise,c=BR
dhcpStatements: default-lease-time 259200
dhcpStatements: max-lease-time 604800
dhcpStatements: ddns-update-style none
dhcpOption: subnet-mask 255.255.255.0
dhcpOption: broadcast-address 192.168.0.255
dhcpOption: routers 192.168.0.1
dhcpOption: domain-name-servers 192.168.0.1
dhcpOption: domain-name "enterprise.com.br"
dhcpOption: netbios-node-type 8
dhcpOption: netbios-name-servers 192.168.0.1
# Objeto que contém a subnet e o range de ip´s que será servido pelo
#dhcpd.
dn: cn=192.168.0.0,cn=DHCP Config,ou=TI,l=SP,o=enterprise,c=BR
cn: 192.168.0.0
objectClass: top
objectClass: dhcpSubnet
dhcpNetMask: 24
dhcpRange: 192.168.0.30 192.168.0.100
# Objeto que contém o host que terá o seu ip fixado através de seu mac
#address. Deverá ser criado um para cada
#máquina que terá seu ip fixado pelo dhcpd.
dn: cn=remote-adm, cn=DHCP Config,ou=TI,l=SP,o=enterprise,c=BR
cn: remote-adm
objectClass: top
objectClass: dhcpHost
dhcpHWAddress: ethernet 00:20:f0:0d:ac:03
dhcpStatements: fixed-address 192.168.0.35
-------------------- </ dhcp.ldif > -----------------------13-) Importe o arquivo ldif gerado para a sua base ldap:
ldapadd -x -v -D 'cn=Manager,c=BR' -W -f dhcp.ldif
14-) Inicie o serviço de dhcp.
# /usr/sbin/dhcpd eth0 -q
15-) Faça os testes.
16-) Be happy! :-)
Observação: Este artigo pode ser reproduzido à vontade desde que
preservado o nome do autor.
Qualquer dúvida, por favor leia a documentação do programa.
“ ... Se com a tua boca confessares a Jesus como Senhor, e em teu
coração creres que Deus o ressucitou dentre os mortos, serás
salvo. ...” (Romanos 10:9)
Download

Micro How-to Configurando o dhcp com o Openldap