Configuração de servidor DHCP no Debian Linux

Configuração de um simples e robusto servidor DHCP utilizando a distribuição Debian Lenny.

[ Hits: 151.908 ]

Por: Danilo Perillo Chiacchio em 17/02/2011


Introdução



Com o aumento de número de hosts nas redes, precisamos ter uma uma maneira mais simplificada e eficaz de realizar a atribuição dos endereços IP aos mesmos para que possam se comunicar. O DHCP (Dynamic Host Configuration Protocol) é um protocolo de rede de nível de aplicação que tem por objetivo fornecer automaticamente informações de endereçamento de rede, como endereço IP, máscara de sub-rede, gateway padrão, servidores de nome (DNS) e outras informações ao host que estiver sobre a autoridade do servidor executando a aplicação do DHCP.

Vamos utilizar o ISC DHCP, o servidor DHCP mais utilizado em sistemas Linux. O ISC (Internet Systems Consortium) é uma organização sem fins lucrativos dedicada a desenvolver serviços de infra-estrutura utilizados na Internet.

A página oficial do projeito pode ser acessada no seguinte link:

Instalação do pacote servidor DHCP

Iniciando:

1. Vamos realizar a instalação do pacote do servidor DHCP. No Debian e derivados (como Ubuntu, Kubuntu etc) o pacote chama-se dhcp3-server. O 3 é o numero da versão do servidor DHCP. Podemos utilizar o aptitude ou o apt-get para fazer a instalação do mesmo. Devemos ter privilégios de root para realizar a instalação:

# aptitude install dhcp3-server
ou
# apt-get install dhcp3-server

2. Após realizada a instalação, o serviço de DHCP pode ser ativado ou desativado com os comandos abaixo.

Ativando o serviço de DHCP:

# /etc/init.d/dhcp3-server start

Desativando o serviço de DHCP:

# /etc/init.d/dhcp3-server stop

Obs.: O serviço de DHCP também pode ser reiniciado e também é possível visualizar o seu status, através dos seguintes comandos.

Reiniciando o Serviço de DHCP (útil quando novas configurações são feitas, pois é necessário reiniciar o serviço para que as mesmas entrem em funcionamento):

# /etc/init.d/dhcp3-server restart

Verificando o status do serviço de DHCP:

# /etc/init.d/dhcp3-server status

    Próxima página

Páginas do artigo
   1. Introdução
   2. Editando arquivo de configuração do servidor DHCP
Outros artigos deste autor

Anon-Proxy no Debian Lenny

Servidor SSH (Secure Shell Hosting)

Instalando e Configurando o SAMBA3 no FreeBSD 8.1 Release

Leitura recomendada

Debian + Xorg + Nvidia - Um conceito visual para desktops

Como alterar o MAC Address no Linux Mint (spoof mac)

Diagnosticando problemas variados em ambientes GNU/Linux (parte 1)

Adicionando suporte ao Layer7 no Debian Lenny

XL - Ferramenta de gerenciamento Xen - Parte I

  
Comentários
[1] Comentário enviado por removido em 17/02/2011 - 16:28h

Legal cara. Parabéns !


Abraço.

[2] Comentário enviado por pherde em 17/02/2011 - 17:38h

Artigo bacana, bem completinho, geralmente pessoal passa a instalação e um script e pronto, aqui tá tudo comentado.

Só achei que seria legal explicar como deixar sempre o mesmo Ip (que vc escolheria) para determinada placa de rede. Mas é basicamente a mesma coisa feita como na parte do MAC.

Parabéns.

Flw!

[3] Comentário enviado por Max_Fernandes em 19/02/2011 - 12:55h

legal, parabéns pelo post, já conhecia um pouco das confs, mas ainda não tinha visto como fazia o lance do MAC co IP fixo, legal mesmo e gostaria de saber se tem como fazer esta mesma atribuição para variar sempre que se conecta, ao invéz de colocar fixed-addres, colocar algo como no-fixed-address, agradeço e abraços e sucesso, porque todos somos livres!!!!!

[4] Comentário enviado por sayrus em 19/02/2011 - 17:48h

Dhcp no Debian 6 mudou o caminho da pasta e o modo de restart,os meus scripsts de instalação por exemplo não funciona mais como antes.

/etc/dhcp3/dhcpd.conf velho
/etc/dhcp/dhcpd.conf Debian 6

