Olá Pessoal,
Em outro artigo intitulado
"Configuração de Servidor DHCP: Cisco x Linux" explico ao leitor como utilizar o serviço
ISC-DHCP em distribuições Linux baseadas no Debian para configurar um servidor DHCP em redes IPv4. Neste artigo trago os passos necessários para fazer essa mesma configuração, mas agora no contexto de uma rede IPv6 (bem simples) apresentada na topologia abaixo. Uma primeira observação relevante é que o ISC-DHCP somente pode ser executado para IPv4 ou IPv6
isoladamente, ainda que seja possível executar dois
daemons parametrizados para IPv4 e IPv6.
1. Instalação do Serviço DHCP
A primeira etapa consiste na instalação do pacote isc-dhcp-server para que o Linux possa ser posteriormente configurado como servidor DHCP na rede IPv6. Como de costume, essa tarefa é simples e rápida através do APT (Debian):
apt-get install isc-dhcp-server
2. Definir o DHCPv6 nas Interfaces
A segunda etapa é informar em qual(is) interface(s) o servidor irá responder requisições dos clientes da rede, através da edição do arquivo /etc/default/isc-dhcp-server. É também nesse arquivo que apontaremos para outro arquivo específico de configuração do serviço DHCPv6 e definiremos a opção -6 para ativar o serviço DHCP na modalidade IPv6.
# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
#
# This is a POSIX shell fragment
#
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
DHCPD_CONF=/etc/dhcp/dhcpd6.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
DHCPD_PID=/var/run/dhcpd6.pid
# Additional options to start dhcpd with.
OPTIONS="-6"
# On what interfaces should the DHCP server serve DHCP requests?
INTERFACES="eth1"
3. Configurar o Servidor DHCPv6
A etapa mais importante consiste na configuração do servidor DHCPv6 propriamente dito, tarefa que é realizada através da criação e edição do arquivo /etc/dhcp/dhcpd6.conf, seguindo o caminho informado previamente na etapa anterior. Cabe observar que para o escopo IPv6 ser válido, é necessário que a interface do servidor esteja configurada com um endereço válido na mesma rede dos demais endereços que serão distribuídos dinamicamente para os clientes. Para exemplificar definirei um intervalo com endereços que variam seu final de dddd::100 até dddd::199, apenas porque o quarteto "dddd" faz lembrar de DHCP e facilita a identificação dos endereços atribuídos dinamicamente. Também utilizarei os endereços IPv6 de DNS públicos da Google e o domínio "labcisco.com.br".
###--- /etc/dhcp/dhcpd6.conf
ddns-update-style none;
default-lease-time 86400;
max-lease-time 86400;
authoritative;
subnet6 2001:db8:cafe::/64
{
range6 2001:db8:cafe::dddd:100 2001:db8:cafe::dddd:199;
option dhcp6.name-servers 2001:4860:4860::8888, 2001:4860:4860::8844;
option dhcp6.domain-search "labcisco.com.br";
# Reserva de Emprestimo (Opcional)
host NOME
{
host-identifier option dhcp6.client-id 00:01:00:01:3a:ff:ba:e2:6b:b1:1f:01:23:45;
fixed-address6 2001:db8:cafe::ffff:1;
}
}
Obs.: A configuração do endereço de
gateway não é mais realizada através do servidor DHCP, mas por meio das mensagens
Router Advertisement (ICMPv6 Tipo 134) enviadas pelos roteadores. O leitor encontra mais informações sobre a configuração do roteador em outro artigo intitulado
"Anúncio de Prefixos IPv6 em Roteadores Linux". Ao utilizar um servidor DHCPv6 de natureza
stateful na rede, é importante ativar as flags
AdvManagedFlag e
AdvOtherConfigFlag na configuração do arquivo
/etc/radvd.conf, sendo que a flag
AdvAutonomous pode ser desativada (off) para impedir a autoconfiguração de endereços
(SLAAC).
4. Reserva de Empréstimo (Opcional)
Opcionalmente o administrador da rede pode reservar/fixar o lease (empréstimo) de um endereço IPv6 específico para um determinado cliente, conforme destacado em azul na configuração anterior. No contexto do IPv4 essa ação era realizada através da associação de um IPv4 com o endereço físico (MAC) do cliente, mas no IPv6 essa associação mudou. Agora a reserva é feita através da associação do endereço IPv6 com o identificador único (DUID) do cliente DHCP que é um número grande de 14 bytes. Em clientes rodando o Linux é possível localizar o DUID no arquivo /var/lib/dhcpv6/dhcp6c_duid. Em clientes Windows é possível identificar o DUID através do comando "ipconfig /all".
5. Manipulação do Serviço DHCPv6
Antes de iniciar o serviço para realizar a distribuição dinâmica de endereços IPv6 via DHCP é necessário criar o arquivo /var/lib/dhcp/dhcpd6.leases para armazenar os logs com os registros dos empréstimos realizados.
root@DHCPv6-Server:/# touch /var/lib/dhcp/dhcpd6.leases
root@DHCPv6-Server:/# service isc-dhcp-server start
[ ok ] Starting ISC DHCP Server: dhcpd.
Façam seus testes...
Samuel.