在沒有 DHCP 的情況下將主機名稱推送到 DNS 伺服器

在沒有 DHCP 的情況下將主機名稱推送到 DNS 伺服器

考慮到我完全沒有運氣,我已經在谷歌上搜尋了與這個問題相關的任何術語,這甚至可能是不可能的,但是:

是否有合理的標準方法可以在電腦上設定主機名,並將該主機名稱「推送」到基於 BIND 的 DNS 伺服器,而不是相反?

背景:

DHCP 在這種特定環境中被禁止,因此我需要想出一種替代方法來快速部署系統。我幾乎只是用 Puppet 和 Web UI 來組合一些東西來自動填入主機名,但來自客戶端的推播會更容易自動化(從那時起我所需要接觸的只是安裝程式中的一個對話框)。

所有相關的客戶端系統都是基於 Linux 的。

答案1

我不知道是否有一套標準方法,但假設 BIND 伺服器配置為允許動態更新,您可以在啟動時(或在 cron 作業上)執行 shell 腳本來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

如果您需要安全性更新,您可以建立金鑰對並指定 key nsupdate -k <keyfile> -v /tmp/dnsupdate。您還可以透過將主機名稱和 IP 資訊作為腳本的一部分拉入變數來使腳本更加通用和可用。

相關內容