Pesquisa de site

Como instalar um servidor DHCP no Ubuntu e Debian


Protocolo de configuração dinâmica de host (DHCP) é um protocolo de rede usado para permitir que computadores host recebam automaticamente endereços IP e configurações de rede relacionadas de um servidor.

O endereço IP atribuído por um servidor DHCP ao cliente DHCP está em “lease”, o tempo de concessão normalmente varia dependendo de quanto tempo um computador cliente provavelmente exigirá a conexão ou configuração DHCP.

Como funciona o DHCP?

A seguir está uma descrição rápida de como o DHCP realmente funciona:

  • Depois que um cliente (que está configurado para usar DHCP) e conectado a uma rede é inicializado, ele envia um pacote DHCPDISCOVER para o servidor DHCP.
  • Quando o servidor DHCP recebe o pacote de solicitação DHCPDISCOVER, ele responde com um pacote DHCPOFFER.
  • Então o cliente recebe o pacote DHCPOFFER e envia um pacote DHCPREQUEST para o servidor mostrando que está pronto para receber as informações de configuração de rede fornecidas no DHCPOFFER pacote.
  • Finalmente, após o servidor DHCP receber o pacote DHCPREQUEST do cliente, ele envia o pacote DHCPACK mostrando que o cliente agora tem permissão para usar o endereço IP atribuído a ele.

Neste artigo, mostraremos como configurar um servidor DHCP no Ubuntu/Debian Linux e executaremos todos os comandos com o comando sudo para obter privilégios de usuário root.

Testando a configuração do ambiente

Usaremos o seguinte ambiente de teste para esta configuração.

DHCP Server - Ubuntu 16.04 
DHCP Clients - CentOS 7 and Fedora 25

Passo 1: Instalando o Servidor DHCP no Ubuntu

1. Execute o comando abaixo para instalar o pacote do servidor DCHP, anteriormente conhecido como dhcp3-server.

sudo apt install isc-dhcp-server

2. Quando a instalação for concluída, edite o arquivo /etc/default/isc-dhcp-server para definir as interfaces que o DHCPD deve usar para atender solicitações DHCP, com a opção INTERFACES .

Por exemplo, se você deseja que o daemon DHCPD escute em eth0, configure-o assim:

INTERFACES="eth0"

E aprenda também como configurar um endereço IP estático para a interface acima.

Passo 2: Configurando o Servidor DHCP no Ubuntu

3. O arquivo principal de configuração do DHCP é /etc/dhcp/dhcpd.conf, você deve adicionar todas as informações da sua rede para serem enviadas aos clientes aqui.

E existem dois tipos de instruções definidas no arquivo de configuração DHCP, são eles:

  • parâmetros – especificam como executar uma tarefa, se deve realizar uma tarefa ou quais opções de configuração de rede enviar ao cliente DHCP.
  • declarações – defina a topologia da rede, indique os clientes, ofereça endereços para os clientes ou aplique um grupo de parâmetros a um grupo de declarações.

4. Agora, abra e modifique o arquivo de configuração principal, defina as opções do seu servidor DHCP:

sudo vi /etc/dhcp/dhcpd.conf 

Defina os seguintes parâmetros globais na parte superior do arquivo, eles serão aplicados a todas as declarações abaixo (especifique os valores que se aplicam ao seu cenário):

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

5. Agora defina uma sub-rede; aqui, configuraremos o DHCP para a rede LAN 192.168.10.0/24 (use parâmetros que se aplicam ao seu cenário).

subnet 192.168.10.0 netmask 255.255.255.0 {
        option routers                  192.168.10.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.10.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

Etapa 3: Configurar IP estático na máquina cliente DHCP

6. Para atribuir um endereço IP fixo (estático) a um computador cliente específico, adicione a seção abaixo onde você precisa especificar explicitamente seus endereços MAC e o IP a ser atribuído estaticamente:

host centos-node {
	 hardware ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.10.105;
 }

host fedora-node {
	 hardware ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.10.106;
 }

Salve o arquivo e feche-o.

7. Em seguida, inicie o serviço DHCP por enquanto e habilite-o para iniciar automaticamente na próxima inicialização do sistema, assim:

------------ SystemD ------------ 
sudo systemctl start isc-dhcp-server.service
sudo systemctl enable isc-dhcp-server.service


------------ SysVinit ------------ 
sudo service isc-dhcp-server.service start
sudo service isc-dhcp-server.service enable

8. Em seguida, não se esqueça de permitir o serviço DHCP (daemon DHCPD escuta na porta 67/UDP) no firewall conforme abaixo:

sudo ufw allow  67/udp
sudo ufw reload
sudo ufw show

Etapa 4: configurando máquinas clientes DHCP

9. Neste ponto, você pode configurar os computadores de seus clientes na rede para receber automaticamente endereços IP do servidor DHCP.

Faça login nos computadores clientes e edite o arquivo de configuração da interface Ethernet da seguinte forma (anote o nome/número da interface):

sudo vi /etc/network/interfaces

E defina as opções abaixo:

auto  eth0
iface eth0 inet dhcp

Salve o arquivo e saia. E reinicie os serviços de rede desta forma (ou reinicie o sistema):

------------ SystemD ------------ 
sudo systemctl restart networking

------------ SysVinit ------------ 
sudo service networking restart

Alternativamente, use a GUI em uma máquina desktop para realizar as configurações, defina o Método como Automático (DHCP) conforme mostrado na captura de tela abaixo (desktop Fedora 25).

Neste ponto, se todas as configurações estiverem configuradas corretamente, sua máquina cliente deverá receber endereços IP automaticamente do servidor DHCP.

É isso! Neste tutorial, mostramos como configurar um servidor DHCP no Ubuntu/Debian. Compartilhe suas idéias conosco por meio da seção de comentários abaixo. Se você estiver usando uma distribuição baseada no Fedora, veja como configurar um servidor DHCP no CentOS/RHEL.