Parabéns,Danilo.

[5] Comentário enviado por joserf em 20/02/2011 - 17:20h

amigo sabe me dizer como faco pra instalar o dhcp3-server_3.1.1-3 no ubuntu 10.04 lts. obrigado

[6] Comentário enviado por danchiacchio em 20/02/2011 - 20:27h

Boa Noite Pessoal,

Eu quem agradeço por poder estar contribuindo com nossa comunidade.

:: Adex, sobre sua duvida se eu entendi corretamente, para que o endereço IP que é atribuído a um host variar a cada acesso, não é necessário criar uma chave com uma "exceção" de um determinado endereço IP para um endereço MAC Address especifico.

Talvez as opções abaixo terão que ser ajustadas para que isso funcione bem:

default-lease-time 600
max-lease-time 7200

:: Sayrus, ainda não realizei esses testes com o Debian 6. Mas mesmo assim, muito obrigado pela dica.

:: Joserf, sobre a instalação no Ubuntu, o process é basicamente parecido. Tente seguir esse artigo e faça alguns testes fazendo favor.

Abraços,
Danilo.

[7] Comentário enviado por fernandoborges em 29/03/2011 - 21:18h

Que legal!
Acho que vc baseou seu artigo no que o Morimoto publicou, né? Ou pode ser apenas uma coincidência, ;)
Veja: http://www.hardware.com.br/livros/servidores-linux/configurando-servidor-dhcp.html
:|

[8] Comentário enviado por danchiacchio em 29/03/2011 - 23:37h

Boa Noite Meu Amigo fernandoborges,

Sim, em partes. Mas assim é como eu configuro.

Muito Bom.

Abraços,
Danilo.

[9] Comentário enviado por aluxbruno em 30/03/2011 - 03:01h

meu velho eu sou usuaro linux a pouco tempo mais estou bem familiarizado com o linux já mais seu post esta bem simples e objetivo pra qualquer pessoa comum entender e querer a preder mais ainda sobre redes e servidores. parabéns parceiro que vc sempre venha a contribuir. abraço

[10] Comentário enviado por danchiacchio em 30/03/2011 - 09:58h

Bom dia amigo aluxbruno,

Que bom que gostou.

Abraços e Obrigado,
Danilo.

[11] Comentário enviado por vitortechno em 29/01/2012 - 13:51h

Amigo, tem como fazer controle de banda dos clientes ?


[12] Comentário enviado por danchiacchio em 29/01/2012 - 22:31h

Bom Noite "vitortechno", tudo bem?

Nesse caso, depende do objetivo que deseja alcançar em controlar a banda dos clientes. Esse controle seria para acesso a Internet? Se sim, pode utilizar outras ferramentas livres como o Squid para para fazer esse controle. Vai depender muito do seu ambiente e também das suas necessidades.

Já nesse esse artigo, visa apenas em conceder endereçamento IP e demais informações para hosts em uma rede, utilizando Linux para tal. Pelo que conheço, nesse caso não seria possivel fazer esse controle.

Abraço,
Danilo.

[13] Comentário enviado por vitortechno em 02/02/2012 - 00:27h

Opa, agora que fui ver Danilo!
Seria somente para acesso mesmo!
Seria no caso setar um limite de download para um usuário e para outro usuário setar outro limite... e também limitar o link mesmo de cada usário, tipo gostaria de colocar o ip 192.168.10.10 com um link de 200k e o ip 192.168.10.15 com um link de 300k, tem como fazer isso também no squid ?
Ainda estou engatinhando no linux.

[14] Comentário enviado por danchiacchio em 02/02/2012 - 17:53h

Boa Tarde "vitorechno",

A resposta é sim. Com Squid você pode fazer tudo isso é muito mais. Se sua rede local utiliza VLAN, ou seja, é segmentada em sub-redes, poderá definir uma velocidade que os hosts dessa sub-rede poderão possuir, ou em um host em especifico, caso necessário.

Aqui no VOL, existem alguns artigos sobre Squid. De uma olhada:

http://www.vivaolinux.com.br/artigos/verSubCategoria.php?codigo=101

http://www.vivaolinux.com.br/artigo/Implementacao-de-um-servidor-Linux-Squid-+-Iptables-+-DHCP

http://www.vivaolinux.com.br/artigo/Instalacao-e-configuracao-do-Squid-no-Fedora

Abraço,
Danilo.

