標題:
自動修正firewall內的ddns-address
[打印本頁]
作者:
gfx86674
時間:
2015-1-12 23:12
標題:
自動修正firewall內的ddns-address
本帖最後由 gfx86674 於 2015-1-13 00:10 編輯
有時後因為firewall filter或firewall mangle ,
需要將朋友的ddns地址標在src-address或dst-address內.
但您不可能一直記得住朋友的ip或ddns名稱,所以改用address-list ,
將朋友地址改存在標示為
friends
的list是比較可行的方法.
不過問題是address-list同樣只能記ip ,無法記ddns名稱
所以同樣用Script ,將ddns轉換成ip記錄到list上 ,並定時更新ddns所對應的ip
我以兩個朋友amber /KSN74為例 ,試做腳本給各位參考.
:local newip
:local oldip
# amber ddns-ip
:set $newip [:resolve amber.dlinkddns.com]
:set $oldip [/ip firewall address-list get [find comment="amber"] address]
:if ($newip!=$oldip) \
do={:log info ("更新amber ddns-ip: ".$newip)
/ip firewall address-list set [find comment="amber"] address=$newip}
# KSN74 ddns-ip
:set $newip [:resolve kstsv.synology.me]
:set $oldip [/ip firewall address-list get [find comment="KSN74"] address]
:if ($newip!=$oldip) \
do={:log info ("更新KSN74 ddns-ip: ".$newip)
/ip firewall address-list set [find comment="KSN74"] address=$newip}
複製代碼
作者:
角色
時間:
2015-1-13 01:11
CHing, 你这个Script,是否需要行Scheduled job呢?
作者:
gfx86674
時間:
2015-1-13 02:01
本帖最後由 gfx86674 於 2015-1-13 12:35 編輯
回復
2#
角色
Yes!! 凡是要自動執行的腳本都一律放在Scheduled運作;
另外還有Script-list視窗,那是需手動的功能,
要點選
Run-Scripit
才會運作一次。
自動的放在Scheduled-list;任務型的放在Script-list;
若要debug Script臭蟲則一定得在命令視窗貼上code,
記得code頭尾要補上{ },Script才能在命令視窗跑完所有程式碼。
在命令視窗跑Script是很嚴格的,只要有一個語法錯就會以紅字提示。
只要有紅字,紅字後面的code全部都會停止。
作者:
角色
時間:
2015-1-13 13:32
谢谢CHing的信息,还有一个问题,就是edit问题,一般你是怎样edit呢?用notepad?然后copy过去?还有用RB里面的edit呢?
作者:
gfx86674
時間:
2015-1-13 14:02
本帖最後由 gfx86674 於 2015-1-14 01:24 編輯
回復
4#
角色
先用電腦notepad編輯好 ,再把code一次全部複製起來..
直接貼到命令視窗就開始RUN 了.
您注意看notepad編輯 ,最後面我有空兩行 ,
所以貼到命令視窗時 ,最後RouterOS代替我按了兩次鍵盤Enter
歡迎光臨 電訊茶室 (http://telecom-cafe.com/forum/)
Powered by Discuz! 7.2