經過一番搜尋,找到方法可以設定「RouterOS-DDNS」,需要使用「DDNS」請到「No-IP」註冊免費「DDNS」。
「RouterOS」設定「DDNS」需要使用「Script」和「Scheduler」互相搭配。
PS
使用免費「No-IP」註冊「DDNS」,規定一個月內須「註冊一次」確保「有效性」。
Script 語法如下
- #===========no-ip資訊=============
- :local pppoename1 "pppoe-out1"
- :local noipuser "123456@gmail.com"
- :local noippass "123456"
- :local noiphost1 "123456.no-ip.org"
- #==========================
- :local publicip1 [/ip address get [find interface=$pppoename1] address]
- :set publicip1 [:pick $publicip1 0 [:find $publicip1 "/"]]
- :set publicip1 [:toip $publicip1]
- :local noipold1 [:resolve $noiphost1]
- :if ($publicip1!=$noipold1) \
- do={:local url "/nic/update?hostname=$noiphost1&myip=$publicip1"
- /tool fetch address=dynupdate.no-ip.com src-path=$url mode=http \
- user=$noipuser password=$noippass dst-path=("ddns-noip")
- :delay 1
- :local filestr [/file get "ddns-noip" contents]
- /file remove [/file find name="ddns-noip"]
- :if ([:find $filestr "good"]="0"||[:find $filestr "nochg"]="0") \
- do={:log warning ("更新no-ip地址: ".$publicip1)} \
- else={:log error "更新no-ip失敗!!"}}
點選「System」=>「Scripts」
點選「+」
1. 輸入「Script」名稱
2. 輸入 PPPOE「介面名稱」
3. 輸入「No-IP」登入、帳號、DDNS 資訊
PS
PPPOE 介面名稱,請參考「Interfaces」配置
執行「Script」,Run Count 會顯示「執行次數」
設定「Scheduler」15天執行「一次」
點選「System」=>「Scheduler」
點選「+」
1. 輸入「名稱」
2. 輸入「執行時間」,必須是 Hour,這裡設定 15(Day)*24(Hour)=360(Hour)
3. 輸入「/system script run xxxx」
PS
注意: xxx 為 Script Name。
注意: 執行時間不要太頻繁,否則「No-IP」將會取消「DDNS」註冊。
注意: 執行時間不要太頻繁,否則「No-IP」將會取消「DDNS」註冊。
設定完成,Start Time 就會開始計時,Interval 就會顯示「15d」
參考資料
「電訊茶室」-「自動更新 No-Ip Ddns Script!」