Com esta dica pretendo explicar em linguagem simples e sem muitos termos técnicos o que é o
DHCP, explicando como é seu funcionamento, os critérios de distribuição de IP e uma configuração simples de servidor DHCP no
Linux.
O que é DHCP
Dynamic Host Control Protocol.
É um protocolo de serviço TCP/IP que oferece configuração dinâmica de terminais. Uma das várias vantagens do DHCP é que você não precisa definir manualmente o IP dos terminais, o servidor DHCP vai enviar um IP para cada máquina e pode-se configurar no próprio servidor o tempo de vida desse IP.
Como opera o DHCP?
Um cliente envia um pacote UDP para todas as máquinas com um pedido de DHCP, os servidores DHCP que capturarem este pacote irão responder com um pacote de configurações onde constará, pelo menos, um endereço IP, uma máscara de rede e outros parâmetros opcionais, como gateway e endereços de DNS.
Critérios de atribuição de IPs
Atribuição manual: onde existe uma relação entre o endereço MAC do cliente e o endereço IP a fornecer. Essa associação é feita manualmente pelo administrador da rede, com isso apenas os clientes cujo MAC consta nesta lista poderão receber configurações desse servidor.
Atribuição automática: onde o cliente obtém um endereço de um espaço de endereços possíveis, especificado pelo administrador. Geralmente não existe vínculo entre os vários MAC habilitados a esse espaço de endereços.
Atribuição dinâmica: tem funcionamento parecido com o automático, porém cada cliente tem um tempo de vida para seu IP, e este tempo começa a expirar assim que o cliente for desconectado da rede, portanto na próxima vez que ele se conectar na rede, se o tempo de vida ainda for valido (maior que zero) ele continuará com o mesmo IP, caso contrario será fornecido um novo IP ao cliente.
Servidor DHCP Linux
Pacote Debian-like:
dhcp3-server
Pacote em outras distros Linux:
dhcpd
Configurações necessárias para iniciarmos o serviço: arquivo
dhcpd.conf
ddns-update-style none;
#tempo de vida do IP neste caso 1200 segundos ou 20 minutos
default-lease-time 1200;
#se houver outro servidor dhcp na rede, este sera o preferencial
authoritative;
#especificações da distribuição de IPs
subnet 10.0.0.0 netmask 255.0.0.0 {
#faixa em que sera distribuídos os ips
range 10.0.0.1 10.0.0.253;
#especifica o roteador/gateway, no caso pode-se atribuir este
#ip fixo na máquina que ira rodar o serviço de dhcpd.
option routers 10.0.0.254;
#especifica os servidores dns que serão usados, lembrar de
#sempre especificar os servidores dns da rede interna, depois
#os servidores dns da internet (br. telecom por exemplo).
option domain-name-servers 10.0.0.254, 201.10.120.3;
#endereço de broadcast
option broadcast-address 10.0.0.255;
}
#exemplo de atribuição de IP fixo a um cliente
host nome_exemplo1 {
#especificação do MAC address da placa do cliente.
hardware athernet 00:00:00:00:00:00;
#endereço de IP que o cliente ira receber.
fixed-address 10.0.0.2;
}
Referências