2012-01-05 157 views
3

我試圖更新名稱使用nsupdate執行從名稱服務器本身,但我收到錯誤消息 ; TSIG error with server: tsig indicates errorNsupdate,得到BADKEY錯誤

我創建了一個密鑰dnssec-keygen -a hmac-md5 -b 512 -n HOST -r /dev/urandom 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 

我restadt 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 

可能是什麼原因?

+2

注意到這可能是更好地放在serverfault.com:http://serverfault.com/questions/347279/nsupdate-getting-badkey-error這一個這裏可以關閉 – stracktracer 2012-01-06 11:42:04

回答

1

我想跟進這裏,因爲我有這個特殊問題,我可以解釋一下比「你的祕密似乎是錯誤的」更好的解決方案,雖然我的意思是沒有進攻。出於某種原因,dnssec-keygen已將錯誤空間()插入到我的私鑰的中間。當我消除這個空間時(正如你在這裏的祕密),世界上一切都很好。試着在你的祕密的中間擺脫只有很小的空間有:

secret "T2DjtGkGAzPAVrL6zar9GpxjNQ1iOjJzWKhPsF5gu0xQbaONhK7ZmC0n WKatgbGEHqla1uoxG3FdktQPolMIjQ=="; 

...實際上可能是:

secret "T2DjtGkGAzPAVrL6zar9GpxjNQ1iOjJzWKhPsF5gu0xQbaONhK7ZmC0nWKatgbGEHqla1uoxG3FdktQPolMIjQ=="; 

我意識到這是一個古老的問題,但這個特殊問題幫助我解決了我的問題,這是空白。

3
secret "T2DjtGkGAzPAVrL6zar9GpxjNQ1iOjJzWKhPsF5gu0xQbaONhK7ZmC0n WKatgbGEHqla1uoxG3FdktQPolMIjQ==" 

似乎是錯的。

從.private文件複製「Key:」後面的密鑰。

0

其他常見問題,鍵名稱不匹配,生成的名稱: dnssec-keygen給出的名稱必須與named.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=="; 
}; 

尾隨。對於最終的關鍵名稱,似乎不會產生問題。