#DNS #bind

Harte Nuß.

Ein secondary NS, obwohl er über Änderungen an der Zone benachrichtigt werden sollte, zieht sich die Zone nicht, steht seit Wochen auf dem alten Stand. Ein zweiter Scondary kam vor Wochen hinzu, der hat keine Probleme.
TL;DR: es wurden an den "alten" Secondary keine Notifies mehr gesendet, an den "neuen" aber schon.

In der globalen Section:

  notify explicit;
  also-notify {
    w.x.y.z;
    };  

in der Zone example.com steht w.x.y.z als NS-RR, es kam jetzt ein weiterer hinzu: s.t.u.v. Der soll aber nur für example.com notifiziert werden, nicht auch noch für alle anderen Zonen, deshalb steht er auch nur bei der Zone und nicht global:
zone "example.com" {
  type master;
  file "example.com";
  allow-transfer {
    key key-a;
    key key-b;
  };
  also-notify {
    s.t.u.v;
  };
};

Ich kannte eine subtile Kleinigkeit nicht: Wenn man in einer Zone also-notify setzt, wird der Wert nicht etwa an dasalso-notify aus der global section angehängt, sondern überschreibt den alten Wert. Ich hatte also w.x.y.z effektiv gelöscht.
Nachdem ich w.x.y.z in den also-notify-Block bei example.com hinzugefügt hatte, gings es sofort wieder 😀

Pro-Tipp: bei mir wurde zwar geloggt, daß notifies gesendet wurden, aber nicht, an wen. severity debug 3 brachte die Erleuchtung:

    channel notify_file {
        file "/var/log/notify.log" versions 3 size 5m;                                                                 
        # severity dynamic;
        severity debug 3; 
        print-time yes;
    };
    category notify { notify_file; };   

Man muß den bind einfach lieben!
#dns #bind

Christoph S hat dies geteilt.