⬅ Voltar ao Dashboard 3º Bimestre — Serviços de Rede

📡 Servidor DHCP

Aula 2 — Configure o ISC-DHCP-SERVER no Ubuntu para distribuir endereços IP automaticamente na rede: instale, configure o dhcpd.conf e gerencie concessões

📖 O que é DHCP?

O DHCP (Dynamic Host Configuration Protocol) é o protocolo que distribui configurações de rede automaticamente para os dispositivos. Sem ele, cada computador precisaria de configuração manual.

💡 Analogia do hotel: o servidor DHCP é como o recepcionista que atribui quartos (IPs) aos hóspedes (dispositivos) com uma diária (lease time). Quando o hóspede vai embora, o quarto fica livre para outro.

O que o DHCP distribui

IP Endereço IP Identidade na rede
Mask Máscara de rede Define o bloco de rede
GW Gateway padrão Saída para a internet
DNS Servidores DNS Resolução de nomes

Vantagens do DHCP

🔄 Processo DORA

Quando um dispositivo entra na rede e precisa de um IP, ele passa por quatro etapas conhecidas como DORA. Todo esse processo acontece em milissegundos.

D
DISCOVER

Cliente grita na rede: “Tem algum servidor DHCP aí?”

O
OFFER

Servidor responde: “Tenho! Posso te dar o IP 192.168.0.15”

R
REQUEST

Cliente confirma: “Aceito! Quero esse IP!”

A
ACK

Servidor finaliza: “Pronto! IP 192.168.0.15 é seu por 2 horas!”

fluxo DORA
Cliente Servidor DHCP | | |--- DISCOVER ---> | broadcast: "tem DHCP aqui?" | | | <--- OFFER ---- | "posso te dar 192.168.0.15" | | |--- REQUEST ----> | "quero o 192.168.0.15!" | | | <---- ACK ----- | "confirmado! lease: 2 horas" | |

🖥️ ISC-DHCP-SERVER

O ISC-DHCP-SERVER é o servidor DHCP mais usado no Linux — robusto, maduro e altamente configurável. Desenvolvido pelo Internet Systems Consortium.

Arquivos importantes

ArquivoFunção
/etc/dhcp/dhcpd.confConfiguração principal (subnet, range, DNS...)
/etc/default/isc-dhcp-serverDefine qual interface de rede usar
/var/lib/dhcp/dhcpd.leasesBanco de dados de concessões ativas

Funcionalidades

⚠️ Apenas UM servidor DHCP por rede! Se dois servidores DHCP estiverem ativos na mesma rede, os dispositivos receberão ofertas conflitantes e terão problemas de conectividade.

📋 Preparação — O que Você Precisa

Antes de instalar o servidor DHCP, reuna as informações da rede e confirme os pré-requisitos.

Informações da rede

ItemExemplo
Endereço de rede192.168.0.0/24
Range de IPs a distribuir.2 a .100 (99 endereços)
Gateway da rede192.168.0.254
DNS primário192.168.0.1
DNS secundário8.8.8.8

Pré-requisitos

verificar interfaces e IP
# Ver interfaces disponíveis $ ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> ... 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> ... 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> ... # Verificar IP estático configurado $ ip address show enp0s8

⚠️ O servidor DHCP deve ter IP estático! Não faz sentido o “recepcionista” mudar de endereço toda hora — os clientes precisam saber onde encontrar o servidor.

📦 1 Instalar o Servidor

A instalação é simples com o apt. Após instalar, o serviço pode falhar ao iniciar automaticamente — isso é normal e esperado, pois ainda não configuramos nada.

instalando isc-dhcp-server
# Atualizar repositórios $ sudo apt-get update # Instalar o servidor DHCP $ sudo apt-get install isc-dhcp-server Reading package lists... Done Building dependency tree... Done Selecting previously unselected package isc-dhcp-server... Setting up isc-dhcp-server ...

Arquivos criados pela instalação

ℹ️ O serviço falhará ao iniciar automaticamente após a instalação. Isso é esperado — precisamos configurar o arquivo dhcpd.conf antes de iniciar.

💾 2 Fazer Backup da Configuração

O arquivo dhcpd.conf instalado contém exemplos e comentários úteis. Faça um backup com mv para criar um arquivo limpo do zero.

