你如果有在 google domains 上買過 domain 的話,那千萬不要錯過 google 自家附帶的 ddns 功能。 因為老牌的 ddns service provider 比如說 no-ip,不是收費了,就是使用條件變得嚴苛,google domains 附贈的 ddns 簡單又好用,剛好可以補上這一塊。
- 首先登入你的 google domains
- 點擊 DNS,選擇 『 綜合記錄 』-> 『 動態DNS 』,填入你想要設定的 ddns domain name,然後按新增
新增之後,會重刷頁面,你會發現你新增的 DDNS 已經掛在頁面上方,點擊左上角的 “>” 號,你會發現一組打上*號的帳號密碼,點擊『查看憑證』,帳號密碼的明文會顯示出來,那就是我們要的東西。
透過以下的 shell script 你就可以刷新該組 DDNS record 對應的 IP 我們假設你的查看憑證裡的使用者名稱&密碼分別是 “user1” & “mypassword”,你設定的 ddns domain name 是 ddns01.example.com,那你的 shell script 應該會長這樣
USERNAME="user1" PASSWORD="mypassword" HOSTNAME="ddns01.example.com" IP=$(curl -s "https://domains.google.com/checkip") URL="https://${USERNAME}:${PASSWORD}@domains.google.com/nic/update?hostname=${HOSTNAME}&myip=${IP}" curl -s $URL
把上面的資料另存為 update_ip.sh,當你需要更新 ddns record 的時候就執行一下,或是你要寫成 cron job 也可以
- 因為 google domains 他是支援標準 dyndns2 協議的,所以如果你的 router 有支援 dyndns2,那就更方便了,資料直接填一填就好,下圖是以華碩的 wifi router 做例子。
不過華碩 … 唉,變成中國的形狀之後大家小心一點,我個人是不會再買他們的任何產品。