BIND 9.16.1-Ubuntu‘::1/64’:地址/前缀长度不匹配‘64’

BIND 9.16.1-Ubuntu‘::1/64’:地址/前缀长度不匹配‘64’

我设置了一个新的 ubuntu 20.04 服务器并安装了 BIND 9.16.1-Ubuntu。然后我从运行 BIND 9.10.3-P4-Ubuntu 的旧 ubuntu 16.04.7 复制了绑定配置。

当我尝试在新服务器上启动绑定时出现此错误。

/etc/bind/named.conf.options:15: '::1/64': address/prefix length mismatch '64'

这是我的 /etc/bind/named.conf.options 文件。

options {
        directory "/var/cache/bind";
        dnssec-validation auto;
        auth-nxdomain no;

        dump-file "/var/cache/bind/named_dump.db";
        statistics-file "/var/cache/bind/named.stats";

        listen-on port 53 { 0.0.0.0/0; };
        listen-on-v6 port 53 { any; };
        allow-query { 0.0.0.0/0; ::/0; };
        version "DNS";

        allow-recursion {
                127.0.0.0/8;            ::1/64;
                10.10.0.0/24;           1000:1000:1000:1000::/56;
        };

        allow-transfer {
                127.0.0.1;              ::1;
        };

        disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa";

        notify yes;
        masterfile-format text;
};

这个前缀有什么问题?

bind 9.16 中发生了哪些变化,导致同一个文件可以与 bind 9.10 完美兼容?

答案1

在选项中的许多地方,您可以管理允许哪些设备或哪些网络与 DNS 服务器进行交易。
指定单个 IP 地址时,您需要使用二进制全 1 掩码,对于 IPv4(CIDR /32)长度为 32 位,对于 IPv6(CIDR /128)长度为 128 位,或者省略掩码。
如果您要指定网络,则不应过度指定。

::1是 IP 地址,而掩码/64则表示网络,因此掩码已超出指定范围。
如果您希望使用::1IP 地址,则应/128像“allow-transfer”部分中那样省略掩码。

1000:1000:1000:1000::/56子网不正确,因为它属于 IETF 保留的范围

全局单播地址在2000::/3范围内,
唯一本地单播fc00::/7
链路范围单播fe80::/10
多播ff00::/8
其他地址保留。
如果您在网络中不使用 IPv6,我建议将它们从配置中删除。

相关内容