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!

Fonte: https://wiki.debian.org/DHCP_Server

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

17 Resultados

  1. Raildson Felipe da Silva disse:

    Muito bom artigo, ajudou bastante a relembrar dhcp e linux.

  2. Jeferson disse:

    a dica do /etc/default/isc-dhcp-server resolveu meu problema

  3. Anderson Schmitt disse:

    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

  4. alexandre disse:

    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!!!

  5. wallysson disse:

    Muito bom msm cara
    me ajudou bastane um
    trabalho!!

  6. Edimilson santos disse:

    Muito bem explicado !
    Flw

  7. option routers -> Endereço do gateway da rede.

  8. Luiz Felipe disse:

    So uma pergunta o ip do
    option routers 192.168.0.10; se tiro da onde
    da eth0 que a que recebe internet?

  9. Danilo disse:

    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.


  10. Danilo:

    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?

    Sim, vai ter, desde que seja feita a configuração correta.

  11. Danilo disse:

    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?

  12. Willian Ferreira disse:

    Muito bom o artigo, ajudou bastante….

    consegui subir meu servidor DHCP

    valeu

  13. Victor disse:

    Depois, quando quiser entrar de um pc cliente, em configuração de lan, qual porta devo usar?

  14. Victor disse:

    Pow, agora ke olhei melhor, deve estar faltando alguma coisa…

  15. Victor disse:

    Mt bom!!!
    Bem explicado e ….
    Fikei sem palavras!
    Mt obrigado!!!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *