前言:

  前二天拿到一台 RouterOS 的 RB450G,試玩了一下,這真是太強了 XDD,不過也因為太強了.....功能真的有複雜!!! 一般人要上手,可能需要一些時間,當然...耶魯熊也是一般人 ,所以拿到這台後,也是一顆頭....一個半大 ( 為啥是一個半大不是二個大呢,因為耶魯熊平常就愛玩一些有的沒的,所以....適應力強了些 CCC )

  不過,耶魯熊會把自己在摸索和設定的一些方法用 BLOG 記錄下來,除了方便以後自己查看,也可以讓剛踏入 RouterOS 的同好能更快速的入手

好啦,前面的癈話講完了,現在就進入正題吧CCCC

DDNS 這個應該大家都知道......至少會從 Google 用關鍵字找來這篇文章的人都知道吧~囧~ ( 什麼? 要走[新手看了也會]系列.......OH My God ~一句話,不可能 !!!!! XDD 拍謝,這個要講到新手都看得懂,耶魯熊可以出書了....XD 所以 SORRY....RouterOS 系列...沒有 [新手看了也會]系列.....至少目前沒有啦 XDD ),一般的市售 AP,都內建了 DDNS 功能,但是在 RouterOS 的 WinBox 設定中,哇哩咧,怎麼完全沒看到 !!,該不會沒支援吧~那不是好笑了!!!

原來....在 RouterOS 中,有一些在 WinBox 中看不到的設定,都可以用 Script 來處理,下面就是 DynDNS 這家 DDNS 在 RouterOS 中設定的方法:

 

001.jpg    

▲1. 進到 WinBox 中,選擇 System,再選擇 Scripts

 

 
002.jpg  

▲2. 按一下紅色的""

 

 

003.jpg  

▲3. 在 "Name" 處打上這個 Scripts 你想要命名的名字,再把下面框框內的綠字,先做一些修改

:local ddnsuser "你的DynDNS帳號"
:local ddnspass "你的DynDNS密碼"
:local ddnshost "你的完整網址名(例如:abcd.dyndns.org)"
:local ddnsinterface "要更新的介面名稱(例如:pppoe-out1)"

修改好後,再 COPY/PAST 到 Source 下的紅框內

 

#Script在RouterOS 5.0rc11中測試過
#Date:2010/04/11
#Script Name:DynDNSUpdate
#Script Describe:更新IP到DynDNS上面去
 
#定義使用者相關的變數,請於下面自行輸入
:local ddnsuser "你的DynDNS帳號"
:local ddnspass "你的DynDNS密碼"
:local ddnshost "你的完整網址名(例如:abcd.ath.cx)"
:local ddnsinterface "要更新的介面名稱(例如:pppoe-out1)"
 
#定義IP變數
:global ddnsipADSL1
:global ddnslastipADSL1
:if ([ :typeof $ddnslastipADSL1 ] = nil ) do={ $ddnslastipADSL1 "0" }
 
#取得介面的IP位置
:set ddnsipADSL1 [ /ip address get [/ip address find interface=$ddnsinterface ] address ]
#去掉IP的網段
:set ddnsipADSL1 [:pick $ddnsipADSL1 0 [:find $ddnsipADSL1 "/"]]
 
#判斷是否需要進行更新
:if ([ :typeof $ddnsipADSL1 ] = nil ) do={
   :log info ("DynDNS: " . $ddnsinterface . "介面上沒有IP,請確認")
} else={
  :if ($ddnsipADSL1 != $ddnslastipADSL1) do={
    :log info ("DynDNS:" . $ddnsinterface . "更新IP" . $ddnsipADSL1)
    :local str "/nic/update?hostname=$ddnshost&myip=$ddnsipADSL1&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"
    /tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/DynDNS.".$ddnshost)
    :delay 1
    :local str [/file find name="DynDNS.$ddnshost"];
    /file remove $str
#更新後把IP設為最新的IP
    :global ddnslastipADSL1 $ddnsipADSL1
  }
}

 

 

 

004.jpg  

▲4. 都設定好後,按一下 "OK"

 

 

005.jpg  

▲5. 在 Script List 中就會看到剛剛新增的那個 Script 囉

 

 

006.jpg  

▲6. 再來一次,選擇 System,再選擇 Scheduler

 

 

007.jpg  

▲7. 按一下紅色的""

 

 

008.jpg  

▲8. 在1.處輸入這個 Scheduler 要用的名稱,在2.處,設定多時間要RUN一次這個 Scheduler,目前是設定每 3 分鐘 RUN 一次,在 3 處輸入這個 Scheduler 要執行的指令,最後按下 "OK" 就大功告成啦

 

 

009.jpg  

▲9. 大功告成啦!!

 

若你覺得這篇分享有幫助到你,請到耶魯熊的粉絲團去按個讚吧:https://www.facebook.com/lbeartw

 

設定好後,之後每三分鐘,就會自動去更新一次 DynDNS 上的 IP,這個 Scripts 只適用 DynDNS 這家 DDNS 的服務喔~

 

文章內容部份參考 http://www.minitw.com/archives/584

 

 

 

 

文章標籤
創作者介紹

耶魯熊の軟硬兼施

耶魯熊 發表在 痞客邦 PIXNET 留言(0) 人氣()