[Tutorial] Arch Linux - Servidor DHCP - Atualização 2022



Este post é uma atualização referente a nosso outro post sobre fazer seu Arch Linux um servidor DHCP,

Porém dessa vez com algumas pequenas mudanças nos arquivos e traduzido claramente do Arch Wiki, onde você pode tirar suas dúvidas posteriormente.

Não vou entrar em muitos detalhes sobre o que é um servidor DHCP, porque creio que você esteja aqui para fazer o bicho funcionar, então sem mais delongas:

Levo sempre em consideração em meus tutoriais que o sistema está novo, ok?

PASSO 1

Pacman -S dhcp dhcpcd

ifconfig -a

Verifique o nome de suas redes, no meu caso para este exemplo estava wlan0 que logicamente recebia a internet do meu router, e enp3s0 que seria minha porta cabeada no qual iria enviar o sinal do nosso dhcp.

PASSO 2

Suba a rede na qual você vai enviar o serviço (rede interna), no meu caso enp0s3, editando o arquivo /etc/dhcpcd.conf

 
interface enp3s0
static ip_address=139.96.30.100/24


OBS: este passo requer que você coloque um IP que não esteja definido dentro do range da sua rede interna, caso contrário, não vai funcionar.

PASSO 3

Mova o arquivo original do dhcp e crie um novo:

 # mv /etc/dhcpd.conf /etc/dhcpd.conf.example
 # nano /etc/dhcpd.conf

Edite-o:

nano /etc/dhcpd.conf


Essa seria uma configuração "GLOBAL" para sua rede:

authoritative;
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;


option domain-name-servers 8.8.8.8, 8.8.4.4;
option subnet-mask 255.255.255.0;
option routers 139.96.30.100;

subnet 139.96.30.0 netmask 255.255.255.0 { 
range 139.96.30.150 139.96.30.250; 
}

Para fixar algum computador nessa rede,  você deve deixar abaixo do range o MAC e o IP desejado, que ficaria assim:

authoritative;
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

option domain-name-servers 8.8.8.8, 8.8.4.4;
option subnet-mask 255.255.255.0;
option routers 139.96.30.100;

subnet 139.96.30.0 netmask 255.255.255.0 { 
range 139.96.30.150 139.96.30.250; 
}

host NOME_DO_PC{
hardware ethernet 00:00:00:00:00:00;
fixed-address 139.96.30.10;  
}

O host acima, deve ficar fora do RANGE que você indicou na configuração global, por exemplo, se você tem 20 computadores na rede, você vai usar o range de 139.96.30.22 pra cima, abaixo desse range serão colocados os IP's e MAC's dos computadores com IP fixo.


PASSO 4 (Opcional, eu não faço mais, mas é o Arch né haha, pode pular para o passo 5)

Como falei você pode usar o netctl para fazer sua rede escutar apenas uma placa de rede do seu servidor, porém vamos focar no somente no dhcp.

Crie um arquivo para iniciar o dhcp, e qua faça a escuta de sua rede:

nano /etc/systemd/system/dhcpd4@.service
[Unit]
Description=IPv4 DHCP server on %I
Wants=network.target
After=network.target

[Service]
Type=forking
PIDFile=/run/dhcpd4.pid
ExecStart=/usr/bin/dhcpd -4 -q -pf /run/dhcpd4.pid %I
KillSignal=SIGINT

[Install]
WantedBy=multi-user.target


Depois é só iniciar o serviço (não precisa mais fazer este passo):
systemctl enable dhcpd4@.service
systemctl start dhcpd4@.service

ou (somente caso não funcione o comando acima) (não precisa mais fazer este passo):

systemctl enable dhcpd4@enp3s0.service
systemctl start dhcpd4@enp3s0.service


Pronto, servidor DHCP configurado.

Agora já podemos dar um ifconfig e ver as redes funcionando.

Porém ainda precisa de uma pequena coisa que seria o direcionamento NAT

PASSO 5

Liberar rotas para sua rede interna com comando iptables  faça o download do iptables, caso já possua, ignore esta parte:

pacman -S iptables
touch /etc/iptables/iptables.rules

Agora faça o comando:

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

OBS: enp0s3 é a rede onde o servidor recebe a internet, ou seja a fonte da sua internet!

Esta comando deve ser feito toda vez que o servidor inicia, sendo assim, aconselho criar um script de inicialização para o mesmo, assim como foi feito para o ip fixo da rede interna.
Agora basta digitar iniciar o serviço e pronto!

systemctl enable {dhcpcd, dhcpd4} && systemctl start {dhcpcd, dhcpd4}
Somente se de erro, desabilite o dhcpcd


Agora sua rede DHCP está configurada, Plugue um cabo e veja a mágica :)

Espero que isso ajude :)

Atualizado 01/07/2020

..

SHARE THIS
Previous Post
Next Post