Como configurar um servidor DHCP no Linux

Como configurar um servidor DHCP no Linux

Neste artigo aprenderemos a instalar e configurar um servidor DHCP simples no Linux. Para tal será empregada a distribuição Linux Debian no processo.

Primeiramente, vamos configurar a interface de rede que servirá aos clientes do DHCP. Abra o arquivo /etc/network/interfaces com um editor de textos:

# vi /etc/network/interfaces

e logo em seguida configure ao menos um IP fixo nele, como no exemplo abaixo:

auto enp0s8 #Ubuntu ou
allow-hotplug enp0s8 #Debian
iface eth0 inet static
address 192.168.1.10
network 192.168.1.0/24
netmask 255.255.255.0
broadcast 192.168.1.255

Como instalar o software do servidor DHCP

Vamos usar o pacote popular de servidor DHCP isc-dhcp-server. Trata-se da implementação open source de DHCP mais usada na Internet e em redes locais com DHCP Linux também.

Instalação:

# apt-get install isc-dhcp-server

Agora vamos configurar o servidor DHCP. Editaremos o arquivo de configuração /etc/dhcp/dhcpd.conf. Faça uma cópia de segurança do arquivo antes de prosseguir:

# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old

E então abra-o em um editor de textos, como o nano:

# nano /etc/dhcp/dhcpd.conf

Localize e edite as opções de configuração conforme abaixo para um servidor DHCP bem simples:

# Tipo de atualização do DNS: nenhuma
ddns-update-style none;
# Configurando o período de concessão. Mude os valores conforme sua necessidade (em
# segundos)
default-lease-time 86400;
max-lease-time 604800;
# O servidor será autoritativo:
authoritative;
# Para onde enviar mensagens de log:
log-facility local7;
# Configurando nome de domínio e endereços dos servidores DNS para a rede:
option domain-name "boson.com";
option domain-name-servers 192.168.1.100, 8.8.8.8;
# Configurando um escopo DHCP. Crie quantos escopos quiser seguindo esse mesmo
# Esquema do escopo:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.20;
option subnet-mask 255.255.255.0; 
option routers 192.168.1.100;
option broadcast-address 192.168.1.255;
}

Explicando alguns dos itens configurados no arquivo:

  • subnet – Endereço da subrede
  • netmask – Máscara de subrede.
  • range – Faixa de IPs do escopo (no caso, IPs de 192.168.1.10 até 192.168.1.20 serão distribuídos)
  • option routers – Gateway padrão da rede
  • option broadcast-address – Endereço de broadcast do escopo
  • option domain-name-servers – Servidores DNS usados pelas estações, separados por vírgulas

Após configurar o arquivo, salve-o e feche-o.

Agora vamos verificar se há erros de sintaxe no arquivo. Para isso, execute o seguinte comando:

# dhcpd -t

Deverá aparecer a tela a seguir se tudo correr bem:

Servidor DHCP no Linux

Se forem mostrados erros, volte ao arquivo de configuração e corrija-os.

Se estiver tudo certo, vamos especificar as interfaces que serão usadas para distribuir as configurações de DHCP para as máquinas clientes. Abra o arquivo /etc/default/isc-dhcp-server com um editor de textos e localize a linha INTERFACES=””. Adicione o nome da interface que responderá pelo DHCP entre as aspas. Se mais de uma interface for usada, digite seus nomes separados por um espaço.

# vi /etc/default/isc-dhcp-server

Configuração de exemplo:

INTERFACES="enp0s8";

Salve o arquivo e feche-o após a edição.

Se o sistema estiver com um firewall ativo, não se esqueça de liberar a porta necessária à operação do DHCP – no caso, porta UDP 68. Por exemplo, você pode emitir o seguinte comando para liberar a porta 68 no iptables:

# iptables -A INPUT -s 192.168.1.0/24 -i enp0s8 -p udp --sport 68 --dport 67 -j ACCEPT

Reinicie agora o serviço do DHCP. Você pode parar, reiniciar, iniciar ou verificar o status do serviço com os comandos a seguir:

# service isc-dhcp-server start
# service isc-dhcp-server stop
# service isc-dhcp-server restart
# service isc-dhcp-server status

Testando o servidor DHCP

Agora é hora de testar o servidor DHCP! Ligue uma máquina cliente na mesma rede do servidor, coloque-a em modo “obter endereço IP automaticamente” e verifique se obtém as configurações de seu servidor DHCP. Não se esqueça de desligar quaisquer outros servidores DHCP que existam em sua rede local.
Se estiver realizando testes no Virtualbox ou VMware Workstation, coloque as placas de rede em modo de Rede Interna para facilitar.

Caso haja algum problema, consulte o arquivo de logs para pesquisar possíveis causas:

# grep dhcpd /var/log/syslog

Se tudo correu bem, você pode verificar as concessões ativas no servidor DHCP. Para isso, entre no diretório /var/lib/dhcp e abra o arquivo dhcpd.leases:

# cat /var/lib/dhcp/dhcpd.leases | less

É isso aí! Servidor DHCP configurado com sucesso em uma máquina Linux.

Há muitas outras opções disponíveis para configuração, sobre as quais falaremos no próximo artigo sobre DHCP.

Até!

Sobre Fábio dos Reis (1192 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

6 Comentários em Como configurar um servidor DHCP no Linux

  1. Ola meu nome e Emilia comecei recentemente a usar o linux.
    Um dos PCs travou em um dos usuarios, que sao com doi terminais
    nao consigo colocar na tela inicial, que seria a verde do governo que pede em qual usuario deseja entrar. Esta travada da em “aluno1” somente uma tela funciona. poderia me orientar fazendo favor como arrumar. Muito obrigada.

  2. Porfessor, somente com essa configuração ai os cliente terá acesso a intenert?
    estou com dificuldade nessa parte, os cliente recebem os ips certinho, mais não navegam de forma alguma.

  3. INTERFACES=”enp0s8″;

    Essa linha NÃO TEM semicolon (ponto e virgula) se colocar vai dar ERRO, de resto funciona tudo ok, obrigado pela dica

  4. Fernando Sales // 29/08/2023 em 16:29 // Responder

    Boa tarde, professor eu queria desativaro meu servidor DHCP ubuntu e não estou conseguindo, esse comando de para o serviço serve para o meu caso. Eu não vou MAIS usar o ubuntu como DHCP foi usar um aparelho SD-WAN. Meu medo é se eu somente parar o serviço quando eu reiniciar o servidor ele não vai subir novamente e dar conflito na minha rede.

Escreva um comentário

Seu e-mail não será divulgado


*