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:
- Como instalar e configurar o servidor DHCP ISC multihomed no Debian Linux
- 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.