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. Será utilizada a distribuição 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 configure ao menos um IP fixo nele, como no exemplo abaixo:

auto eth0 #Ubuntu ou
allow-hotplug eth0 #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

Instalando 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 vi:

# vi /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="eth0";

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 eth0 -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 (1325 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica 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

Escreva um comentário

Seu e-mail não será divulgado


*