Redes: Vamos conhecer melhor o serviço DHCP
O DHCP, Dynamic Host Configuration Protocol, é um protocolo de serviço TCP/IP que distribui automaticamente configurações de rede aos terminais, que se liguem na rede.
Para além de um endereço de rede (IP), este servidor oferece também a máscara de rede, Default Gateway, servidor(es) de DNS, domínio a que as máquinas pertencem, etc.
Em que situações se usa DHCP?
No mundo empresarial este serviço é extremamente importante, porque nem todos os utilizadores têm conhecimentos de informática avançados, para configurarem a ligação à rede (além disso torna-se mais cómodo).
Outro exemplo é quando um utilizador se liga a uma rede sem fios, por norma não necessita de configurar parâmetros adicionais (ex. IP, máscara, gateways, etc) na sua máquina pois estes são automaticamente obtidos a partir de um servidor de DHCP ou do próprio router que funciona com servidor de DHCP e disponibiliza esse conjunto de informações.
Eu posso criar e controlar um servidor de DHCP?
Sim. Instalar, configurar e administrar um servidor de DHCP é uma tarefa bastante simples. Um servidor também facilita a acção por parte do utilizador, uma vez que o seu computador é automaticamente configurado.
Para que preciso eu de um servidor de DHCP?
Bem, um servidor de DHCP pode ser usado em diversas situações e num cenário de rede que se justifique. Seguem alguns cenários típicos, onde as configurações de acesso à rede podem ser baseadas DHCP:
- Uma rede em casa com vários computadores
- Numa empresa, vários DHCPS para vários segmentos de rede
- LAN Party’s
- etc.
Há muitas aplicações que permitem criar um autêntico servidor de DHCP para uma rede. Por exemplo, os routers que normalmente possuímos em casa têm essa funcionalidade. Neste artigo vamos demonstrar como colocar facilmente um servidor de DHCP a correr numa máquina e a distribuir informações sobre as configurações de rede.
Funcionamento base do DHCP
O funcionamento deste protocolo é muito simples e tem quatro fases, que serão descritas abaixo:
- DHCP Discover – O cliente liga-se à rede e envia um broadcast (enviado para todas as máquinas da rede) a pedir configurações de rede;
- DHCP Offer – Um ou mais servidores enviam, em unicast (enviado apenas para o cliente), as suas propostas de configurações de rede;
- DHCP Request – O cliente comunica, em broadcast, ao servidor que aceita uma oferta feita anteriormente;
- DHCP Ack – Por fim o servidor confirma ao cliente a reserva do endereço de IP e informa o cliente por quanto tempo este é válido;
Exemplo prático
No cenário usamis 2 máquinas virtuais, um servidor (Ubuntu Server 12.04) e outra que vai fazer pedidos de DHCP (Linux Mint).
Antes de começar este tutorial, é extremamente importante que atribua um IP fixo no servidor, bastando para isso alterar o ficheiro /etc/network/interfaces – no nosso caso foi atribuído o endereço 10.10.10.1/255.255.255.0.
O primeiro passo a executar é atualizar o repositório de pacotes:
$ sudo apt-get update
De seguida vamos fazer a instalação do servidor de DHCP
$ sudo apt-get install isc-dhcp-server
Depois de instalado o software, é necessário definir o interface de rede onde o servidor vais estar à escuta. Para isso basta editar o ficheiro /etc/default/isc-server-dhcp e colocar a interface que vai estar a escuta, no nosso caso é a “eth1”.
Neste momento estamos prontos a configurar o nosso servidor de DHCP. Vamos abrir o ficheiro de configuração /etc/dhcp/dhcpd.conf com um editor de texto (vim, por exemplo) e alterar os parâmetros que necessitamos.
No caso prático demonstrado foi criada uma pool de IP’s entre o IP 10.10.10.10 e o 10.10.10.253 e foram transmitidos vários parâmetros aos utilizadores, tais como, o gateway, os servidores de DNS, o domínio a que pertencem e também o tempo de aluguer dos endereços.
É possível reservar endereços de IP para determinados MAC’s, mas é importante que estes endereços estejam fora da nossa pool de DHCP, porque se a pool já estiver quase cheia os endereços que deveriam ser reservados, são atribuídos a outras máquinas.
No ficheiro que editamos anteriormente, vamos colocar o MAC address da máquina e o IP a reservar.
Com a alteração feita, reservamos o IP 10.10.10.2, para a máquina com o MAC 00:0C:29:1D:36:79.
No fim de fazermos todas as alterações , devemos reiniciar o serviço de DHCP com o seguinte comando:
$ sudo service isc-dhcp-server
Se tudo correr bem é vos apresentada uma mensagem de sucesso e o numero de processo.
Na imagem pode ver-se que o IP foi reservado para a máquina com o MAC 00:0C:29:1D:36:79.
Outras funcionalidades ficarão para um post que será publicado brevemente. Entretanto já ensinamos aqui como transformar um Raspberry PI num servidor DHCP.
Homepage: DHCP
Este artigo tem mais de um ano
Muito bom artigo.
É dar os parabéns ao nosso leitor António Sousa pelo excelente trabalho.
Muitos parabéns, António Sousa. 😉
“No mundo empresarial este serviço é extremamente importante, porque nem todos os utilizadores têm conhecimentos de informática avançados, para configurarem a ligação à rede (além disso torna-se mais cómodo).”
Se me permitirem, acrescento mais uma razão para se usar o DHCP. Sem o DHCP dificilmente teremos uma rede funcional. Mesmo que se tenham conhecimentos para configurar o endereço IP manualmente, este tipo de configuração acarreta problemas de duplicação de endereços. Numa rede de 100 PC (podia abusar mais um pouco no tamanho mas esta chega) já estou a ver o admin da rede a “ganir” à procura do gato.
eh eh eh, é verdade.
Muito bom o post !
Mas para a atribuição automática do IP com o servidor DHCP as máquinas terão de estar configuradas como rede interna no Virtual Box, correto?
Agradecia um esclarecimento.
Como é que a máquina cliente vai assumir o ip do servidor?
Olá.
Se bem percebi pretende que uma máquina virtual obtenha endereço IP do servidor DHCP, correto?
No menu da máquina virtual (no virtual box, portanto) selecione a opção de “Network” e de seguida coloque a opção Bridged Adapter, ou seja, esta opção permite obter um novo endereço IP provido pelo seu servidor DHCP para a máquina virtual.
Isto porque em Bridged Adapter é permitido que a máquina virtual obtenha um novo endereço IP. No entanto isto só acontecerá se o seu servidor DHCP der mais que um endereço IP à mesma máquina simultaneamente. Se for em ambiente caseiro (em casa, com um router wireless) não haverá problema.
NDesde ja agradeco a resposta.
A ideia seria testar com duas maquinas virtuais, uma com o servidor dhcp e outra como cliente, que vai receber o ip automatico do respetivo servidor.
Mas para isso sera necessario que na configuracao do virtualbox as maquinas estejam definidas como rede interna, nao? Pois caso contrario as mesmas estariam em redes diferentes..
Artigo muito bom. Bem explicado. Agora uma dúvida:
Qual a diferença entre DHCP Server e DHCP Relay?
DHCP relay é apenas um intermediário para o dhcp server.
Obrigado Nelson.
Num post que será postado brevemente irei falar do DHCP Relay e qual a sua função.
Fiquem atentos!
Estou na espera. \o/
Gostaria de saber se é possível encaminhar o tráfego de rede por um proxy forçando o gateway a a “desviar” a net por lá!
O que pretendo:
Tenho dezenas de maquinas que precisam de actualizações. E algumas dessas actualizações são mais de 1 GB.
Se for possível ter uma maquina como “Proxy” que armazene o que passa na rede, assim as actualizações seriam instaladas sem terem de ser sacadas outra vez na Net!
Presumo que essas atualizações (Windows, OSX, etc…) sejam “sacadas” por SSL…P
É que se forem, não da para usar o proxy
Algumas situações são com as maquinas que têm o Win8 e precisamos de actualizar para o 8.1.
Estamos a falar de 3GB de actualização para cada uma….
Eu não sei se a Microsoft usa HTTPS. Mas deve usar…
A MS costuma lança um “Redistributable” que é mesmo para isso…
Usem o WSUS
http://technet.microsoft.com/en-us/windowsserver/bb332157.aspx
Obrigado pelos elogios… brevemente vou escrever mais sobre DHCP, fiquem atentos!
Pois, é como diz o Nelson, se as atualizações forem feitas de modo “seguro”, HTTPS, não existe possibilidade de usar proxy!
… às custas dos ip’s fixos não queiram ter um belo conflito de ip’s!!!
Excelente artigo.
Na configuração do servidor DHCP os hosts também podem ter a opção option host-name. exemplo:
host teste {
hardware ethernet 00:0c:29:1d:36:79;
fixed-address 10.10.10.2;
option host-name “teste”;
}
Em certos casos simplifica-se, centralizando a configuração dos hosts no servidor de DHCP, evitando-se a duplicação da configuração de hosts (nome e IP) que também pode ser configurada no ficheiro /etc/hosts do servidor.
Bom artigo era sobre DHCP v6
gostei de isso
Esse seu artigo foi de grande utilidade para mim! Estava com dificuldades em funcionar um servidor DHCP no linux, mas vc resolveu meus problemas! Parabéns! Entretanto, não sei se vc se enganou e não quero ser visto como um chato, mas o DHCP offer envia em broadcast também o pacote com a oferta do IP, e não em unicast como mencionado (como o servidor DHCP sabe o IP do cliente e vice versa?). Alias, todo o processo do DHCP envia em broadcast suas requisições e respostas. Enfim, parabéns! 😀