Domain-Name-System
共享主機的動態 DNS - 它存在嗎?
某些家庭路由器韌體似乎設計為與動態 DNS 服務(例如 noip 和 dyndns)一起使用,以從消費者 ISP 後面的伺服器提供子域。同樣,是否有任何動態 dns 服務可以與共享網路託管帳戶一起使用?
例子
例如,Dreamhost 有一個 API 可以檢索域名的 IP 地址。理論上,動態 DNS 服務會定期向 Dreamhost API 請求網站的 IP 地址。如果 Dreamhost 上的 IP 地址發生變化,DNS 主機會在發現差異後立即自動對該網站的區域文件進行必要的更改。
為什麼?
過去,我在共享主機上支付了靜態 IP 地址,我的域名在 GoDaddy 註冊,名稱伺服器設置為 EveryDNS。由於共享主機發生災難性硬體故障,我的站點被移動,IP 地址也發生了變化。
在上面的範例設置中,DNS 記錄會自動更新。相反,我不得不手動更新我的 A 記錄。
問題總結
- 是否有允許這樣做的動態 DNS 託管服務和共享網路主機?
- 上述範例中提出的解決方案是否可行?
- 獎勵(冒著暴露我對這個主題的無知的風險):除了 DNS 之外,還有其他方法可以檢測網站的 IP 地址嗎?也許您共享主機目錄中的腳本可以檢測到 IP 更改並通知 DNS 主機?
提前致謝!
您已經提到過 DynDNS,聽起來您所缺少的只是客戶端。他們在他們的網站上提到了幾個與 linux 兼容的客戶端。
- ddclient
- 不耐煩
將其中任何一個與動態 DNS 服務結合使用應該可以實現您想要的。
我最初假設您的共享主機將為您提供 shell 訪問權限。如果沒有 shell 訪問,事情會變得有點棘手。首先,您需要一些方法來定期執行腳本。一些網路應用程序通過在每次頁面載入時調案常式來實現“假 cron”,但是當您的網站無法訪問時,這將無濟於事。這意味著您需要訪問 crontab。
如果您有能力定期執行任務,您可以開發一個腳本,將新 IP 地址發送到您控制的另一台主機,這也是權威 DNS。接收主機將使用新 IP 地址更新區域文件,然後重新載入 DNS 配置。
TL;DR 不,我不知道有任何服務已經提供此功能。