Na nova versão do Debian (squeeze) não é mais o pacote dhcp3-server o recomendável para utilizarmos como servidor de dhcp, o novo responsável por isto é o pacote isc-dhcp-server. Mas antes de verificarmos os passos necessários para realizar a instalação e configuração do serviço, vamos entender:

O que é o ISC-DHCP e o que ele faz?

ISC-DHCP é uma coleção de software que implementa todos os aspectos do DHCP (Dynamic Host Configuration Protocol) suite. Inclui:

  • Um servidor DHCP, que recebe as solicitações;
  • Um cliente DHCP, que envia as solicitações ao servidor;
  • Um agente de retransmissão DHCP, que passa solicitações DHCP de uma LAN para outra, de modo que não há necessidade de ter um servidor DHCP em cada LAN.

O servidor ISC-DHCP irá responder as solicitações de qualquer cliente que esteja em conformidade com as normas do protocolo, e o cliente ISC-DHCP pode interagir com qualquer servidor que esteja em conformidade com essas normas.

Instalação:

Para realizarmos a instalação do serviço devemos executar os passos abaixo. A partir deste ponto devemos estar logados como usuário root, ou utilizar o sudo caso você tenha configurado em seu sistema. Primeiramente devemos instalar o pacote:

aptitude install isc-dhcp-server

Configuração

Geralmente quando instalamos um servidor DHCP possuímos mais de uma placa de rede no mesmo, neste caso devemos informar em qual(ais) placa(s) de rede o serviço DHCP deverá estar “escutando”, esta configuração definimos no arquivo /etc/default/isc-dhcp-server:

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
 
#
# This is a POSIX shell fragment
#
 
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#   Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth1"

O arquivo principal de configuração do nosso servidor DHCP é o dhcpd.conf e o mesmo fica localizado no diretório /etc/dhcp/dhcpd.conf.
Neste arquivo informamos o nome de domínio (option domain-name "botecodigital.info"), os endereços dos servidores DNS (option domain-name-servers 8.8.8.8, 8.8.4.4;).

É também definida a duração normal e máxima da atribuição do endereço IP atribuído (default-lease-time 600; max-lease-time 7200;). O cliente poderá sempre pedir uma nova atribuição antes da atual expirar, podendo receber ou não o mesmo endereço IP.

Finalmente, para o segmento de rede 192.168.200.0, é indicada a gama de endereços disponível para a atribuição (range 192.168.200.10 192.168.200.199), qual o router a utilizar (option routers 192.168.200.253;) e qual o endereço de broadcast (option broadcast-address 192.168.200.255;)

# dhcpd.conf
 
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
option domain-name "botecodigital.info";
option routers 192.168.200.253;
 
subnet 192.168.200.0 netmask 255.255.255.0 {
  range 192.168.200.10 192.168.200.199;
  option routers 192.168.200.253;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option broadcast-address 192.168.200.255;
}

Agora é só reiniciar o serviço e testar se o seu servidor DHCP esta funcionando. =D

Caso seja necessário definir algum IP “fixo” para algum host especifico em sua rede, podemos criar uma regra no arquivo de configuração /etc/dhcp/dhcpd.conf. O importante é que ao definir o IP para o host este não deve estar no range que foi definido anteriormente. Vejamos como fica no exemplo abaixo:

host notebook-TI {
hardware ethernet 00:0F:B0:55:EA:13;
fixed-address 192.168.200.211;
}
 
host notebook-ADM {
hardware ethernet 00:0F:B0:45:BC:17;
fixed-address 192.168.200.210;
}

Bom, por hora era isto, abraço.