始終遍尋不著Windows可用的HE.net Dynamic DNS更新程式。看來只能透過他們網頁所介紹的CURL了。
首先、當然得先下載CURL,下載免安裝的ZIP版本即可(若缺少normaliz.dll可在文末的範例包或者IE8的安裝檔中取得)。連線更新格式請參照HE.net DNS首頁範例,
Curl.exe "http://dyn.dns.he.net/nic/update" -d "hostname=dyn.example.com" -d "password=key" -d "myip=x.x.x.x"
hostname=後要輸入的是所設定要更新的動態域名、例如dyn.example.com
password=後要輸入的是該組域名設定的密碼(key)。注意,HE.net的動態域名與一般的動態域名更新有所差異。他們並不會要求用戶在過程中提示服務登入的帳號與密碼,而僅是針對個別的域名設定對應的密碼(key)。當新增一筆A/AAAA紀錄的同時,底下會提示Enable entry for dynamic dns,勾選後這筆A/AAAA紀錄便被設置為動態域名模式,稍後在紀錄清單中,該筆紀錄的DDNS欄位旁會多出一個圖示
,點擊便會提示輸入自訂key或者由HE.net亂數產生一組key。這組key便是用於此處作為password。
myip=後輸入動態域名所要對應的IP位址(選用)。
一般情況下只需要指定hostname與password,在更新過程同時判定所使用的公網IP位址、而不需強制以myip指定。
針對更新的IP位址類別以及HE.net設定的紀錄類別,CURL的更新指令要附帶 -4(IPv4/A) 或 -6(IPv6/AAAA),否則HE.net將無法對應於紀錄進行更新。
目前 https://dyn.dns.he.net/ 無須另行採用CAroot.org根憑證即可加密連線。
此外,若更新連結指定的協定為https(也可用無加密http),因 https://dyn.dns.he.net/ 憑證由CAcert.org簽發,若是Windows並無CAroot.org的根憑證,因此請加上參數 --cacert CAfile(含副檔名.cer或.crt),CAcert.org根憑證可由兩種方式取得
方式1.由CAcert.org網站下載Class 1 PKI key (PEM格式)。請以連結另存新檔方式下載。
方式2.透過OPENSSL,指令為OpenSSL s_client -showcerts -connect dyn.dns.he.net:443,將畫面中
2 s:/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.org
i:/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.org
以下包含-----BEGIN CERTIFICATE-----與-----END CERTIFICATE-----之間的所有字串完全複製,開啟記事本後貼上、另存為副檔名為.cer或.crt的SSL證書檔即可。
建議方式1省事許多。
將取得的根憑證檔置於CURL所在之處配合參數 --cacert CAfile(含副檔名.cer或.crt)使用。此根憑證效期至西元2033。
最後附上範例包(下載連結已失效orz),包含CURL.exe / normaliz.dll / CAcert.org 根憑證檔heddns.crt(效期至2033),以及可隱藏CURL執行視窗的CHP.exe(Create Hidden Process),藉由這個小工具引導CURL作為排程工作執行、可避免定期跳出的CMD視窗干擾。另一套Hidden Start也與CHP功能一致、並提供64bit版及其他進階功能。
若憑證檢核發生問題、欲跳過加密連線可加上參數 -k 迴避檢核。
後記:
HE.net DNS雖然聲稱歡迎提出功能建議、但一般常見而他們不提供的功能就不需要再要求了。
1.網站/網頁轉址(URL Forwarding)--可能遭濫用而不提供。
2.郵件轉送(Mail Forwarding in MX)、過濾--HE致力於專業DNS、基於業務分工、不提供此類服務。
3.Primary DNS AXFR--HE僅提供Secondary DNS服務、以AXFR取得其他Primary DNS紀錄、沒有計畫提供其他DNS以Secondary DNS角色透過AXFR取得HE DNS紀錄。
4.Windows版的Dynamic DNS更新工具--HE聲稱是以一般DynDNS規範提供更新請求協定、因此他們也沒打算提供自家的更新工具、由用戶自行尋找/開發此類工具。