backup do dhcpd.conf original
# Mover (não copiar) o arquivo original como backup $ sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bkp # Verificar os arquivos em /etc/dhcp/ $ ls /etc/dhcp/ dhcpd.conf.bkp dhcpd.conf.example # Para restaurar o backup se precisar: $ sudo cp /etc/dhcp/dhcpd.conf.bkp /etc/dhcp/dhcpd.conf

💡 Por que usar mv e não cp? O mv move o arquivo original como backup e deixa o caminho vazio para criarmos um arquivo limpo. Com cp teríamos dois arquivos com o mesmo conteúdo.

✏️ 3 Criar a Configuração

Crie o arquivo de configuração do zero com as informações da sua rede. Este é o passo mais importante de toda a instalação.

criar dhcpd.conf
$ sudo vim /etc/dhcp/dhcpd.conf

Conteúdo do arquivo

/etc/dhcp/dhcpd.conf
# Tempo de concessão padrão (em segundos) default-lease-time 600; max-lease-time 7200; # Configuração da subnet subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.100; option routers 192.168.0.254; option domain-name-servers 192.168.0.1, 8.8.8.8; option domain-name "meudominio.local"; } # Este servidor é o DHCP oficial da rede authoritative;

💬 Salvar no vim: pressione ESC, depois digite :wq e pressione ENTER.

📖 Entendendo a Configuração

Cada diretiva do dhcpd.conf tem uma função específica. Compreendê-las é essencial para ajustar o servidor às necessidades da rede.

Tempos de concessão

ParâmetroValorSignificado
default-lease-time60010 minutos — tempo padrão se o cliente não pedir
max-lease-time72002 horas — tempo máximo que pode ser concedido

Diretivas da subnet

DiretivaSignificado
subnet ... netmaskDefine a rede e a máscara (bloco de endereços)
rangeFaixa de IPs disponíveis para distribuição
option routersGateway padrão enviado aos clientes
option domain-name-serversServidores DNS enviados aos clientes
option domain-nameNome do domínio local da rede
authoritativeDeclara este como o servidor DHCP oficial da rede

💡 range 192.168.0.2 192.168.0.100 disponibiliza 99 endereços (.2 até .100). Os endereços fora do range (ex.: .101 a .254) ficam reservados para servidores e equipamentos com IP estático.

🖧️ 4 Configurar a Interface

Defina em qual interface de rede o servidor DHCP vai escutar as requisições. Edite o arquivo /etc/default/isc-dhcp-server.

descobrir nome da interface
$ ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> ... 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> ... ← WAN / internet 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> ... ← LAN / rede interna
/etc/default/isc-dhcp-server
$ sudo vim /etc/default/isc-dhcp-server # Conteúdo do arquivo: INTERFACESv4="enp0s8" # interface da rede interna INTERFACESv6="" # vazio (não usamos IPv6)

⚠️ Atenção: a interface configurada aqui deve ser a mesma que está na mesma rede do subnet definido no dhcpd.conf. Usar a interface errada faz o serviço falhar.

▶️ 5 Iniciar o Serviço

Com os arquivos configurados, valide a configuração e inicie o serviço. Use sempre dhcpd -t antes de iniciar para verificar erros de sintaxe.

validar e iniciar o serviço
# Validar a configuração antes de iniciar $ sudo dhcpd -t # Habilitar para iniciar automaticamente no boot $ sudo systemctl enable isc-dhcp-server # Iniciar o serviço $ sudo systemctl start isc-dhcp-server # Verificar o status $ sudo systemctl status isc-dhcp-server ● isc-dhcp-server.service - ISC DHCP IPv4 server Loaded: loaded (/lib/systemd/system/isc-dhcp-server.service) Active: active (running) since ...

Comandos úteis do systemctl

ComandoAção
systemctl start isc-dhcp-serverIniciar o serviço
systemctl stop isc-dhcp-serverParar o serviço
systemctl restart isc-dhcp-serverReiniciar (após alterar config)
systemctl status isc-dhcp-serverVer status e logs recentes
systemctl enable isc-dhcp-serverHabilitar no boot do sistema

🔍 Verificação e Testes

Após iniciar o serviço, verifique as concessões ativas e teste a distribuição de IP a partir de um cliente.

Ver concessões ativas

leases ativos no servidor
$ cat /var/lib/dhcp/dhcpd.leases lease 192.168.0.15 { starts 2 2024/01/15 10:30:00; ends 2 2024/01/15 10:40:00; hardware ethernet 00:11:22:33:44:55; client-hostname "pc-joao"; }

