web-dev-qa-db-fra.com

BIND 9'S NSUPDATE DYNDNS Mise à jour donne: "TSIG Vérifier l'échec (Badkey)"

J'ai nettoyé autant de pages howto sur DDNS pour essayer de résoudre ce problème ... je suis une perte.

WorkstationX = Centos 6.2 x64 ServerX = Ubuntu 12.04 lts x64

Je ne comprends pas pourquoi ça ne marche pas ... je suis littéralement à l'abri des idées. J'ai régénéré et j'ai tout reconfiguré à plusieurs reprises.

Je me suis assuré:

Certains d'entre eux ont varié des moyens de générer la clé, mais le reste est le même ... et toujours, quand j'essaie Nsupdate - même sur le serveur où DNSSEC-Keygen a été exécuté (et où BIND est), je reçois le même journal Entrées:

Aug 14 11:20:38 vps named[31247]: 14-Aug-2013 11:20:38.032 security: error: client 127.0.0.1#29403: view public: request has invalid signature: TSIG domain2.com.au.: tsig verify failure (BADKEY)

de ce nsupdate:

nsupdate -k Kdomain2.com.au.+157+35454.key
server localhost
zone domain2.com.au.
update add test.domain2.com.au. 86400 IN A 10.20.30.40
show
send

Ce que je rassemble est la méthode générée correcte:

dnssec-keygen -a HMAC-MD5 -b 512 -n Host domain2.com.au.

nommé.conf (IPS a été changé pour la vie privée):

acl ipv4                { 0.0.0.0/0; };
acl ipv6                { 2000::/3; ::1; fe80::/10; fec0::/10; };
acl safehosts           { 127.0.0.0/8; 3.2.2.40; 44.44.14.12; };

include "/etc/bind/rndc.key";

controls {
        inet * port 953
        allow { safehosts; } keys { "rndc-key"; };
};

options
{
        auth-nxdomain           yes;
        empty-zones-enable      no;
        zone-statistics         yes;
        dnssec-enable           yes;
        listen-on               { any; };
        listen-on-v6            { any; };
        directory               "/etc/bind/db";
        managed-keys-directory  "/etc/bind/keys";
        memstatistics-file      "/etc/bind/data/bind.memstats";
        statistics-file         "/etc/bind/data/bind.qstats";
};

logging
{
## CUT ##
};

view "public"
{
    recursion           yes;
    allow-query-cache   { safehosts; };
    allow-recursion     { safehosts; };

zone "." IN {
    type            hint;
    file            "root.zone";
};

zone "0.0.127.in-addr.arpa" {
    type            master;
    allow-update    { none; };
    allow-transfer  { none; };
    file            "0.0.127.in-addr.arpa.zone";
};

zone "localhost" {
    type            master;
    allow-update    { none; };
    allow-transfer  { none; };
    file            "localhost.zone";
};

zone "3.2.2.in-addr.arpa" {
    type            master;
    allow-update    { none; };
    allow-transfer  { none; };
    file            "3.2.2.in-addr.arpa.zone";
};

zone "domain1.com.au" {
    type            master;
    notify          yes;
    allow-update    { key "rndc-key"; };
    allow-transfer  { key "rndc-key"; };
    file            "domain1.com.au.zone";
};

zone "domain2.com.au" {
    type            master;
    notify          yes;
    allow-update    { key "rndc-key"; };
    allow-transfer  { key "rndc-key"; };
    file            "doomain2.com.au.zone";
};
};

/etc/bind/rndc.key:

key "rndc-key" {
    algorithm hmac-md5;
    secret "vZwCYBx4OAOsBrbdlooUfBaQx+kwEi2eLDXdr+JMs4ykrwXKQTtDSg/jp7eHnw39IehVLMtuVECTqfOwhXBm0A==";
};

Kdomain1.com.au. + 157 + 35454.private

Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: vZwCYBx4OAOsBrbdlooUfBaQx+kwEi2eLDXdr+JMs4ykrwXKQTtDSg/jp7eHnw39IehVLMtuVECTqfOwhXBm0A==
Bits: AAA=
Created: 20130814144733
Publish: 20130814144733
Activate: 20130814144733
8
Litch

nsupdate a quelques bizarreries et suppose une certaine convention de dénomination lorsqu'elle a appelé avec -k. De la page Homme, je pense que votre nom de clé pourrait en quelque sorte être appelé domain2.com.au.

Pourriez-vous essayer ce qui suit?

nsupdate -y \
  'rndc-key:vZwCYBx4OAOsBrbdlooUfBaQx+kwEi2eLDXdr+JMs4ykrwXKQTtDSg/jp7eHnw39IehVLMtuVECTqfOwhXBm0A=='
3
Wil Tan

Vous devez utiliser le nom de la clé que vous avez créé la clé avec le nom de la configuration. D'après ce que je peux voir, vous devez utiliser:

key "domain2.com.au" {
   [...]
}

De la Documentation BIND :

pour vérifier que les demandes entrantes ont été signées avec une clé correspondant à ce nom, algorithme et secret .

2
neingeist