Esta dica tem por objetivo ensinar a configurar um servidor DHCP3 Dynamic Host Configuration Protocol no
GNU/Linux Ubuntu. Para ser possível realizar essa configuração necessitaremos saber o que ele é e compreender como ele funciona e para qual finalidade o mesmo é utilizado.
Um
servidor DHCP é um serviço do GNU/Linux utilizado para gerenciar as faixas de IPs que podem existir na rede, ou seja, é um mecanismo para gerenciar o protocolo TCP/IP liberando IPs válidos para as estações de uma rede evitando com isso que tenhamos que configurar manualmente o IP, máscara, gateway e DNS manualmente, máquina a máquina.
A principal vantagem deste serviço é que bastando plugar um computador ou notebook em um terminal gerenciado pelo servidor DHCP já será o suficiente para termos acesso a internet devido ao DHCP reconhecer aquele computador e liberar as configurações de IP, máscara, gateway e DNS automaticamente, isso é muito útil em duas vertentes, uma quando se muda constantemente o computador de lugar, no caso do notebook, e outra quando faz-se necessário colocar uma maquina nova na rede.
Configurando o servidor DHCP
Após instalado o pacote
dhcp3-server estamos prontos para configurá-lo. Basicamente tudo no Linux, seja qual distribuição for, as configurações são feitas por intermédio de edição de arquivos e o principal arquivo que devemos editar para configurar nosso servidor DHCP e o arquivo
dhcpd.conf, encontrado no diretório /etc/dhcp3/.
Primeiro passo: estando como root no shell, abra o arquivo com o vim das seguinte forma:
# vim /etc/dhcp3/dhcpd.conf
Note que a maior parte do arquivo é constituído por comentários "#" que desabilitam as funcionalidades que estão comentadas. Estas especificações de funcionamento podem ser pesquisadas afim de um aprofundamento em um estudo futuro por sua parte.
Para simplificar as coisas, exclua todas as linhas.
Segundo passo: adicione as seguintes linhas:
ddns-update-style none;
authoritative;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.1 192.168.10.200;
option domain-name-servers 200.165.132.148 200.165.132.155;
option routers 192.168.10.170;
option broadcast-address 192.168.10.255;
default-lease-time 600;
max-lease-time 7200;
}
host micro1{
hardware ethernet 00:0d:87:ee:dd:a7;
fixed-address 192.168.10.100;
}
Por fim salve o arquivo.
Explicando: ;-)
As duas primeiras linhas devem existir por padrão para o funcionamento do DHCP.
A linha "subnet 192.168.10.0 netmask 255.255.255.0" serve como a criação de uma classe chamada, no caso a classe 192.168.10.0, pois dentro dessa classe realizarei minhas especificações, que são estas:
range 192.168.10.1 192.168.10.200 - Define o intervalo de IPs liberados para as máquinas da rede pela nossa classe. Você pode, por exemplo, liberar outra faixa como 10.10.10.1 10.10.10.158, mas para isso você tem que criar uma classe 10.10.10.0, caso contrário não irá funcionar.
option domain-name-servers - Define quais são os servidores de resolução de nomes DNS, eu sempre gosto de usar estes dois 200.165.132.148 e 200.165.132.155, uma vez que estes são da própria Telemar.
option routers 192.168.10.170 - Define qual o IP do servidor que irá liberar para a rede os IPs, geralmente este IP é o da segunda placa de rede eth1.
option broadcast-address 192.168.10.255 - Define qual IP será utilizado para enviar uma mensagem para todas as máquinas na rede.
As linhas default-lease-time 600 e max-lease-time 7200 são utilizadas para definir o tempo que o servidor DHCP irá liberar um IP válido para uma máquina e após o esgotamento deste tempo ele oferece um pouco mais de tempo caso o usuário solicite ficar mais tempo logado na máquina, caso não queira passar pelo transtorno de mais de 10 pessoas te procurando dizendo que não está conseguindo acessar a internet, remova essas duas linha. hehehe
Note que eu realizei uma configuração mista, ou seja, dentro do subnet 192.168.10.0 netmask 255.255.255.0 { } fiz especificações da distribuição geral dos IPs pela rede.
E depois especifiquei um IP fixo pra uma determinada máquina na rede através de amarramento do MAC da placa de rede ao IP escolhido nesta sessão:
host micro1 {
hardware ethernet 00:0d:87:ee:dd:a7;
fixed-address 192.168.10.100;
}
Geralmente o mais utilizado é simplesmente configurar a faixa de IP para a rede e pronto. Mas quis mostrar que é possível especificar via MAC qual IP você deseja que uma determinada máquina tenha.
Terceiro passo: Devemos reiniciar o serviço, para isso digite como root:
# /etc/init.d/dhcp3-server stop
# /etc/init.d/dhcp3-server start
Conclusão
Podemos concluir que configurar um servidor DHCP é muito simples e possibilita ao administrador de redes administrá-la com mais facilidade, pois quando necessita mudar o IP do servidor ou o gateway, não precisa informar essas mudanças máquina a máquina, criando assim uma administração que não incomode e/ou permita que o usuário tenha acesso direto a estes processos, tornando tudo transparente ao usuário.
Agora você tem conhecimento suficiente para montar um servidor DHCP distribuindo as faixas de IPs e especificando por MAC qual IP uma determinada máquina deve ter, com isso sua administração torna-se mais fácil, evitando o trabalho de fazer tudo máquina a máquina.