2009-07-30 120 views
1

我想知道是否可以動態添加指向動態IP地址的子域名,以及我將如何去做這件事?換句話說,「如何實現dyndns/no-ip」:-)? (我沒有得到的部分是添加/更改DNS條目......我瞭解客戶端每隔幾分鐘發送一個數據包--___-)。當然,我可以告訴我的所有用戶只使用DynDNS/No-IP,但將它與應用程序集成在一起會更酷。動態添加子域名?

感謝, 羅伯特

回答

3

正如你所說部分,方式的DynDNS等動態IP服務工作,他們根據從每幾分鐘客戶端的心跳更新其服務器的DNS記錄。

訣竅是它們使用非常短的TTL時間,以便記錄的緩存過期非常快,需要重新查詢DynDNS服務器(這使得動態IP更改快速傳播)。

如果要實現此目的,請找到提供API的DNS主機,或者用短TTL以編程方式更新您自己的服務器上的DNS。

+0

真棒;謝謝...你知道任何提供廉價的DNS託管與API的主機? – 2009-07-30 02:23:46

+0

如果您已經擁有服務器(例如,使用Windows 2003 DNS並通過WMI更新記錄),最便宜的將是您自己的,但如果您喜歡上網衝浪,我討厭將您發送給Slashdot,但是在這裏......;)http:/ /ask.slashdot.org/askslashdot/08/09/24/2215226.shtml – Brandon 2009-07-30 02:26:08

5

爲了能夠直接更新/控制域/子域的解析位置,您必須擁有自己的name server。當您在TLD(例如.com)下注冊域名時,該TLD具有域名服務器。每當客戶需要查詢IP到something.com時,他們會要求.com名稱服務器在哪裏找到something的名稱服務器。該名稱服務器反過來返回有關域或子域的數據。

當您註冊在像GoDaddyNetwork Solutions一個地方的域,並使用自己的在線工具,使其指向您的各種子域名到IP地址,你在他們域名服務器中創建條目。當客戶端請求您的域名時,根名稱服務器會通知他們使用GoDaddy的域名服務器進行檢查。如果您查看註冊服務器的配置選項,則通常會找到指定您自己的域名服務器的地方,而不是輸入域IP。設置這將告訴連接的名稱服務器將您的子域的解析推遲到該名稱服務器。很明顯,在這一點上,直接控制名稱地址解析機制,你可以做任何你喜歡的事情。

下面是open-source name servers的一個列表。還有很多其他的,從免費的OSS到定製,專有和非常昂貴的。技術上你也可以自己寫,因爲BIND是一個公共的標準格式。