Perguntei isso na lista de discussão Usuários do Debian, mas pensei em perguntar aqui também. Estou usando o Ubuntu 16.04 no ISC DHCP 4.3.3 e no BIND9 9.10.3.
Estou tendo problemas para fazer com que meu servidor DHCPv6 atualize o DNS e não tenho certeza do que estou perdendo. Pelo que posso dizer eu tenho tudo configurado e tentei inúmeras alterações para o arquivo de configuração sem sucesso. Aqui está o meu arquivo named.conf.local. Eu tentei permitir atualizações com os comandos update-policy e allow-update, bem como através de uma chave e apenas pelo endereço IP, mas tanto quanto eu posso dizer, o servidor DHCP não está nem tentando se comunicar com o servidor DNS :
root@blldns01:~# cat /etc/bind/named.conf.local
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
include "/etc/bind/zones.rfc1918";
include "/etc/bind/Kddns-aaaa-rrs.+157+11111.private";
include "/etc/bind/Kddns-ptr-rrs.+157+11111.private";
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret "XXXXXXXXXXXXXXXX==";
};
zone "appendata.net" in {
type master;
notify yes;
file "/var/lib/bind/db.appendata.net";
allow-update { 2620:5:e000:201e::4:1; };
# allow-update { key DHCP_UPDATER; };
# update-policy {
# grant "ddns-aaaa-rrs" self * AAAA TXT DHCID;
# };
};
zone "0.0.0.e.5.0.0.0.0.2.6.2.IP6.ARPA" in {
type master;
notify yes;
file "/var/lib/bind/db.2620.5.e000";
allow-update { 2620:5:e000:201e::4:1; };
# allow-update { key DHCP_UPDATER; };
# update-policy {
# grant "ddns-ptr-rrs" self * PTR TXT DHCID;
# };
};
No meu arquivo dhcpd.conf eu tenho minhas zonas especificadas e tentei incluir o arquivo de chave, declarando a chave diretamente no arquivo, e simplesmente não usando as chaves e apenas usando autenticação baseada em IP. Nada disso funcionou até agora. Eu também tentei usar primary e primary6 com o endereço IP real em minhas declarações de zona, mas isso não fez nenhuma diferença:
#################
# DDNS SETTINGS #
#################
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-updates on;
ddns-update-style interim;
allow client-updates;
ddns-domainname "appendata.net.";
ddns-rev-domainname "ip6.arpa.";
do-forward-updates on;
# Include keys used to securely communicate with the DNS server.
include "/etc/keys/Kddns-aaaa-rrs.+157+11111.private";
include "/etc/keys/Kddns-ptr-rrs.+157+11111.private";
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret "XXXXXXXXXXXXXXXXXXX==";
};
# Configuring zones for ddns-updates.
zone appendata.net. {
primary ns1-int.appendata.net;
# primary6 2620:5:e000::a1;
# key DHCP_UPDATER; # AAAA DNS key for RR's.
}
zone 0.0.0.e.5.0.0.0.0.2.6.2.ip6.arpa. {
primary ns1-int.appendata.net;
# primary6 2620:5:e000::a1;
# key DHCP_UPDATER; # PTR DNS key for RR's.
}
Eu tentei colocar várias opções e declarações em diferentes escopos, mas nada disso funcionou. O servidor DHCP fornece um endereço IP muito bem, mas não parece que esteja tentando atualizar os registros AAAA e PTR.
Jul 25 10:22:56 blldhcp01 dhcpd[1489]: Solicit message from fe80::216:3eff:fe32:2d49 port 546, transaction ID 0x9D08B00
Jul 25 10:22:56 blldhcp01 dhcpd[1489]: Picking pool address 2620:5:e000:201e:0:1:b41e:f2fe
Jul 25 10:22:56 blldhcp01 dhcpd[1489]: Advertise NA: address 2620:5:e000:201e:0:1:b41e:f2fe to client with duid 00:01:00:01:21:0a:2b:43:00:16:3e:32:2d:49 iaid = 1043475785 valid for 2419200 seconds
Jul 25 10:22:56 blldhcp01 dhcpd[1489]: Sending Advertise to fe80::216:3eff:fe32:2d49 port 546
Jul 25 10:22:57 blldhcp01 dhcpd[1489]: Request message from fe80::216:3eff:fe32:2d49 port 546, transaction ID 0x6C757900
Jul 25 10:22:57 blldhcp01 dhcpd[1489]: Reply NA: address 2620:5:e000:201e:0:1:b41e:f2fe to client with duid 00:01:00:01:21:0a:2b:43:00:16:3e:32:2d:49 iaid = 1043475785 valid for 2419200 seconds
Jul 25 10:22:57 blldhcp01 dhcpd[1489]: Sending Reply to fe80::216:3eff:fe32:2d49 port 546
E não há nada nos registros do DNS, mesmo quando definido como DEBUG. Alguém pode ver o que estou perdendo. Se eu farejar o fio, posso ver que não há comunicação entre os meus servidores DHCP e DNS, então eu não acho que seja uma configuração de firewall, já que não está chegando tão longe.
Editar: As zonas de pesquisa direta e inversa estão funcionando corretamente para o DNS.
root@bllldap01:~# ping6 ns1-int
PING ns1-int(blldns01.appendata.net) 56 data bytes
64 bytes from blldns01.appendata.net: icmp_seq=1 ttl=64 time=0.101 ms
64 bytes from blldns01.appendata.net: icmp_seq=2 ttl=64 time=0.095 ms
root@blldns01:~# host 2620:5:e000::a1
1.a.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.5.0.0.0.0.2.6.2.ip6.arpa domain name pointer blldns01.appendata.net.
Isso está pingando o servidor de nomes que é estaticamente configurado nos arquivos de configuração do bind. Se eu tentar fazer ping em um servidor que obteve um endereço IP do DHCP, ele não poderá resolver o nome, porque o DHCP não está atualizando o BIND.
root@bllldap01:~# ping6 bllldap01
unknown host