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
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!
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
..
Valeu man, ajudou bastante !!
Reply