Configuração do ZERO de um Servidor DHCP

Este artigo tem como objetivo ensinar o processo de configuração de um servidor DHCP, desde a instalação, configuração e distribuição das configurações aos clientes em uma determinada rede.

[ Hits: 17.544 ]

Por: Ariel Lauber de Paula Silva em 11/12/2019


Introdução



Protocolo DHCP

O Protocolo DHCP permite que um determinado host obtenha de modo automático as configurações de endereços IP. Além de obter um endereço IP, o DHCP permite que o host também receba informações de Mascará de Rede, Gateway e DNS local.

Devido aos aspectos de automatizar uma rede, o DHCP é denominado um protocolo 'plug and play', essa funcionalidade o torna muito atraente para diversos fins de utilização, seja residencial, pequenas e grandes empresas.

O DHCP é um protocolo cliente-servidor; em geral, o cliente é um hospedeiro recém-chegado e quer obter informações para se conectar em uma determinada rede, o servidor DHCP, proverá as configurações para que esse hospedeiro possa se conectar à rede.

Para um hospedeiro, o DHCP é um processo de 4 etapas, sendo elas:
  • Descoberta (DIS);
  • Oferta (OFF);
  • Requisição (REQ);
  • Fechamento (ACK).

Na figura abaixo, temos os detalhes realizados entre o cliente e servidor para alocação de um novo host em uma determinada rede.
Linux: Configuração do 0 de um Servidor DHCP
Descoberta (DIS): o primeiro processo de um novo host, é encontrar um servidor DHCP para interagir. O host envia um pacote UDP tendo como porta destino a 67, através de um datagrama IP. Nessa situação, o host não sabe informações do serviço DHCP, tão pouco o endereço do servidor IP do DHCP; deste modo, o host cria um datagrama IP contendo sua mensagem de descoberta, tendo como destino o endereço (IPv4) de destino de difusão 255.255.255.255 (broadcast), campo de endereço MAC de destino setado em FF:FF:FF:FF:FF:FF, e o campo cliente setado com o endereço 0.0.0.0. O cliente DHCP transmite, por difusão, esse pacote à camada de enlace, que então transmite esse pacote para todos os nós conectados à sub-rede.

Oferta (OFF): assim que o servidor DHCP recebe a solicitação em broadcast, ele responde com uma oferta de configurações de endereçamento, transmitindo por difusão a todos os nós presentes na sub-rede, utilizando o endereço 255.255.255.255. Junto com a oferta, o pacote é respondido com o mesmo número de ID utilizado pelo cliente, com informações prévias de Endereço IP, DNS, Máscara de Rede e demais serviços entregues pelo DHCP local.

Solicitação (REQ): o Cliente que recebeu a responta do DHCP, fará uma devolutiva da oferta, aceitando as informações passadas pelo servidor DHCP, mantendo o mesmo ID inicial da descoberta.

Fechamento (ACK): O Servidor DHCP responde a mensagem de requisição com um pacote DHCP ACK, confirmando os parâmetros recebidos.

Após esse processo, o cliente está pronto para utilizar os recursos de rede pelo tempo de concessão disponibilizado pelo servidor DHCP.

O DHCP pode trabalhar de 3 formas, sendo elas:
  • Automática: uma quantidade de IPs será liberada para ser alocada a dispositivos, como exemplo, a rede 192.168.1.1/24, poderá ter até 254 host. Assim quando uma nova solicitação cegar ao DHCP, um endereço IP em desuso será liberado permanente ao novo host.
  • Dinâmica: similar ao automático, exceto pelo fato de que um dispositivo terá um tempo determinado para ficar alocado à rede, como exemplo, um tempo de lease de 3h, ou até o mesmo se desconectar da rede.
  • Manual: partindo do princípio que cada dispositivo tem um endereço MAC único, é atribuído um endereço IP manual que associa ao endereço MAC, com isso o dispositivo poderá usufruir da conexão obtida; para isso o administrador de rede deverá informar qual IP será usado para o dispositivo em questão.

A alocação dinâmica de endereços é a única das três formas que permite o reuso de endereços IPs já usados anteriormente com outros hosts.

Configuração - Servidor DHCP

Quanto ao alinhamento das terminologias padrões do protocolo DHCP, temos:
  • DHCP Cliente: se trata de um host que obtém configurações atribuídas por meio de um servidor DHCP, de modo a obter acesso a uma determinada rede.
  • DHCP Server: um host que executa o lado servidor da aplicação de DHCP, provendo as devidas configurações a serem alocadas aos clientes DHCPs.
  • BOOTP Relay Agent: é um host ou roteador, que passa mensagens entre o clientes e servidores DHCPs.

Para esse artigo, foi utilizado, como base, a distribuição GNU/Linux Red Hat, porém, visando que é sempre interessante ter como servidor de serviços distribuições voltadas para o tal fim, como exemplo temos as distribuições Debian, CentOS, Red Hat, etc.

