Angesichts meines völligen Pechs beim Googeln von Begriffen zu dieser Frage ist dies möglicherweise nicht einmal möglich, aber:
Gibt es eine einigermaßen standardisierte Methode, um auf einem Computer einen Hostnamen festzulegen und diesen Hostnamen an einen BIND-basierten DNS-Server zu „pushen“ und nicht umgekehrt?
Hintergrund:
DHCP ist in dieser speziellen Umgebung verboten, daher muss ich mir eine alternative Möglichkeit einfallen lassen, um Systeme schnell bereitzustellen. Ich bin kurz davor, einfach etwas mit Puppet und einer Web-Benutzeroberfläche zusammenzuhacken, um das Auffüllen von Hostnamen zu automatisieren, aber ein Push vom Client wäre einfacher zu automatisieren (da ich dann nur einen Dialog im Installationsprogramm anfassen müsste).
Alle betroffenen Clientsysteme basieren auf Linux.
Antwort1
Ich weiß nicht, ob es eine festgelegte Standardmethode gibt, aber vorausgesetzt, der BIND-Server ist so konfiguriert, dass dynamische Updates zulässig sind, können Sie beim Start (oder bei einem Cron-Job) ein Shell-Skript ausführen, um nsupdate
den Datensatz zu aktualisieren.
#!/bin/bash
ECHO server <mydnsserver> > /tmp/dnsupdate
ECHO "zone <mydomain>" >> /tmp/dnsupdate
ECHO "update delete my.fqdn.com A" >> /tmp/dnsupdate
ECHO "update add my.fqdn.com 60 A myipaddress" >> /tmp/dnsupdate
ECHO "send" >> /tmp/dnsupdate
ECHO "zone <ipnetwork-inaddr.arpa.>" >> /tmp/dnsupdate
ECHO "update delete <myip.in-addr.arpa> PTR <my.fqdn.com>" >> /tmp/dnsupdate
ECHO "update add <myip.inaddr.arpa. 60 PTR <my.fqdn.com>" >> /tmp/dnsupdate
ECHO "send" >> /tmp/dnsupdate
nsupdate -v /tmp/dnsupdate
Wenn Sie sichere Updates benötigen, können Sie ein Schlüsselpaar erstellen und den Schlüssel angeben nsupdate -k <keyfile> -v /tmp/dnsupdate
. Sie können das Skript auch allgemeiner und benutzerfreundlicher gestalten, indem Sie den Hostnamen und die IP-Informationen als Teil des Skripts in Variablen ziehen.