Передача имен хостов на DNS-сервер без DHCP

Передача имен хостов на DNS-сервер без DHCP

Учитывая полное отсутствие удачи при поиске в Google терминов, связанных с этим вопросом, это может быть даже невозможно, но:

Существует ли достаточно стандартный способ задать имя хоста на машине и «передать» это имя хоста на DNS-сервер на базе BIND, а не наоборот?

Фон:

DHCP запрещен в этой конкретной среде, поэтому мне нужно придумать альтернативный способ быстрого развертывания систем. Я близок к тому, чтобы просто состряпать что-то с Puppet и веб-интерфейсом для автоматизации заполнения имен хостов, но push-уведомление от клиента было бы проще автоматизировать (поскольку тогда мне пришлось бы коснуться только одного диалога в установщике).

Все рассматриваемые клиентские системы основаны на Linux.

решение1

Я не знаю, существует ли какой-то стандартный способ, но если сервер BIND настроен на разрешение динамических обновлений, вы можете запустить скрипт оболочки при запуске (или в задании cron) для nsupdateобновления записи.

#!/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

Если вам нужны защищенные обновления, вы можете создать пару ключей и указать ключ nsupdate -k <keyfile> -v /tmp/dnsupdate. Вы также можете сделать скрипт более универсальным и удобным, вытащив информацию об имени хоста и IP как часть скрипта в переменные.

Связанный контент