RouterOS 自動更新版本的 Script

RouterOS要更新版本除了可以手動更新外(請參考更新與升級RouterOS的版本),也可以利用Script來進行更新。

參考mikrotik官方的wiki後,我把Script修改了一下,方便使用。

要使用前,要修改的地方只有1個:local upgradeTo “x.xx”,

把版本改成你想要更新的版本即可,例如:local upgradeTo “6.4”

執行後,Script會自動去官方網站下載符合該平台的更新檔下來,

下載完會自動重開機進行更新。

請注意:系統更新都有其風險,更新前請自行斟酌

#Script在RouterOS 6.3中測試過
#Date:2013/10/20
#Script Descript:半自動更新RouterOS的系統版本
#reference:http://wiki.mikrotik.com/wiki/Auto_upgrade_script_V3.x

#----------------------------------
#要更新到那一個版本請在這邊設定
:local upgradeTo "6.4";
#----------------------------------

# newest version
:local lMajor;
:local lMinor;

# current version
:local vMajor;
:local vMinor;

:local myVer [/system resource get version];

:for i from=0 to=([:len $myVer] - 1) do={
:if ( [:pick $myVer $i] = ".") do={
:set vMajor [:tonum [:pick $myVer 0 $i]];
:set vMinor [:tonum [:pick $myVer ($i + 1) [:len $myVer]]] ;
}
}
......以下略

完整程式碼可參考http://www.minitw.com/download/UpgradeROS.txt

21 thoughts on “RouterOS 自動更新版本的 Script

  1. 請問一下茶包大人,可以請您寫一篇如何架設PPPoE Server跟HotSpot的方法嘛?現在就是您的blog比較有寫到怎麼使用RouterOS了 ^^

  2. to Ray:
    PPPoE Server 的架設,google一下就很多資料了。
    HotSpot 則比較建議搭配Radius或ROS內的userman使用,架設的方法可能去官方網站的wiki查會比較清楚。

  3. 請問一下..
    防火牆的白名單要如何設定呢???
    如192.168.0.50~192.168.0.100
    這50個IP在DHCP範圍內..
    要讓手動打192.168.0.49的使用者也不能上網..
    幫忙指點一下..感謝..

  4. IP -> Firewall ->Filter
    先加上,Chain選forward,把允IP位置加到Src Address,Action那邊的動作選accept。

    最底下再加上一條,Chain選forward,Action那邊的動作選drop

    這樣就完成白名單的功能

  5. 茶包大你好..
    我最底下再加上這一條後 —>>> Chain選forward,Action那邊的動作選drop
    全部的IP都不能上網..
    全名單都設好了..
    請問問題出在哪呢??
    麻煩指導一下…感謝..

  6. 茶包大你好..
    我最底下再加上這一條後 —>>> Chain選forward,Action那邊的動作選drop
    全部的IP都不能上網..
    白名單都設好了..
    請問問題出在哪呢??
    麻煩指導一下…感謝..

  7. to 阿凱:
    1.50個IP可以直接打192.168.0.1-192.168.0.50
    2.白名單請確認要在drop規則的上面,意思就是drop規則一定要在最下面

  8. 感謝你..
    又試了一下..
    只要把 drop 這一條打開..(放在最下面一行)
    全部的網路都停止..
    不知道問題出在哪裡 ><"

  9. 茶包大..我的白名單如下..

    # Action Chain Src.Addess Dst.Addess Protocol Src.port
    0 accept forward 192.168.0.50

    (接在右邊)Dst.port In.Interface Out.Interface Bytes Packets
    176.4KiB 2.409
    抱歉 不會貼圖..
    麻煩指導了..
    版本 6.0 beta2

  10. to 阿凱:
    drop的部份需要修改一下 connection-state 要加上狀態(new)
    詳細可參考下面的設定,於winbox的左邊按下New Terminal可以進入指令模式

    /ip firewall filter
    add action=accept chain=forward disabled=no src-address=192.168.0.1-192.168.0.50
    add action=drop chain=forward connection-state=new disabled=no

  11. 茶包大..
    不好意思..又有新的問題..
    這一行加上後 add action=drop chain=forward connection-state=new disabled=no
    我原本內部IP 192.168.0.6 有轉 80 PORT 讓外部可連網頁..
    那一行加上後網頁也打不開了..
    請問要如何解呢?
    感謝…

  12. 請教茶包大人:HotSpot 要如何設定給來賓的ip區段、防火牆把ip限制不要互訪,例192.168.1.50-192.168.1.80 為來賓 禁止訪問 192.168.1.100 -192.168.1.200 ,煩請茶包大教學

    1. HotSpot主要是管理客戶端是否驗證身份後再對外網連線。
      如果你的192.168.1.50-192.168.1.80是在內網,而且Port沒有切開的話,
      那你的客戶端只要分配到IP,不管有沒有經過HotSpot驗證,都可以直接連線。

      我個人的一點意見你可以參考看看,當然HotSpot的機制還是可以照用:
      1.把192.168.1.50-192.168.1.80所連結的Port獨立切開
      2.把192.168.1.50-192.168.1.80的網段切開(讓要連線的客戶端,封包一定會經過RouterOS)
      3.在防火牆的規則中新增以下的規則
      /ip firewall filter
      add action=drop chain=forward disabled=no dst-address=\
      192.168.1.100-192.168.1.200 src-address=192.168.1.50-192.168.1.80

  13. 茶包大人:因為小弟也不是麼高手,到處參考人家的腳本,免強設定了一些功能,可能請茶包大人將1.2.3 點直接教學,萬分感謝!!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *