Hallo,
vor einer Weile war ja hier die Diskussion um dynamische DNS-Updates. Ich hatte behauptet, daß neuere Binds da etwas flexibler sind, als nur auf Basis einer IP oder eines TSIG-Keys Updates zu erlauben (oder zu verbieten).
Jetzt habe ich das noch mal überflogen - nicht probiert!. In Kurzform hier meine Erkenntnis (Plural will ich gar nicht verwenden).
Seit Bind9 gibt es nicht nur „allow-update { … }“, sondern auch „update-policy { … }“ innerhalb von „zone … { … }“. Vorausetzung ist die Verwendung von (TSIG-)Keys.
Mit dieser update-policy kann ich bestimmten Keys das Aktualisieren bestimmter Namen erlauben (oder verbieten).
zone "xxx.de" { type master; file "/var/lib/bind/xxx.de"; update-policy { // genau der Key best.xxx.de darf für seinen eigenen Namen // den A-Record eintragen grant best.xxx.de. self best.xxx.de. A;
// alle Keys, die auf *.xxx.de. passen, dürfen jeweils // für ihren eigenen Namen einen A-Record eintragen. grant *.xxx.de. self *.xxx.de. A; }; };
Der String nach „self“ ist nicht optional, wohl aber sein Inhalt. Zum Aktualisieren der PTR-Records gibt es eine etwas lasche Erklärung, die will ich hier nicht wiedergeben. Es sieht so aus, als muß ich mal ein Beispiel zusammenbauen, wird aber nicht mehr heute werden.
Quelle dieser Darstellung ist „DNS and Bind“, das Grasshopper-Buch.
Heiko Schlittermann hs@schlittermann.de (Fr 05 Nov 2010 21:01:34 CET): (…)
Der String nach „self“ ist nicht optional, wohl aber sein Inhalt. Zum Aktualisieren der PTR-Records gibt es eine etwas lasche Erklärung, die will ich hier nicht wiedergeben. Es sieht so aus, als muß ich mal ein Beispiel zusammenbauen, wird aber nicht mehr heute werden.
Jetzt habe ich das doch probiert. Es funktioniert wie oben beschrieben. Für PTR ist das natürlich alles nicht so. Die müssten im reverse-File (*.in-addr.arpa) eingetragen werden, dort kann ich zwar auch mit der update-policy einschränken, aber ich kann nicht festlegen, daß ein bestimmter Key nur einen PTR auf ein bestimmtes Objekt (also seinen eigenen Namen) anlegt. Das was dort als wildcard steht, bezieht sich auf das Label des RR.
zone "site" { type master; file "/var/lib/bind/site"; update-policy { grant * self * A PTR; }; };
zone "10.20.172.in-addr.arpa" { type master; file "/var/lib/bind/172.20.10"; update-policy { grant * wildcard *.10.20.172.in-addr.arpa PTR; }; }; ~
Das BIND ARM scheint leider auch nicht so besonders auskunftsfreudig zu sein an dieser Stelle.
lug-dd@mailman.schlittermann.de