Hoje
em dia, quase todas as redes utilizam algum tipo de servidor DHCP. Em
geral, eles são ativados automaticamente ao compartilhar a conexão ou
junto com algum outro serviço, de forma que você acaba não aprendendo
muita cois# service dhcpd restart
Com o servidor DHCP configurado, você pode testar a configuração em
um dos clientes Linux, configurando a rede usando o "dhclient", seguido
da interface a ser configurada. Ele mostra toda a negociação entre o
servidor e o cliente, o que permite que você verifique se o servidor
está usando a configuração definida por você:
a sobre a sua configuração.
De
um modo geral, o trabalho de um servidor DHCP é bastante simples. Ele
responde aos pacotes de broadcast das estações, enviando um pacote com
um dos endereços IP disponíveis e os demais dados da rede. Os pacotes de
broadcast são endereçados ao endereço "255.255.255.255" e são
retransmitidos pelo switch da rede para todas as portas, diferente dos
pacotes endereçados a um endereço específico, que são transmitidos
apenas na porta relacionada a ele.
Periodicamente
o servidor DHCP verifica se as estações ainda estão lá, exigindo uma
renovação do "aluguel" do endereço IP (opção "lease time"). Isso permite
que os endereços IP sejam gastos apenas com quem realmente estiver
online, evitando que os endereços disponíveis se esgotem.
O
servidor DHCP mais usado no Linux é o ISC DHCP, desenvolvido pela
Internet Systems Consortium, uma organização sem fins lucrativos
dedicada a desenvolver serviços de infra-estrutura usados na Internet,
incluindo o Bind e o NTPD. Caso esteja curioso, a página com o código
fonte é a: http://www.isc.org/sw/dhcp/.
Nas
distribuições derivadas do Debian, o pacote correspondente ao servidor
DHCP se chama "dhcp3-server" e pode ser instalado via apt-get:
# apt-get install dhcp3-server
Com o pacote instalado, você pode ativar e desativar o serviço usando os comandos:
# /etc/init.d/dhcp3-server start
# /etc/init.d/dhcp3-server stop
# /etc/init.d/dhcp3-server stop
Como
você pode imaginar, o "3" corresponde à versão do software.
Eventualmente ele será substituído pelo "dhcp4-server", o que resultará
também na mudança do nome da pasta onde fica o arquivo e do script de
inicialização referente ao serviço.
No Fedora e no CentOS, o pacote se chama simplesmente "dhcp" e pode ser instalado usando o yum:
# yum install dhcp
Embora
o pacote se chame apenas "dhcp", o script referente ao serviço se chama
"dhcpd", de forma que os comandos para iniciar e parar o serviço são:
# service dhcpd start
# service dhcpd stop
# service dhcpd stop
Diferente
do Debian, o serviço não será configurado para ser inicializado durante
o boot depois de instalado. Você precisa ativá-lo manualmente usando o
comando "chkconfig":
# chkconfig dhcpd on
O arquivo de configuração é o "dhcpd.conf". Nas distribuições derivadas do Debian, o caminho completo para ele é "/etc/dhcp3/dhcpd.conf", enquanto no Fedora e no CentOS é apenas "/etc/dhcpd.conf", ou seja, um diretório acima.
Apesar
dessas diferenças estéticas, o que interessa mesmo é a configuração do
arquivo e esta sim é igual, independentemente da distribuição. Este é um
exemplo de arquivo de configuração básico:
# /etc/dhcp3/dhcpd.conf
ddns-update-style none;default-lease-time 600;
max-lease-time 7200;
authoritative;
max-lease-time 7200;
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.199;
option routers 192.168.1.1;
option domain-name-servers 208.67.222.222,208.67.220.220;
option broadcast-address 192.168.1.255;
}
range 192.168.1.100 192.168.1.199;
option routers 192.168.1.1;
option domain-name-servers 208.67.222.222,208.67.220.220;
option broadcast-address 192.168.1.255;
}
A
opção " default-lease-time" controla o tempo de renovação dos endereços
IP. O "600" indica que o servidor verifica a cada dez minutos se as
estações ainda estão ativas. Se você tiver mais endereços IP do que
máquinas, os endereços IP das estações raramente vão precisar mudar.
Mas, no caso de uma rede congestionada, o "max-lease-time" determina o
tempo máximo que uma estação pode usar um determinado endereço IP. Isso
foi planejado para ambientes onde haja escassez de endereços IP, como,
por exemplo, em um provedor de acesso, onde sempre existem mais clientes
do que endereços IP disponíveis e se trabalha contando que nem todos
vão ficar conectados simultaneamente. Em condições normais, essas duas
opções não são muito importantes.
O que interessa mesmo é o bloco que
vai logo abaixo, onde ficam as configurações da rede.
A opção "range"
determina a faixa de endereços IP que será usada pelo servidor. Se você
utiliza a faixa de endereços 192.168.1.1 até 192.168.1.254, por
exemplo, pode reservar os endereços de 192.168.1.1 a 192.168.1.100 para
estações configuradas com IP fixo e usar os demais para o DHCP, ou então
reservar uma faixa específica para ele, de 192.168.1.101 a
192.168.1.201, por exemplo.
O importante é usar faixas separadas para o
DHCP e os micros configurados com IP fixo.
Na "option routers" vai o endereço do default gateway da rede,
ou seja, o endereço do servidor que está compartilhando a conexão. Não é
necessário que o mesmo micro que está compartilhando a conexão rode
também o servidor DHCP. Pode ser, por exemplo, que na sua rede o gateway
seja o próprio modem ADSL que está compartilhando a conexão e o DHCP
seja um dos PCs.
A opção "option domain-name-servers" contém os servidores DNS
que serão usados pelas estações. Ao usar dois ou mais endereços, eles
devem ser separados por vírgula, sem espaços. Em geral, você vai usar os
próprios endereços DNS do provedor, a menos que você configure um
servidor DNS interno na sua rede (que pode ser instalado no próprio
micro que está compartilhando a conexão e rodando o DHCP). Estes
serviços consomem poucos recursos da máquina.
O servidor DNS mais usado no Linux é o Bind. Nas distribuições derivadas do Debian você pode instalá-lo com um "apt-get install bind".
O servidor DNS pode ser configurado para implementar um sistema de
domínios e subdomínios na sua rede, mas o uso mais comum é simplesmente
fazer um "cache", onde o servidor DNS simplesmente repassa as
requisições para um dos 13 root servers da internet e vai armazenando os
endereços que já foram acessados. Mais adiante teremos um capítulo
inteiro dedicado a ele.
Você pode substituir o arquivo de configuração padrão por este
modelo, ou editá-lo conforme a necessidade. Ao fazer qualquer alteração
no arquivo, você deve reiniciar o servidor DHCP usando o comando:
# /etc/init.d/dhcp3-server restart
ou:
# service dhcpd restart
Com o servidor DHCP configurado, você pode testar a configuração em um dos clientes Linux, configurando a rede usando o "dhclient", seguido da interface a ser configurada. Ele mostra toda a negociação entre o servidor e o cliente, o que permite que você verifique se o servidor está usando a configuração definida por você:
# dhclient eth0
Internet Systems Consortium DHCP Client V3.0.4Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Listening on LPF/eth1/00:15:00:4b:68:db
Sending on LPF/eth1/00:15:00:4b:68:db
Sending on Socket/fallback
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
bound to 192.168.1.199 -- renewal in 245 seconds.
Como você pode ver, o cliente deve receber a resposta a partir do endereço IP do servidor rodando o servidor DHCP e ser configurado com um endereço dentro da faixa definida por você.
Uma observação importante é que sempre que configurar um servidor com duas placas de rede, você deve configurar o servidor DHCP para escutar apenas na placa da rede local. No Debian, esta configuração vai no arquivo "/etc/default/dhcp3-server". Procure pela linha:
INTERFACES=""
... e adicione a placa que o servidor DHCP deve escutar, como em:
INTERFACES="eth0"
Para que a configuração entre em vigor, basta reiniciar o serviço novamente.
Nenhum comentário:
Postar um comentário
Precisamos da Sua Opnião