Назад | Перейти на главную страницу

Отправка имен хостов на DNS-сервер без DHCP

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

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

Задний план:

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

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

Я не знаю, есть ли установленный стандартный способ, но, если сервер 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-адрес как часть сценария в переменные.