考慮到我完全沒有運氣,我已經在谷歌上搜尋了與這個問題相關的任何術語,這甚至可能是不可能的,但是:
是否有合理的標準方法可以在電腦上設定主機名,並將該主機名稱「推送」到基於 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 資訊作為腳本的一部分拉入變數來使腳本更加通用和可用。