Pesquisa de site

Como configurar servidor e cliente DHCP no CentOS e Ubuntu


DHCP (abreviação de Dynamic Host Configuration Protocol) é um protocolo cliente/servidor que permite a um servidor atribuir automaticamente um endereço IP e outros parâmetros de configuração relacionados (como a máscara de sub-rede e gateway padrão) para um cliente em uma rede.

DHCP é importante porque evita que um administrador de sistema ou rede configure manualmente endereços IP para novos computadores adicionados à rede ou computadores que são movidos de uma sub-rede para outra.

O endereço IP atribuído por um servidor DHCP a um cliente DHCP está em um “arrendamento”, o tempo de arrendamento normalmente varia dependendo de quanto tempo um é provável que o computador cliente exija a conexão ou a configuração DHCP.

Neste artigo, explicaremos como configurar um servidor DHCP nas distribuições CentOS e Ubuntu Linux para atribuir endereços IP automaticamente a uma máquina cliente.

Instalando o servidor DHCP no CentOS e Ubuntu

O pacote do servidor DCHP está disponível nos repositórios oficiais das principais distribuições Linux, a instalação é bastante fácil, basta executar o seguinte comando.

yum install dhcp		        #CentOS
sudo apt install isc-dhcp-server	#Ubuntu

Assim que a instalação for concluída, configure a interface na qual deseja que o daemon DHCP atenda às solicitações no arquivo de configuração /etc/default/isc-dhcp-server ou /etc/sysconfig/dhcpd.

vim /etc/sysconfig/dhcpd		 #CentOS
sudo vim /etc/default/isc-dhcp-server	 #Ubuntu

Por exemplo, se você deseja que o daemon DHCPD escute em eth0, configure-o usando a seguinte diretiva.

DHCPDARGS=”eth0”

Salve o arquivo e saia.

Configurando o servidor DHCP no CentOS e Ubuntu

O arquivo de configuração principal do DHCP está localizado em /etc/dhcp/dhcpd.conf, que deve conter configurações do que fazer, onde fazer algo e todos os parâmetros de rede para fornecer aos clientes.

Este arquivo consiste basicamente em uma lista de declarações agrupadas em duas grandes categorias:

  • Parâmetros globais: especifique como realizar uma tarefa, se deve realizar uma tarefa ou quais parâmetros de configuração de rede fornecer ao cliente DHCP.
  • Declarações: defina a topologia da rede, indique o estado do cliente, ofereça endereços para os clientes ou aplique um grupo de parâmetros a um grupo de declarações.

Agora, abra e edite o arquivo de configuração para configurar seu servidor DHCP.

------------ On CentOS ------------ 
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf	
vi /etc/dhcp/dhcpd.conf	

------------ On Ubuntu ------------
sudo vim /etc/dhcp/dhcpd.conf				

Comece definindo os parâmetros globais que são comuns a todas as redes suportadas, no topo do arquivo. Eles serão aplicados a todas as declarações:

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

Em seguida, você precisa definir uma sub-rede para uma sub-rede interna, ou seja, 192.168.1.0/24 conforme mostrado.

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

Observe que os hosts que requerem opções de configuração especiais podem ser listados em instruções de host (veja a página man dhcpd.conf).

Agora que você configurou o daemon do servidor DHCP, você precisa iniciar o serviço nesse meio tempo e habilitá-lo para iniciar automaticamente a partir da próxima inicialização do sistema, e verificar se ele está instalado e funcionando usando os seguintes comandos.

------------ On CentOS ------------ 
systemctl start dhcpd
systemctl enable dhcpd
systemctl enable dhcpd

------------ On Ubuntu ------------
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl enable isc-dhcp-server

Em seguida, permita solicitações ao daemon DHCP no Firewall, que escuta na porta 67/UDP, executando.

------------ On CentOS ------------ 
firewall-cmd --zone=public --permanent --add-service=dhcp
firewall-cmd --reload 

#------------ On Ubuntu ------------
sudo ufw allow 67/udp
sudo ufw reload

Configurando clientes DHCP

Finalmente, você precisa testar se o servidor DHCP está funcionando bem. Faça logon em algumas máquinas clientes na rede e configure-as para receber automaticamente endereços IP do servidor.

Modifique o arquivo de configuração apropriado para a interface na qual os clientes receberão endereços IP automaticamente.

Configuração do cliente DHCP no CentOS

No CentOS, os arquivos de configuração da interface estão localizados em /etc/sysconfig/network-scripts/.

vim /etc/sysconfig/network-scripts/ifcfg-eth0

Adicione as opções abaixo:

DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

Salve o arquivo e reinicie o serviço de rede (ou reinicie o sistema).

systemctl restart network

Configuração do cliente DHCP no Ubuntu

No Ubuntu 16.04, você pode configurar todas as interfaces no arquivo de configuração /etc/network/interfaces.

   
sudo vi /etc/network/interfaces

Adicione estas linhas nele:

auto  eth0
iface eth0 inet dhcp

Salve o arquivo e reinicie os serviços de rede (ou reinicie o sistema).

sudo systemctl restart networking

No Ubuntu 18.04, a rede é controlada pelo programa Netplan. Você precisa editar o arquivo apropriado no diretório /etc/netplan/, por exemplo.

sudo vim /etc/netplan/01-netcfg.yaml 

Em seguida, habilite dhcp4 em uma interface específica, por exemplo, em ethernets, ens0, e comente as configurações relacionadas ao IP estático:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens0:
      dhcp4: yes

Salve as alterações e execute o seguinte comando para efetuar as alterações.

sudo netplan apply 

Para obter mais informações, consulte as páginas man dhcpd e dhcpd.conf.

man dhcpd
man dhcpd.conf

Neste artigo, explicamos como configurar um servidor DHCP nas distribuições CentOS e Ubuntu Linux. Se precisar de mais esclarecimentos sobre algum ponto, você pode fazer uma pergunta através do formulário de feedback abaixo ou simplesmente compartilhar seus comentários conosco.