Pesquisa de site

Como instalar um servidor DHCP no CentOS, RHEL e Fedora


DHCP (Dynamic Host Configuration Protocol) é um protocolo de rede que permite a um servidor atribuir automaticamente um endereço IP e fornecer outros parâmetros de configuração de rede relacionados a um cliente em uma rede, desde um pool de IP predefinido.

Isso significa que cada vez que um cliente (conectado à rede) é inicializado, ele obtém um endereço IP “dinâmico”, em oposição ao endereço IP “estático” que nunca muda. O endereço IP atribuído por um servidor DHCP ao cliente DHCP está em “lease”, o tempo de concessão pode variar dependendo de quanto tempo um cliente provavelmente exigirá a conexão ou configuração DHCP.

Neste tutorial, abordaremos como instalar e configurar um servidor DHCP nas distribuições CentOS/RHEL e Fedora.

Testando a configuração do ambiente

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

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

Como funciona o DHCP?

Antes de prosseguirmos, vamos explicar brevemente como funciona o DHCP:

  • Quando um computador cliente (configurado para usar DHCP) e conectado a uma rede é ligado, ele encaminha uma mensagem DHCPDISCOVER para o servidor DHCP.
  • E depois que o servidor DHCP recebe a mensagem de solicitação DHCPDISCOVER, ele responde com uma mensagem DHCPOFFER.
  • Então o cliente recebe a mensagem DHCPOFFER, e envia uma mensagem DHCPREQUEST ao servidor indicando que está preparado para receber a configuração de rede oferecida no DHCPOFFER mensagem.
  • Por último, mas não menos importante, o servidor DHCP recebe a mensagem DHCPREQUEST do cliente e envia a mensagem DHCPACK mostrando que o cliente agora tem permissão para usar o endereço IP atribuído a ele. .

Etapa 1: Instalando o servidor DHCP no CentOS

1. A instalação do DCHP é bastante simples, basta executar o comando abaixo.

yum -y install dhcp

Importante: Supondo que haja mais de uma interface de rede conectada ao sistema, mas você deseja que o servidor DHCP seja iniciado apenas em uma das interfaces, configure o servidor DHCP para iniciar apenas nessa interface da seguinte maneira.

2. Abra o arquivo /etc/sysconfig/dhcpd, adicione o nome da interface específica à lista de DHCPDARGS, por exemplo se o interface é eth0, então adicione:

DHCPDARGS=eth0

Salve o arquivo e saia.

Etapa 2: configurando o servidor DHCP no CentOS

3. Para começar, para configurar um servidor DHCP, o primeiro passo é criar o arquivo de configuração dhcpd.conf, e o arquivo de configuração principal do DHCP normalmente é / etc/dhcp/dhcpd.conf (que está vazio por padrão), mantém todas as informações da rede enviadas aos clientes.

Entretanto, há um arquivo de configuração de exemplo /usr/share/doc/dhcp*/dhcpd.conf.sample, que é um bom ponto de partida para configurar um servidor DHCP.

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

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

Portanto, comece copiando o arquivo de configuração de amostra como o arquivo de configuração principal, assim:

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

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

vi /etc/dhcp/dhcpd.conf 

Comece definindo os seguintes parâmetros globais que serão aplicados a todas as sub-redes (especifique os valores que se aplicam ao seu cenário) na parte superior do arquivo:

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; neste exemplo, configuraremos o DHCP para a rede LAN 192.168.56.0/24 (lembre-se de usar parâmetros que se aplicam ao seu cenário):

subnet 192.168.56.0 netmask 255.255.255.0 {
        option routers                  192.168.56.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.56.1;
        range   192.168.56.10   192.168.56.100;
        range   192.168.56.120  192.168.56.200;
}

Etapa 3: Atribuir IP estático ao cliente DHCP

Você pode atribuir um endereço IP estático a um computador cliente específico na rede, basta definir a seção abaixo no arquivo /etc/dhcp/dhcpd.conf, onde você deve especificar explicitamente seus endereços MAC e os endereços MAC fixos. IP a ser atribuído:

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

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

Salve o arquivo e feche-o.

Nota: Você pode descobrir ou exibir o endereço MAC do Linux usando o seguinte comando.

ifconfig -a eth0 | grep HWaddr

6. Agora inicie o serviço DHCP nesse meio tempo e habilite-o para iniciar automaticamente a partir da próxima inicialização do sistema, usando os seguintes comandos:

---------- On CentOS/RHEL 7 ---------- 
systemctl start dhcpd
systemctl enable dhcpd

---------- On CentOS/RHEL 6 ----------
service dhcpd start
chkconfig dhcpd on

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

---------- On CentOS/RHEL 7 ----------
firewall-cmd --add-service=dhcp --permanent 
firewall-cmd --reload 

---------- On CentOS/RHEL 6 ----------
iptables -A INPUT -p tcp -m state --state NEW --dport 67 -j ACCEPT
service iptables save

Etapa 4: configurando clientes DHCP

8. Agora você pode configurar seus clientes na rede para receber automaticamente endereços IP do servidor DHCP. Faça login na máquina cliente e modifique o arquivo de configuração da interface Ethernet da seguinte forma (não leve o nome/número da interface):

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

Adicione as opções abaixo:

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

Salve o arquivo e saia.

9. Você também pode realizar as configurações usando a GUI em um computador desktop, defina o Método como Automático (DHCP) conforme mostrado na captura de tela abaixo (desktop Ubuntu 16.04).

10. Em seguida, reinicie os serviços de rede da seguinte maneira (você pode reiniciar o sistema):

---------- On CentOS/RHEL 7 ----------
systemctl restart network

---------- On CentOS/RHEL 6 ----------
service network restart

Neste ponto, se todas as configurações estiverem corretas, seus clientes deverão receber endereços IP automaticamente do servidor DHCP.

Você também pode ler:

  1. Como instalar e configurar o servidor DHCP ISC multihomed no Debian Linux
  2. 10 comandos “IP” úteis para configurar interfaces de rede

Neste tutorial, mostramos como configurar um servidor DHCP no RHEL/CentOS. Use o formulário de comentários abaixo para nos responder. Em um próximo artigo, mostraremos como configurar um servidor DHCP no Debian/Ubuntu. Até lá, fique sempre conectado ao TecMint.