DHCPv6 未更新 DNS

DHCPv6 未更新 DNS

我在 Debian 用户邮件列表中问过这个问题,但我想在这里也问一下。我在 ISC DHCP 4.3.3 和 BIND9 9.10.3 上使用 Ubuntu 16.04。

我无法让 DHCPv6 服务器更新 DNS,我不确定我遗漏了什么。据我所知,我已经设置好了一切,并尝试对配置文件进行多次更改,但没有成功。这是我的 named.conf.local 文件。我尝试使用 update-policy 和 allow-update 命令以及通过密钥和仅通过 IP 地址来允许更新,但据我所知,DHCP 服务器甚至没有尝试与 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;
#    };
};

在我的 dhcpd.conf 文件中,我指定了我的区域,并尝试过包括密钥文件、直接在文件中声明密钥,以及根本不使用密钥而只使用基于 IP 的身份验证。到目前为止,这些方法都不起作用。我还尝试过在区域声明中使用带有实际 IP 地址的 primary 和 primary6,但这没有任何区别:

#################
# 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.
}

我尝试过将各种选项和声明放在不同的范围内,但都不起作用。DHCP 服务器可以正常提供 IP 地址,但它似乎甚至没有尝试更新 AAAA 和 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

即使设置为 DEBUG,DNS 日志中也没有任何内容。有人能看出我遗漏了什么吗?如果我嗅探线路,我可以看到我的 DHCP 和 DNS 服务器之间没有任何通信,所以我不认为这是防火墙设置,因为它甚至还没有达到那个程度。

编辑: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.

这是在 ping bind 配置文件中静态设置的名称服务器。如果我尝试 ping 从 DHCP 获取 IP 地址的服务器,它无法解析名称,因为 DHCP 不会更新 BIND。

root@bllldap01:~# ping6 bllldap01
unknown host

答案1

您的反向区域声明不正确,它需要采用 BIND 配置文件的“nibble”格式,BIND 不会解析 ip6 简写符号 (2620:5:e000::a1)。

例如,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.0.e.5.0.0.0.0.2.6.2.ip6.arpa。

IPv6 反向 DNS网站可以在这里为您提供帮助。

相关内容