Teste em cliente Linux

forçar renovação de IP
# No cliente Linux: solicitar IP via DHCP $ sudo dhclient -v enp0s3 # Verificar IP recebido $ ip address show enp0s3

Teste em cliente Windows

cmd — renovar IP no Windows
:: Liberar IP atual ipconfig /release :: Solicitar novo IP via DHCP ipconfig /renew :: Ver configuração completa ipconfig /all

Monitorar logs em tempo real

logs do serviço
$ sudo journalctl -u isc-dhcp-server -f DHCPDISCOVER from 00:11:22:33:44:55 via enp0s8 DHCPOFFER on 192.168.0.15 to 00:11:22:33:44:55 DHCPREQUEST for 192.168.0.15 from 00:11:22:33:44:55 DHCPACK on 192.168.0.15 to 00:11:22:33:44:55

🎯 Exercício — Arraste e Conecte

Relacione cada diretiva do dhcpd.conf à sua descrição correta.

Descrição
Arquivo de configuração principal do servidor DHCP
Define a faixa de IPs que serão distribuídos
Tempo máximo de concessão em segundos
Envia o gateway padrão para os clientes
Declara este como o servidor DHCP oficial da rede
Elemento
dhcpd.conf
range
max-lease-time
option routers
authoritative

🛠️ Atividade Prática — Configurando o Servidor DHCP

⏱ ~40 min 💻 Ubuntu Server / VM 📸 Tirar screenshot da saída
1
Instalar e fazer backup
Execute sudo apt-get install isc-dhcp-server. Em seguida, faça backup com sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bkp. Tire screenshot da listagem de /etc/dhcp/ mostrando o arquivo de backup.
2
Criar a configuração da rede
Crie o arquivo /etc/dhcp/dhcpd.conf com sudo vim. Configure uma subnet com range, option routers, option domain-name-servers e authoritative. Adapte os IPs à rede da sua VM.
3
Configurar a interface e iniciar
Edite /etc/default/isc-dhcp-server com o nome correto da interface. Valide com sudo dhcpd -t e inicie com systemctl start isc-dhcp-server. Tire screenshot do systemctl status mostrando active (running).
4
Testar a distribuição de IPs
Em outro cliente da mesma rede, solicite um IP via DHCP. Verifique com ip address show (Linux) ou ipconfig /all (Windows). No servidor, visualize as concessões com cat /var/lib/dhcp/dhcpd.leases.
📌 Para refletir: o DHCP centraliza a gestão de IPs e elimina configuração manual em cada máquina. Em redes grandes, isso é essencial. Compreender o processo DORA e os arquivos de concessão é fundamental para diagnosticar problemas de conectividade em ambientes corporativos.

❓ Verifique seu Conhecimento

O que significa a sigla DHCP?

ADynamic Host Control Protocol
BDynamic Host Configuration Protocol
CDirect Host Connection Protocol
DDomain Host Configuration Protocol
✓ DHCP = Dynamic Host Configuration Protocol — distribui automaticamente IP, gateway e DNS para dispositivos da rede.

Qual arquivo contém a configuração principal do servidor ISC-DHCP-SERVER?

A/etc/dhcp/dhcpd.leases
B/var/lib/dhcp/dhcpd.conf
C/etc/dhcp/dhcpd.conf
D/etc/isc-dhcp/server.conf
✓ O arquivo /etc/dhcp/dhcpd.conf define pools, faixas de IP e reservas do servidor DHCP.

Qual diretiva no dhcpd.conf reserva um IP fixo para um dispositivo específico?

Ahost { hardware ethernet ...; fixed-address ...; }
Breserve { mac ...; ip ...; }
Cstatic { client ...; address ...; }
Dbind { ethernet ...; fixed ...; }
✓ A diretiva host com hardware ethernet e fixed-address reserva um IP para um MAC específico.

Onde o servidor DHCP registra as concessões de IP ativas?

A/etc/dhcp/leases.db
B/var/log/dhcp.log
C/etc/dhcp/dhcpd.conf
D/var/lib/dhcp/dhcpd.leases
✓ O arquivo /var/lib/dhcp/dhcpd.leases registra todas as concessões ativas: MAC, IP e prazo de validade.