如何在BIND中添加DNSSEC签名的DS记录?

如何在BIND中添加DNSSEC签名的DS记录?,dns,bind,named,Dns,Bind,Named,全部(我的英语不好,对不起。) 让我们开始 我使用BIND9创建了自己的DNS服务器 已安装:bind-bind-utils-bind-chroot 我的服务器ip是(示例ip):123.456.789.123 一切正常。(没有cpu超过100%),但我每天都会遇到这个错误 named[17203]: error (chase DS servers) resolving 'example.com/DS/IN': 123.456.789.123#53 我想这意味着在我的example.com中找

全部(我的英语不好,对不起。)

让我们开始

我使用BIND9创建了自己的DNS服务器

已安装:bind-bind-utils-bind-chroot

我的服务器ip是(示例ip):123.456.789.123

一切正常。(没有cpu超过100%),但我每天都会遇到这个错误

named[17203]: error (chase DS servers) resolving 'example.com/DS/IN': 123.456.789.123#53
我想这意味着在我的example.com中找不到DS记录。 我试图搜索这个错误,有些人说我必须关闭dnssec,但为什么? 所以,我试图找到如何修复这个错误,我在这里得到了一些非常好的解释站点

我遵循以上网站的所有说明,它是有效的!对我来说,我签了DNSSEC! 我有DNSKEY和RRSIG的记录

zone example.com/IN/internal: loaded serial 31125225 (DNSSEC signed)
但我遇到了新问题!新问题是。。。。使用此命令时(示例)

它将创建签名文件,如下所示“example.com.signed”“dsset example.com”。

在文件“dsset example.com”中有my example.com的DS记录。 但是当我尝试使用“dsset example.com”中的DS记录时(如下所示)

并插入到我的“example.com.zone”文件中,当我再次尝试(退出)dnssec signzone时,我收到如下错误消息:

dnssec-signzone: fatal: 'example.com': found DS RRset without NS RRset
$TTL    3h
$ORIGIN example.com.
@  1D                     IN SOA  ns1.example.com.    hostmaster.example.com. (
                                        2011051202      ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1H )            ; minimum
@  3600                   IN NS           ns1.example.com.
; Domain Keys
default._domainkey        IN TXT         ( "v=DKIM1; k=rsa; "
                                           "p=A0GCSq................G/o+Q" )
; NS
example.com.              IN NS           ns1.example.com.
; DNS Records
example.com.              IN A            123.456.789.123
localhost                 IN A            127.0.0.1
ns1                       IN A            123.456.789.123
www                       IN A            123.456.789.123
; DNSSEC KEY FROM Kexample.com.+....key
example.com. IN DNSKEY 256 3 5 CH....................bYd+mARYse.................VCb
example.com. IN DNSKEY 257 3 5 qX....................TYPDIsfso.................cEers
我不知道如何将DS记录添加到example.com.zone文件中,而不会出现out dnssec signzone错误。 我想如果我能做到这一点,错误消息:error(chase DS servers)解析'example.com/DS/IN'可能会消失

是否必须为DS记录创建submain.example.com?我不能肯定。所以,如果你们知道如何解决这个问题,请告诉我

非常感谢你

my:/etc/named.conf

acl "trusted" {
        127.0.0.1;
        123.456.789.123;
};

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { none; }; # I don't have IPv6
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        auth-nxdomain no;
        allow-query { localhost; any; };
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        check-names master ignore;
};

logging {
        channel default_debug {
                file "data/named.run" size 5m;
                severity dynamic;
                print-time yes;
        };

        category default { default_debug; };
};

include "/etc/rndc.key";

controls {
        inet 127.0.0.1 allow { localhost; }
        keys { "rndc-key"; };
};

view "localhost_resolver" {
        match-clients { localhost; };
        match-destinations { localhost; };
        recursion yes;
        empty-zones-enable yes;

        // all views must contain the root hints zone
        include "/etc/named.root.hints";
        include "/etc/named.rfc1912.zones";
};

view "internal" {
        match-clients { trusted; };     # match hosts in acl "trusted" above
        recursion yes;                  # allow recursive queries
        allow-recursion { trusted; };
        allow-transfer { trusted; };
        notify no;                      # disable AA notifies
        empty-zones-enable yes;

        // all views must contain the root hints zone
        include "/etc/named.root.hints";
        include "/etc/named.domains";
};

view "external" {
        match-clients { any; };
        recursion no;
        allow-transfer { none; };

        // all views must contain the root hints zone
        include "/etc/named.root.hints";
        include "/etc/named.domains";
};
文件/etc/named.root.hints是:

// all views must contain the root hints zone
zone "." IN {
        type hint;
        file "named.ca";
};
my/etc/named.domains文件: (替换为签名文件“example.com.signed”)

我的example.com区域文件(如下所示):


此站点应具有标记dnssec,但此站点需要超过1500的声誉才能创建新标记:(

答案是,我认为:你不能。你不应该。DS记录应该交给你的域注册商,他们应该发布它们。这个想法是DS记录建立一个信任链,从最顶端的根域服务器,通过你的注册商,到你。没有信任链,你可能是…谁知道…某个劫机者发布了一个伪造的区域,恰好是dnssec签署的(因此看起来“合法”)答案是,我认为:你不能。你不应该。DS记录应该给你的域注册商,他们应该发布它们。这个想法是DS记录建立一个信任链,从最顶端的根域服务器,通过你的注册商,到你。没有信任链,你可能是…谁知道…某个劫机者发布了一个伪造的区域,恰好是dnssec签署的(因此看起来“合法”)

// all views must contain the root hints zone
zone "." IN {
        type hint;
        file "named.ca";
};
zone "example.com" IN {
        type master;
        file "example.com.signed";
        allow-update { none; };
};
$TTL    3h
$ORIGIN example.com.
@  1D                     IN SOA  ns1.example.com.    hostmaster.example.com. (
                                        2011051202      ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1H )            ; minimum
@  3600                   IN NS           ns1.example.com.
; Domain Keys
default._domainkey        IN TXT         ( "v=DKIM1; k=rsa; "
                                           "p=A0GCSq................G/o+Q" )
; NS
example.com.              IN NS           ns1.example.com.
; DNS Records
example.com.              IN A            123.456.789.123
localhost                 IN A            127.0.0.1
ns1                       IN A            123.456.789.123
www                       IN A            123.456.789.123
; DNSSEC KEY FROM Kexample.com.+....key
example.com. IN DNSKEY 256 3 5 CH....................bYd+mARYse.................VCb
example.com. IN DNSKEY 257 3 5 qX....................TYPDIsfso.................cEers