[15] Comentário enviado por psychokill3r em 14/02/2012 - 11:38h

Ola a todos.

Antes de mais nada obrigado pelo artigo muito bom mesmo.

Tenho uma questão que depende de experiencia com dhcp .
To administrando uma rede pequena com 50 maquinas e todos setados na mão , quero por um dhcp nessa rede , mais a questão é o seguinte :

O DHCP server vai entender que ja tenho maquinas com ip setado , vou por um range 10.X.X.200 até 10.x.x.254, minha questão é : o dhcp vai entender um host que já tem um ip 10.x.x.210 por exemplo e pular esse endereço ou ele só reconhece ips que ele mesmo determinou?

Obrigado

E VIVA o GnuLinux.

[16] Comentário enviado por danchiacchio em 14/02/2012 - 17:30h

Boa Tarde psychokil3r,

Que bom que gostou.

Mas referente a sua duvida, para resolver essa questão não é necessário muita experiência com DHCP, mas sim conhecer basicamente como o protocolo DHCP funciona em si.

Basicamente, quando uma máquina está configurada para obter infomações de rede (como IP, Mask, Gateway, etc) de maneira automática, ou seja, via DHCP, no momento em que a mesma é ligada/conectada na rede ela envia um pacote do tipo Broadcast para o endereço de destino 255.255.255.255 e porta de destino 67 a procura de um DHCP Server. Existindo um DHCP Server nesse dominio de broadcast, o mesmo irá ofertar as devidas informações ao host.

Agora, se suas estações já possuem endereçamento IP inserido manualmente, elas permaneçam com esses endereços. Porém, atenção:

Se pretende deixar alguma estação com endereçamento IP estático na rede, crie uma reserva de endereço IP para mesma no DHCP, ou no momento da criação do POOL de endereços IP, reserve uma faixa de endereços que não será distribuida pelo servidor DHCP. Assim, você não terá problemas com conflito de endereços IP's em sua rede.

Espero ter ajudado.

Abraço,

Danilo.

[17] Comentário enviado por dalveson em 06/04/2012 - 15:49h

Bom dia danchiacchio,
Queria sua ajuda no conf meu dhcp, gostaria de fixar o ip ao MAC, ate consegui seguindo sua dica:
host tux {
hardware ethernet 08:00:07:26:c0:a5;
fixed-address tux.tuxnetwork.local.net;
}
Funcionou legal, porem gostaria de fixar uns 70 computadores e se eu repetir essa regra 70 vezes meu dhcpd.conf vai ficar muito longo, por isso gostaria de saber se tem algum metodo deu criar um arquivo e colocar dentro dele o MAC;IP e configurar o dhcpd.conf para ler esse arquivo?
Assim ficaria mais organizado ao inves deu repetir 70 vezes a regra que fixa o ip dentro do arquivo dhcp.conf.
att

[18] Comentário enviado por danchiacchio em 07/04/2012 - 00:28h

Ola dalveson,

Nesse caso, poderá criar um arquivo externo com a definição/reservas que desejas criar para seus hosts.

Depois, no final do arquivo de configuração do DHCP, inserir:

include "/etc/dhcpd/clientes" ;

Onde:

/etc/dhcpd/clientes = Arquivo onde encontram-se as reservas.

Fonte: http://under-linux.org/f175/dhcp-conf-chamando-script-externo-100293/

;-)

Danilo.

[19] Comentário enviado por dalveson em 09/04/2012 - 11:36h

danchiacchio vlw pela dica, vou testa aqui e qualquer coisa lhe reporto
att

[20] Comentário enviado por Carlos_Cunha em 02/10/2012 - 14:41h

Foi de ajuda!

Abraço :-D

[21] Comentário enviado por nikole em 04/06/2014 - 07:49h

Existe algum comando para poder reiniciar o dhcp nas maquinas?

tipo tenho um computador que pegou o ip 1.20
ai dou um restart ou algum comando no dhcpd
que ele ira fazer outra entrega para todos os outros host ai no meu caso ele ira pegar outro ip ex 1.36

teria?
obrigada

[22] Comentário enviado por euripedesaraujo em 08/09/2020 - 20:48h


Na reserva de ip é obrigatório ser o nome do host? melhor para resolução de nome para ip ao tentar acessar uma máquina na rede? Ou eu poderia colocar uma apelido para facilitar a identificação ?

Obrigado


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts