Sobre a sua implementação não há muito o que falar, pois ela é simples. Após instalar, basta criar um arquivo dhcpd6.conf no mesmo caminho do dhcpd.conf do IPv4 e configurar.
Instalando:
# aptitude install isc-dhcp-server
Ou você pode baixar os fontes e compilá-lo. Nas duas opções ele virá com o DHCPv6 habilitado.
Para iniciar basta digitar:
# dhcpd -6 -cf /etc/dhcp/dhcpd6.conf
Ele dará uma mensagem: "No subnet declaration for..." indicando que precisamos criar o arquivo dhcpd6.conf:
# vim /etc/dhcp/dhcpd6.conf
Não esqueça de configurar também o dhcpd.conf para IPv4. Para iniciar digite:
# dhcpd -4
Depois para iniciar, parar ou reiniciar os serviços execute o tradicional:
# /etc/init.d/isc-dhcp-server start | restart | stop
Ou:
# service isc-dhcp-server start | restart | stop
O conteúdo abaixo é somente um exemplo de um arquivo dhcpd6.conf, porém foi com esta configuração que capturei o print screen do ifconfig abaixo (Figura 9). Nos links ao final tem mais opções de configuração para dhcpd6:
#
# Arquivo de configuração dhcpd6 Debian Whezzy
#
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet6 2002::b155:0/112 {
option dhcp6.preference 0;
range6 2002::b155:1 2002::b155:fffe;
option dhcp6.name-servers 2001:db8::1;
option dhcp6.domain-search "exemplo.com";
option dhcp6.info-refresh-time 43200;
}
Após salvar e sair, execute de novo:
# dhcpd -6 -cf /etc/dhcp/dhcpd6.conf
Se após esse comando aparecer a mensagem de que não encontrou o arquivo
/var/lib/dhcp/dhcpd6.leases, é só criá-lo:
# touch /var/lib/dhcp/dhcpd6.leases
# dhcpd -6 -cf /etc/dhcp/dhcpd6.conf
Dará uma mensagem similar a essa:
Internet Systems Consortium DHCP Server 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved
For info, please visit https://www.isc.org/software/dhcp/
Wrote 0 leases to leases file.
Bound to *:547
Listening on Socket/5/eth0/2002::b155:0/112
Sending on Socket/5/eth0/2002::b155:0/112
E o DHCP6 estará funcionando.
Para ver o resultado, basta configurar a placa de rede com IP dinâmico:
# iface eth0 inet6 dhcp
E reiniciar com ifdown ethx e ifup ethx.
Agora veremos um exemplo prático de uma conversão para se atribuir um endereço IPv6 de Link Local a partir do MAC da placa de rede.
Vamos tomar como exemplo a figura abaixo, um print screen do ifconfig:

Figura 9 - Print screen do ifconfig. Fonte: o próprio autor.
Vamos tomar o MAC (endereço físico da placa de rede), na linha "Link encap:Ethernet Endereço de HW 00:53:44:e6:06:fd".
Como todos sabemos, os 6 primeiros dígitos (24 bits, 00 53 44) identificam a empresa fabricante da placa de rede e os 6 últimos dígitos são a extensão, e o endereço físico da placa de rede, (MAC - Media Access Control) é o "RG" dela o qual é único no mundo inteiro para cada interface de rede.
Foi convencionado pela IEEE que para mapear endereços MAC de 48 bits para endereços EUI-64 insere-se 16 bits, FF e FE, bem no meio do MAC entre a identificação da empresa e a identificação de extensão, assim:
00 53 44 FF FE E6 06 FD
E temos acima um endereço EUI-64.
Agora vamos converter esse endereço EUI-64 em um identificador de interface IPv6.
Foi convencionado também que temos dois bits chamados bit Universal/Local (U/L) e bit Individual/Group (I/G). O bit U/L é o sétimo bit e o bit I/G é o oitavo bit, ambos da esquerda para a direita.
Em convenção de notação posicional se escreve os dígitos mais significativos sempre a partir da esquerda, ou seja, o bit mais significativo é o primeiro bit da esquerda.
Tomando o primeiro Byte, 00, e convertendo para binário (lembrando que para converter de hexadecimal para binário primeiro converte-se para decimal, depois para binário; ou usa-se uma calculadora).
00 em hex = 00 dec = 00000000 bin
Somente a título de exemplo:
53 hex = 83 dec = 01010011 bin
Seguindo a regra da IEEE, se o bit U/L for 0 altera-se para 1 e, se for 1 altera-se para 0. Quando o bit U/L for 1 significa que o endereço será administrado localmente e quando for 0 significa que o IEEE, através da designação de uma identificação de empresa exclusiva, administrou o endereço.
Aplicando a regra: 00000000 00000010
Desconvertendo:
00000010 bin = 02 dec = 02 hex
Portanto, ficará assim:
02 53 44 FF FE E6 06 FD
Para definir o endereço de conexão local IPv6, separa-se o identificador acima em grupos de 4 separados por dois pontos, seguindo as regras de formatação de endereços IPv6 vistas anteriormente:
0253:44FF:FEE6:06FD. Acrescenta-se o prefixo de Link Local FE80 e desconsidera-se os zeros à esquerda de cada grupo de 4, ficando assim:
fe80::253:44ff:fee6:6fd/64
Confira na figura 9 a linha:
endereço inet6: fe80::253:44ff:fee6:6fd/64 Escopo:Link
E podemos ver pela linha acima que o DHCPv6 seguiu à risca a regra de criação a partir do MAC.
E o endereço inet6 de escopo global foi fornecido pelo serviço de DHCPv6, comprovando assim que uma mesma interface pode ter dois ou mais endereços IPv6.
O bit I/G quando for definido para 0 significa que o endereço é individual (de difusão ponto a ponto) e quando for definido para 1 significa que o o endereço é de grupo (de difusão seletiva).