Por ser uma aplicação, as configurações aqui apresentadas, podem ser iguais em outras distribuições, fique atento aos passos e caminhos, confira antes se existe os arquivos citados e nas pastas citadas, caso contrário, é recomendado utilizar a distribuição Red Hat em sua última versão estável disponível para download.

Configurando o lado servidor do DHCP

Primeiramente, devemos realizar a instalação do pacote responsável pela pelo lado servidor do DHCP. Namos utilizar o pacote padrão. O símbolo "#", informa que o comando deve ser digitado estando logado com usuário root:

# apt-get install isc-dhcp-server

É importante, uma forma de mantermos sempre o arquivo original pronto para uso, caso seja necessário, vamos realizar um backup, seguindo o comando abaixo:

# mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bkp

Após realizarmos o backup, vamos configurar o arquivo do lado da aplicação DHCP:

# nano /etc/dhcpd.conf

O lado servidor também faz uso do arquivo abaixo, para armazenar um banco de dados com as informações de IP, tempo de lease, DNS e outras informações que foram repassadas para os clientes DHCP, com o comando "cat", podemos visualizar o conteúdo do mesmo.

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

Iniciando as configurações do lado servidor da aplicação, vamos editar o seguinte arquivo:

# nano /etc/dhcp/dhcpd.conf

Vamos inserir as linhas abaixo, realizando uma configuração básica da aplicação.

ddns-update-style none;
deny unknown-clients;

log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0
{
   range 192.168.1.2 192.168.1.254;
   server-identifier servidorDHCP;
   authoritative;
   option subnet-mask 255.255.255.0;
   option domain-name "localhost.com.br";
   option domain-name-servers 8.8.8.8,8.8.4.4;
   option routers 192.168.1.1;
   default-lease-time 600;
   max-lease-time 7200;
}

Uma vez que o arquivo esteja criado e salvo, basta realizar o reload da configuração do servidor DHCP:

# service isc-dhcp-server restart

Uma vez que o arquivo esteja criado e salvo, basta realizar o reload da configuração do servidor DHCP:

# service isc-dhcp-server restart

Algumas diretrizes do arquivo de configuração aplicado, vide:

ddns-update-style: a forma que o servidor DHCP, irá realizar o armazenamento das informações de rede dos clientes; o lado servidor utiliza de dois modos para realizar esse armazenamento, sendo:
  • Improvisado (ad-hoc); e
  • Interação de Intervalo (interim).

O modo improvisado, está em desuso, sendo não mais recomendado pela IETF.
  • deny unknown-clients: nega o acesso a endereços MACs;
  • log-facility local7: cria uma entrada no /etc/rsyslog.conf, para os logs do servidor;
  • subnet 192.168.1.0 netmask 255.255.255.0: para qual rede o DHCP irá responder quando for solicitado;
  • range 192.168.1.2 192.168.1.254: faixa de IPs que será disponibilizado aos clientes;
  • server-identifier: nome que servirá de identificação do servidor;
  • authoritative: indica que o servidor DHCP será autoritário em todo o seguimento da rede;
  • option subnet-mask 255.255.255.0: essa opção define a máscara de subrede a ser fornecida aos clientes;
  • option domain-name localhost.com.br: o nome de domínio do cliente;
  • option domain-name-servers 8.8.8.8,8.8.4.4: essa opção lista os servidores de nomes (DNS) a serem utilizados para resolução de nomes;
  • option routers 192.168.1.1: além das informações padrões do DHCP, o cliente também receberá o valor do gateway de rede;
  • default-lease-time: tempo de concessão que o cliente DHCP poderá usar o endereço atribuído, após esse tempo ele realizará nova solicitação, provavelmente receberá o mesmo endereço.
  • max-lease-time: tempo máximo que um cliente poderá ficar com uma lease, após o tempo, poderá renovar.

Configurando os LOGs

Em distribuições de base Debian, o arquivo de configuração fica na pasta:

# nano /etc/rsyslog.conf

A seguinte entrada deve ser inserida no final do arquivo:

local7.* /var/log/dhcpd.log

Criar o arquivo dos logs:

# touch /var/log/dhcpd.log

Reiniciar o serviço de logs:

# service rsyslog restart

Configurando o lado cliente

Para realizarmos o lado cliente do serviço de DHCP, devemos inicialmente setar todas as configurações em modo automático, com isso nenhum parâmetro é necessário ser realizado no lado cliente.

Referências Bibliográficas

Para a elaboração deste artigo, utilizei como base teórica o livro e o link abaixo:
Na parte prática, vários anos de treinamentos, cursos e muita leitura.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Roubando bits (parte 2): como resolver questões rapidamente sem calculadora

AWS - VPN IPSEC com Libreswan

Plugin MSofficeKey para OCS Inventory

Zoneminder: Substituindo um Unifi NVR

Emulador de Redes Mininet

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts