Configurando servidor DHCP (Debian)
Neste tutorial vou explicar como é fácil ter um servidor DHCP em sua rede. E ainda definindo IP com base no MAC.
Distro utilizada Debian 8/9/10
Vamos a instalação e em seguida faremos as configurações necessárias.
# apt-get install isc-dhcp-server
Agora vamos definir a interface que vai escutar o serviço DHCP.
# vim /etc/default/isc-dhcp-server
Localize a linha:
INTERFACES=””
adicione sua interface escutada.
ex: INTERFACES=”eth1″
# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.org # vim /etc/dhcp/dhcpd.conf
Altere deixando assim:
ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.50 10.0.0.99; option routers 10.0.0.1; option domain-name-servers 8.8.8.8, 8.8.4.4; option broadcast-address 10.0.0.255; }
default-lease-time -> Tempo de renovação dos endereços IP, então “600” vai fazer o servidor verifica a cada dez minutos se as estações ainda estão ativas.
max-lease-time -> Determina o tempo máximo que uma estação irá usar um determinado IP.
range -> Determina a faixa de endereços IP que será utilizada.
option routers -> Endereço do gateway da rede.
option domain-name-servers -> Será nosso servidores DNS. Voce pode utilizar dois ou mais endereços, basta separar eles por vírgula, sem espaços.
option broadcast-address -> Como o nome mesmo diz nosso endereço broadcast.
Você pode substituir o arquivo de configuração padrão por este modelo, ou editá-lo conforme a necessidade.
Agora vamos reiniciar o serviço.
# /etc/init.d/isc-dhcp-server restart
Prontinho, temos uma rede DHCP.
Indo além podemos configurar fixar um IP baseado em seu endereço MAC, uma boa solução para estações que não podem ficar mudando de ip. Ex nossa impressora não pode ficar trocando de IP, para isso criaremos então uma host dentro da chave subnet:
# vim /etc/dhcp/dhcpd.conf
subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.50 10.0.0.99; option routers 10.0.0.1; option domain-name-servers 8.8.8.8, 8.8.4.4; option broadcast-address 10.0.0.255; host impressora { hardware ethernet 00:aa:bb:01:01:01; fixed-address 10.0.0.30; } host pcdiretor { hardware ethernet 00:aa:bb:01:02:03; fixed-address 10.0.0.20; } }
Temos então:
Nome da máquina: impressora
Endereço MAC: 00:aa:bb:01:01:01
Endereço IP: 10.0.0.30;
Restarte o serviço para ter efeito:
# /etc/init.d/isc-dhcp-server restart
EXTRA: Múltiplas redes
shared-network minharede { subnet 192.168.254.0 netmask 255.255.255.0 { range 192.168.254.20 192.168.254.100; option routers 192.168.254.1; option domain-name-servers 8.8.8.8, 8.8.4.4; option broadcast-address 192.168.254.255; } #Segunda rede qual entrego apenas ips para os mac x e y subnet 10.0.0.240 netmask 255.255.255.240 { option routers 10.0.0.241; option domain-name-servers 8.8.8.8, 8.8.4.4; option broadcast-address 10.0.0.255; host pc1 { hardware ethernet 70:71:BC:F1:9F:9E; fixed-address 10.0.0.242; } host pc2 { hardware ethernet 70:71:BC:F1:9F:1D; fixed-address 10.0.0.243; } host cel1 { hardware ethernet 08:00:27:18:DC:AA; fixed-address 10.0.0.244; } } }
Instale o pacote ieee-data para termos o nome dos fabricantes (manufacturer) com base no MAC
# apt install ieee-data # ln -s /usr/share/ieee-data/oui.txt /usr/share/misc/oui.txt # ln -s /usr/share/ieee-data/oui.txt /usr/local/etc/oui.txt
Imprime concessões DHCP ativas.
# dhcp-lease-list
MAC IP hostname valid until manufacturer =============================================================================================== 00:06:14:74:2a:5d 10.0.0.100 -NA- 2020-09-16 13:44:02 Furukawa
Opções para dhcp-lease-list
# dhcp-lease-list --parsable saída legível por máquina com datas completas # dhcp-lease-list --last imprime o último (mesmo se terminar < agora) para cada MAC # dhcp-lease-list --all imprime todas as entradas, ou seja, mais de um por MAC
Locações dhcpd
# cat /var/lib/dhcp/dhcpd.leases
lease 10.0.0.100 { starts 3 2020/09/16 14:06:33; ends 3 2020/09/16 14:11:33; cltt 3 2020/09/16 14:06:33; binding state active; next binding state free; rewind binding state free; hardware ethernet 00:06:14:74:2a:5d; }
Curtiu o conteúdo?
Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!
Participe do canal no telegram para ficar atualizado sempre que publicar um novo tutorial.
Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.
Abraço!
Muito bom artigo, ajudou bastante a relembrar dhcp e linux.
a dica do /etc/default/isc-dhcp-server resolveu meu problema
bom dia ! não estou conseguindo rodar multiplas redes no debian 11. Já fiz de tudo e não aceita a segunda rede.
em /etc/default/isc-dhcp-server coloquei INTERFACES=”enp0s8 enp0s9″. e as configurações do dhcpd.conf já revisei e não aceita. Alguma dica ? Obrigado
Valeu pela dica do /etc/default/dhcp3-server
INTERFACES=”eth1″.
Salvou o meu dia. Meu server estava ouvindo na eth0 e não sabia como mudar este parâmetro.
Obrigado!!!
Muito bom msm cara
me ajudou bastane um
trabalho!!
Muito bem explicado !
Flw
option routers -> Endereço do gateway da rede.
So uma pergunta o ip do
option routers 192.168.0.10; se tiro da onde
da eth0 que a que recebe internet?
Me perdoe… acho que me expressei mal, digo o dhcp fornece o ip a determinado mac adress, queria saber se o ip não for compatível com o mac cadastrado ou vice-versa se, ele vai ter acesso normal a rede? Como poderia fazer um controle através do mac de quem vai ou não acessar a minha rede.
me add no msn, conversamos melhor
Sim, vai ter, desde que seja feita a configuração correta.
Olá amigo, diante desta configuração do DHCP, gostaria de saber se por algum acaso se eu definir um ip fixo para determinado computador se ele vai ter acesso a rede?
Muito bom o artigo, ajudou bastante….
consegui subir meu servidor DHCP
valeu
Depois, quando quiser entrar de um pc cliente, em configuração de lan, qual porta devo usar?
Não entendi a pergunta Victor.
Pow, agora ke olhei melhor, deve estar faltando alguma coisa…
Mt bom!!!
Bem explicado e ….
Fikei sem palavras!
Mt obrigado!!!