DHCP: Saiba como é que o serviço funciona

O DHCP, Dynamic Host Configuration Protocol, é um protocolo de serviço TCP/IP que distribui automaticamente configurações de rede aos terminais, que se liguem na rede.

Para além de um endereço de rede (IP), este servidor oferece também a máscara de rede, Default Gateway, servidor(es) de DNS, domínio a que as máquinas pertencem, etc.

Em que situações se usa DHCP?

No mundo empresarial este serviço é extremamente importante, porque nem todos os utilizadores têm conhecimentos de informática avançados, para configurarem a ligação à rede (além disso torna-se mais cómodo).

Outro exemplo é quando um utilizador se liga a uma rede sem fios, por norma não necessita de configurar parâmetros adicionais (ex. IP, máscara, gateways, etc) na sua máquina pois estes são automaticamente obtidos a partir de um servidor de DHCP ou do próprio router que funciona como servidor de DHCP e disponibiliza esse conjunto de  informações.

Eu posso criar e controlar um servidor de DHCP?

Sim. Instalar, configurar e administrar um servidor de DHCP é uma tarefa bastante simples. Um servidor também facilita a acção por parte do utilizador, uma vez que o seu computador é automaticamente configurado.

Para que preciso eu de um servidor de DHCP?

Bem, um servidor de DHCP pode ser usado em diversas situações e num cenário de rede que se justifique. Seguem alguns cenários típicos, onde as configurações de acesso à rede podem ser baseadas DHCP:

  • Uma rede em casa com vários computadores
  • Numa empresa, vários DHCPS para vários segmentos de rede
  • LAN Party’s
  • etc.

Há muitas aplicações que permitem criar um autêntico servidor de DHCP para uma rede. Por exemplo, os routers que normalmente possuímos em casa têm essa funcionalidade. Neste artigo vamos demonstrar como colocar facilmente um servidor de DHCP a correr numa máquina e a distribuir informações sobre as configurações de rede.

Funcionamento base do Dynamic Host Configuration Protocol

O funcionamento deste protocolo é muito simples e tem quatro fases, que serão descritas abaixo:

  • DHCP Discover – O cliente liga-se à rede e envia um broadcast (enviado para todas as máquinas da rede) a pedir configurações de rede;
  • DHCP Offer – Um ou mais servidores enviam, em unicast (enviado apenas para o cliente), as suas propostas de configurações de rede;
  • DHCP Request – O cliente comunica, em broadcast, ao servidor que aceita uma oferta feita anteriormente;
  • DHCP Ack – Por fim o servidor confirma ao cliente a reserva do endereço de IP e informa o cliente por quanto tempo este é válido;

DHCP processo

Exemplo prático

No cenário usamos 3 máquinas virtuais, um servidor (Ubuntu Server 14.04) e duas máquinas virtuais para fazerem pedidos de IP.

Antes de começar este tutorial, é extremamente importante que atribua um IP fixo no servidor, bastando para isso alterar o ficheiro /etc/network/interfaces – no nosso caso foi atribuído o endereço 10.10.10.1/255.255.255.0.

A configuração da porta de rede do servidor, que no nosso caso é a eth1, deve ficar semelhante à que se segue (pode acrescentar os parâmetros que necessitar:

auto eth1
iface eth1 inet static
        address 10.10.10.1
        netmask 255.255.255.0
        broadcast 10.10.10.255

O primeiro passo a executar é atualizar o repositório de pacotes e actualizar o nosso sistema:

sudo apt-get update && sudo apt-get upgrade -y

De seguida vamos fazer a instalação do servidor de DHCP

sudo apt-get install isc-dhcp-server

Depois de instalado o software, é necessário definir o interface de rede onde o servidor vais estar à escuta. Para isso basta editar o ficheiro /etc/default/isc-dhcp-server e colocar a interface que vai estar a escuta, no nosso caso é a “eth1”.

Configuração do Servidor DHCP - Porta de escuta

Neste momento estamos prontos a configurar o nosso servidor. Vamos abrir o ficheiro de configuração /etc/dhcp/dhcpd.conf com um editor de texto (vim, por exemplo) e alterar os parâmetros que necessitamos.

No caso prático demonstrado foi criada uma pool de IP’s entre o IP 10.10.10.10 e o 10.10.10.253 e foram transmitidos vários parâmetros aos utilizadores, tais como, o gateway, os servidores de DNS, o domínio a que pertencem e também o tempo de aluguer dos endereços.

Configuração do Servidor DHCP - Pool de IP's

subnet 10.10.10.0 netmask 255.255.255.0 {
  range 10.10.10.10 10.10.10.253;
  option routers 10.10.10.254;
  option domain-name-servers 10.10.10.254;
  option domain-name "techemportugues.com";
  default-lease-time 600;
  max-lease-time 7200;
}

Como reservar endereços de IP para máquinas específicas?

É possível reservar endereços de IP para determinados MAC’s, mas é importante que estes endereços estejam fora da nossa pool de DHCP, porque se a pool já estiver quase cheia os endereços que deveriam ser reservados, são atribuídos a outras máquinas.

No ficheiro que editamos anteriormente, vamos colocar o MAC address da máquina e o IP a reservar.

Configuração do Servidor DHCP - IP fixo

host techemportugues-teste {
  hardware ethernet 08:00:27:7C:6B:E1;
  fixed-address 10.10.10.5;
}

Com a alteração feita, reservamos o IP 10.10.10.5, para a máquina com o MAC 08:00:27:7C:6B:E1.

No fim de fazermos todas as alterações , devemos reiniciar o serviço de DHCP com o seguinte comando:

sudo service isc-dhcp-server restart

 Se tudo correr bem é vos apresentada uma mensagem de sucesso e o numero de processo.

Configuração do Servidor DHCP - service restart

Na próxima imagem pode ver-se que o IP foi reservado para a máquina com o MAC 08:00:27:7C:6B:E1, foi atribuído com sucesso!

Configuração do Servidor DHCP - IP fixo atribído

Podemos também confirmar no log gerado pelo servidor e ver o pedido de IP a acontecer por parte da máquina com o MAC 08:00:27:7C:6B:E1.

Configuração do Servidor DHCP - log do servidor

Por fim vamos ligar uma outra máquina para testar a atribuição de um IP da pool criada.

Configuração do Servidor DHCP - teste pool

Pode encontrar toda a documentação sobre o servidor utilizado aqui!

Futuramente vamos lançar pelo menos mais um tutorial sobre este assunto, fiquem atentos!

Deixe-nos a sua dúvida, opinião ou sugestão!

Fonte das imagens