Tabela de conteúdos

DHCP

Atualizar esse tutorial: http://www.botecodigital.info/linux/servidor-dhcp-no-debian-squeeze/

Como funciona

De um modo geral, o trabalho de um servidor DHCP é bastante simples. Ele responde aos pacotes de broadcast das estações, enviando um pacote com um dos endereços IP disponíveis e demais dados de configuração da rede.

Periodicamente o servidor DHCP verifica se as estações ainda estão lá, exigindo uma renovação do “aluguel” do endereço IP (opção “lease time”). Isso permite que os endereços IP sejam gastos apenas com quem realmente estiver online, evitando que os endereços disponíveis se esgotem.

Obs: Todo o material foi baseado na distribuição Debian Squeeze.

Como instalar

No Debian o serviço de DHCP é disponibilizado pelo pacote dhcp3-server, que pode ser instalado através do comando apt-get. Antes da instalação propriamente dita, é aconselhado realizar uma atualização do índice dos pacotes.

apt-get update

Em seguida:

# apt-get install dhcp3-server

Caso tenha problemas durante a instalação, verifique se sua rede precisa de Proxy. Caso afirmativo, utilize o tutorial disponível AQUI para configurar o Proxy em sua máquina.

Como configurar

Depois de instalado, poderemos partir para a configuração. Como é comum no universo Linux, serviços são configurados através de arquivos de configuração. O arquivo de configuração do servidor dhcp no Debian é o /etc/dhcp/dhcpd.conf.

Antes de fazer qualquer modificação no arquivo de configuração, faça um backup do mesmo através do comando:

root@microlab:/etc/dhcp# cp dhcpd.conf dhcpd.conf.ori

Este é um exemplo de arquivo de configuração básico:

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;

# authoritative;

subnet 10.1.0.0 netmask 255.255.255.0 {
range 10.1.0.11 10.1.0.254;
option routers 10.1.0.10;
option domain-name-servers 10.3.1.15, 10.3.1.13;
option domain-name "erica.org";

}

Onde:

ddns-update-styleindica que o DHCP não vai trabalhar em conjunto com o DNS. Caso haja esta integração, deve-se trocar “none” por “interim”
default-lease-timetempo padrão em segundos que o DHCP Server concede o IP, caso o cliente não peça um tempo maior.
max-lease-timecaso o cliente peça por mais tempo do que a linha anterior, o máximo possível é o valor definido aqui. Assim o valor mínimo seria o “default-lease-time” e o máximo o “max-lease-time”
authoritativelinha comentada por padrão. Isso significa que se um cliente requisitar um endereço que o server não conheça, ou seja, o endereço é incorreto para aquele segmento, o Server não enviará um DHCPNAK, o qual diz para ao cliente para parar de usar aquele endereço
rangedetermina a faixa de endereços IP que será usada pelo servidor. \\Se você utiliza a faixa de endereços 192.168.0.1 até 192.168.0.254, por exemplo, pode reservar os endereços de 192.168.0.1 a 192.168.0.100 para estações configuradas com IP fixo e usar os demais para o DHCP, ou então reservar uma faixa específica para ele, de 192.168.0.100 a 192.168.0.201, por exemplo. O importante é usar faixas separadas para o DHCP e os micros configurados com IP fixo.
option routersdetermina o endereço do default gateway da rede, ou seja, o endereço do servidor que está compartilhando a conexão. Não é necessário que o mesmo micro que está compartilhando a conexão rode também o servidor DHCP.
option domain-name-serverscontém os servidores DNS que serão usados pelas estações.

Você pode substituir o arquivo de configuração padrão por este modelo, ou editá-lo conforme a necessidade.

Gerenciando o serviço

Os comandos

/etc/init.d/isc-dhcp-server start 

e

/etc/init.d/isc-dhcp-server stop

gerenciam a atividade do serviço (param, reiniciam, iniciam).

Ao fazer qualquer alteração no arquivo, você deve reiniciar o servidor DHCP usando o comando:

# /etc/init.d/isc-dhcp-server restart

Sempre que configurar um servidor com duas placas de rede, é importante que o servidor DHCP seja configurado para escutar apenas na placa da rede interna. No Debian, esta configuração é feita no arquivo /etc/default/isc-dhcp-server. Procure pela linha:

INTERFACES=""

e adicione a placa que o servidor DHCP deve escutar, como em:

INTERFACES="eth1"

Essa interface de rede deverá estar configurada com um endereço pertencente a mesma subnet que o DHCP vai fornecer de forma automática. Caso seu servidor só tenha uma interface de rede, ou caso você queira que ele trabalhe em todas as interfaces, essa configuração não precisa ser feita.

Para que a configuração entre em vigor, basta reiniciar o serviço novamente.

Configurando um cliente

# dhclient 
$ ipconfig /renew