Introdução
     
Nesta presente dica, vou abordar um pequeno sistema WEB feito para gerenciar os serviços de 
dhcpd e 
udhcpd.
    
O 
DhcpWeb é uma interface baseada em HTML, Python e MySQL. 
Muito útil para realizar a administração do serviço de DHCP em sistemas  
GNU/Linux CentOS 5/6 e Debian 7.
O DhcpWeb elimina a necessidade de editar manualmente o arquivo de configuração 
dhcp.conf ou 
udhcpd.conf. Com ele, é possível cadastrar, bloquear e consultar um host fixo através do MAC address.
    
Download do sistema
    
Abaixo, está o link para download do sistema:
   
Configuração
   
1. Pacotes necessários:
Debian 7:
# apt-get install udhcpd arping apache2 mysql-server python-mysqldb sudo
CentOS 5 e 6:
# yum install dhcp arp-scan  httpd mysql-server MySQL-python
    
2. Arquivo de configuração 
sudoers:
Debian 7 - Adicione a linha abaixo:
    
www-data ALL=NOPASSWD: /usr/sbin/udhcpd, /etc/init.d/udhcpd, /bin/cp, /usr/sbin/arp
    
CentOS 5 e 6 - Altere a linha abaixo:
Defaults requiretty
Para:
# Defaults requiretty
     
Adicione a linha abaixo:
apache ALL=NOPASSWD: /usr/sbin/dhcpd, /etc/init.d/dhcpd, /bin/cp, /sbin/arp
    
3. Altere a permissão do diretório:
Debian 7:
# chown -R www-data.www-data dhcpweb/
# chmod -R 755 dhcpweb/
# mv dhcpweb /usr/lib/cgi-bin/
    
CentOS 5 e 6:
# chown -R apache.apache dhcpweb/
# chmod -R 755 dhcpweb/
# mv dhcpweb /var/www/cgi-bin/
    
4. Configurando o banco de dados MySQL:
# mysql -u root -psenha -h localhost
mysql> 
create database dhcpweb;
    
5. Restaurando o 
dump da database 
dhcpweb:
# cd dhcpweb/dump/
# mysql -u root -psenha dhcpweb < dhcpweb.sql
    
6. Configurando as variáveis de acesso ao banco de dados MySQL:
# cd dhcpweb/sql_comandos/
# vim bd_variaveis.py
Abaixo, defina os campos do banco de dados:
    
host = 'IP do Banco/Hostname'
user = 'user'
password = 'senha'
bd_name = 'dhcpweb'
    
7. No Debian, configurando o arquivo 
/etc/default/udhcpd:
# vim /etc/default/udhcpd
Altere:
DHCPD_ENABLED="no"
Para:
DHCPD_ENABLED="yes"
      
8. Acessando o sistema: 
http://IP/cgi-bin/dhcpweb/inicio.py
        
Funções das telas
    
- Cadastro de Grupo-IP e/ou host:
Nesta tela, é possível cadastrar e/ou remover um grupo e/ou MAC address.
- Castrado de host:
Nesta tela, é possível fixar o MAC address a um IP disponível na lista.
- dhcp.conf:
Neta tela, é possível configurar o 
dhcpd.conf de acordo com o parâmetros oferecidos em cada campo.
- Hosts ativos:
Nesta tela, é possível listar cada em ordem alfabética: Hostname, IP address, MAC addres e Grupo-IP.
- Remover host:
Nesta tela, é possível remover um host pelo MAC address e/ou bloquear um determinado IP na tabela ARP.
- Servidor:
Nesta tela, é possível atualizar a tabela ARP e reiniciar o serviço de dhcpd/udhcpd.
    
Screenshots
    
Conclusão
   
Mais informações: 
Tutoriais GNU Linux « Compartilhando Conhecimento !
Responsável pelo desenvolvimento
Desenvolvido por: 
Tutoriais GNU/Linux
Projeto totalmente Open Source, livre para ser alterado.
Críticas, serão bem-vindas.
"Lembre de Deus em tudo o que fizer, e ele lhe mostrará o caminho certo."
Provérbios de Salomão (3.6)