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.