Dns Nsupdate,获取坏键错误

Dns Nsupdate,获取坏键错误,dns,bind,Dns,Bind,我试图使用从名称服务器本身执行的nsupdate更新名称,但收到错误消息 ;服务器出现TSIG错误:TSIG表示错误 我用dnssec keygen-a hmac-md5-b 512-n HOST-r/dev/uradom dyn.mydomain.com创建了一个密钥。并将秘密复制到named.conf中 我的named.conf如下所示 key "dyn.mydomain.com." { algorithm hmac-md5; secret "T2DjtGkGAzPAVrL6za

我试图使用从名称服务器本身执行的
nsupdate
更新名称,但收到错误消息
;服务器出现TSIG错误:TSIG表示错误

我用dnssec keygen-a hmac-md5-b 512-n HOST-r/dev/uradom dyn.mydomain.com创建了一个密钥。并将秘密复制到named.conf中

我的named.conf如下所示

key "dyn.mydomain.com." {
   algorithm hmac-md5;
   secret "T2DjtGkGAzPAVrL6zar9GpxjNQ1iOjJzWKhPsF5gu0xQbaONhK7ZmC0n WKatgbGEHqla1uoxG3FdktQPolMIjQ==";
};
zone "dyn.mydomain.com." {
   type master;
   file "/var/cache/bind/dyn.mydomain.com.hosts";
   allow-update {
       key "dyn.mydomain.com.";
   };
};
文件dyn.mydomain.com.hosts如下所示:

$ORIGIN .
$TTL 8400       ; 2 hours 20 minutes
dyn.mydomain.com  IN SOA  ns. root. (
                           2007072513 ; serial
                           7200       ; refresh (2 hours)
                           900        ; retry (15 minutes)
                           1857600    ; expire (3 weeks 12 hours)
                           8400       ; minimum (2 hours 20 minutes)
                           )
                   NS      ns.dyn.mydomain.com.
$ORIGIN dyn.mydomain.com.
ns                      A       [ip of this name server]
$TTL 60 ; 1 minute
我重新启动bind9,然后使用

nsupdate -v -d -k /etc/bind/Kdyn.mydomain.com.+157+53489.private
> server localhost
> zone dyn.mydomain.com
> update add test.dyn.mydomain.com IN A 80.80.80.80
> send

Sending update to 127.0.0.1#53
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:  50553
;; flags: ; ZONE: 1, PREREQ: 0, UPDATE: 1, ADDITIONAL: 1
;; ZONE SECTION:
;dyn.mydomain.com.                   IN      SOA

;; UPDATE SECTION:
test.dyn.mydomain.com.       60      IN      A       80.80.80.80

;; TSIG PSEUDOSECTION:
dyn.mydomain.com.            0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1325777156 300 16 5k3AkgLuCziNKtaeb39MRE== 50553 NOERROR 0

; TSIG error with server: tsig indicates error

Reply from update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOTAUTH, id:  50553
;; flags: qr ra ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 1
;; TSIG PSEUDOSECTION:
dyn.mydomain.com.            0       ANY     TSIG    hmac-md5.sig-alg.reg.int. 1325777156 300 0  50553 BADKEY 0
nsupdate-v-d-k/etc/bind/Kdyn.mydomain.com.+157+53489.private
>服务器本地主机
>zone dyn.mydomain.com
>在80.80.80.80中更新add test.dyn.mydomain.com
>发送
正在将更新发送到127.0.0.1#53
传出更新查询:
;; ->>领班
似乎是错的


从.private文件复制“Key:”后面的一个秘密。

我想在这里继续,因为我遇到了这个特殊问题,我可以比“你的秘密似乎是错误的”更好地解释解决方案,尽管我无意冒犯。由于某种原因,
dnssec keygen
在我的私钥中间插入了一个错误的空格(
)。当我消除了这个空间(就像你在这里的秘密),世界上一切都很好。试着去掉你的秘密中的小空间:

secret "T2DjtGkGAzPAVrL6zar9GpxjNQ1iOjJzWKhPsF5gu0xQbaONhK7ZmC0n WKatgbGEHqla1uoxG3FdktQPolMIjQ==";
。。。实际上可能是:

secret "T2DjtGkGAzPAVrL6zar9GpxjNQ1iOjJzWKhPsF5gu0xQbaONhK7ZmC0nWKatgbGEHqla1uoxG3FdktQPolMIjQ==";

我意识到这是一个古老的问题,但这个特殊的问题帮助我解决了我的问题,那就是空白。

另一个常见的问题,密钥名称不匹配,生成的名称: dnssec keygen提供的名称必须与命名的.conf.local的密钥名称相同

例如:

dnssec-keygen -a hmac-md5 -b 512 -n HOST -r /dev/urandom dyn.mydomain.com.
将不会使用此配置飞行:

key "key.mydomain.com." {
   algorithm hmac-md5;
   secret "T2DjtGkGAzPAVrL6zar9GpxjNQ1iOjJzWKhPsF5gu0xQbaONhK7ZmC0n WKatgbGEHqla1uoxG3FdktQPolMIjQ==";
};

拖尾。对于末尾的键名,似乎没有产生问题。

注意到这可能更好地放在serverfault.com中:这里的这个可以关闭
key "key.mydomain.com." {
   algorithm hmac-md5;
   secret "T2DjtGkGAzPAVrL6zar9GpxjNQ1iOjJzWKhPsF5gu0xQbaONhK7ZmC0n WKatgbGEHqla1uoxG3FdktQPolMIjQ==";
};