三月 16

在Google Drive中,如果你對檔案按下刪除,當下檔案只會搬移到垃圾桶,並不會真的刪除。

在垃圾桶內的檔案,若沒有清空,那麼垃圾桶內的檔案將會一直存在,仍然會持續的佔用空間

這就是為什麼很多人說,我明明把Google Drive內的檔案刪了,但是為什麼可用的空間仍然沒有變多。

如果你想定時把Google Drive垃圾桶自動清空的話,就照此篇文章執行吧。

繼續閱讀… »





二月 25

原本用的好好的ChangeIP.com,今天突然出問題,

進RouterOS上一看,Log一直出現ddns error Blacklisted。

查了一下google,找到這篇官方文章Blacklisted IP Address

說是我更新太頻繁。等了3個小時,也不見自動解鎖,一樣的錯誤訊息。
(註:今天晚上看到新聞,大樓機房起火 是方電訊數百客戶網路遭殃,也許是這個事件的關係)

好吧,免錢的。也不能要求太多,換一個吧。

因為dynDNS也要收錢了,所以No-IP(免費的有3個hostname可以用),就是你了。

設定完下面的Script,記得要再設定Schedual,設定可以參考RouterOS 動態更新IP到 ChangeIP.com

#Script在RouterOS 5.23中測試過
#Date:2013/02/25
#Script Name:ddnsUpdate(for no-ip)

#no-ip的帳號
:local ddnsuser "yourNOIPAccout"
#no-ip的密碼
:local ddnspass "yourNOIPPassword"
#要更新的no-ip domain 名稱
:local ddnshost "abcdefg.zapto.org"
#要更新的網路介面IP。使用該網路介面的註解文字來尋找,使用前請先把該網路介面的註解說明加上去
:local ddnscomment "RouterOS對外IP"
##################################
####以上是需要修改資料的部份######
##################################
:global ddnslastipRouterOS
:global ddnsipRouterOS [ /ip address get [/ip address find interface=[/interface get [/interface find comment=$ddnscomment] name]] address ]
#舊的IP有存在就用舊的,不存在就建0.0.0.0/0
:if ([:typeof [:global ddnslastipRouterOS]] = nil ) do={ :global ddnslastipRouterOS 0.0.0.0/0 } else={ :set ddnslastipRouterOS $ddnslastipRouterOS }
:if ([:typeof [:global ddnsipRouterOS]] = nil ) do={
  :log info ("DDNS: No ip address present on " . $ddnscomment . ", please check.")
} else={
  :if ($ddnsipRouterOS != $ddnslastipRouterOS) do={
    :log info "DDNS: Update DDNS! (CHT:開始更新DDNS_Host)"
#轉換IP為no-ip可接受的格式
    :local ipFormat [:pick $ddnsipRouterOS 0 [:find $ddnsipRouterOS "/"]];
    :local NOIPUpdateString "/nic/update?hostname=$ddnshost&myip=$ipFormat"
    :log info ([/tool fetch address=dynupdate.no-ip.com mode=http user=$ddnsuser password=$ddnspass src-path=$NOIPUpdateString dst-path=("/DDNS-".$ddnshost)] . "CHT:更新IP:" . $ddnsipRouterOS)
    :log info ($ddnshost . "  更新回傳值--" . [/file get "DDNS-$ddnshost" contents])
    :global ddnslastipRouterOS $ddnsipRouterOS
  } else={

  }
}




九月 01

正常的狀況下,RouterOS會自動管理系統上的IP位置。

像是使用VPN撥接上ROS後,ROS系統會自動給予1個IP位置,斷線後該IP位置會自動刪除。

但有的時候,撥接上來的VPN發生異常斷線後,該IP並沒有自動刪除。

這時就會導致該帳號永遠無法再撥接上來(帳號使用固定VPN IP)

為了解決這狀況,所以需要一個小Script搭配Scheduler來自動刪除ROS上這些無效的IP位置

Script內容如下

#Script TestOS:RouterOS 5.6
#Date:2011/09/01
#Script Description:刪除無效的IP位置

# 把無效的IP位置資料全部讀出來
:foreach i in=[/ip address find invalid=yes] do={
#刪除無效的IP
    /ip address remove $i
}

.
.
懶人包如下,於winbox中開啟Terminal,貼上下面的指令
系統會完成新增上面的Script並每5分鐘於Scheduler中自動執行1次

/system script
add name=DeleteInvalidIP policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source="#Script T\
    estOS:RouterOS 5.6\r\
    \n#Date:2011/09/01\r\
    \n#Script Description:\A7R\B0\A3\B5L\AE\C4\AA\BAIP\A6\EC\B8m\r\
    \n\r\
    \n# \A7\E2\B5L\AE\C4\AA\BAIP\A6\EC\B8m\B8\EA\AE\C6\A5\FE\B3\A1\C5\AA\A5X\A8\D3\r\
    \n:foreach i in=[/ip address find invalid=yes] do={\r\
    \n#\A7R\B0\A3\B5L\AE\C4\AA\BAIP\r\
    \n    /ip address remove \$i  \r\
    \n}"

/system scheduler
add disabled=no interval=5m name=AutoDeleteIP on-event=\
    "/system script run DeleteInvalidIP" policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api start-date=\
    aug/19/2011 start-time=02:08:36




一月 17

在RouterOS中,如果你有使用PPTP VPN連線的話,然後撥接的位置又是不固定IP

那麼你就會遇到這個問題

第一次的時候是可以撥接成功的,但後面因為IP變了,接下來你就撥接不上去了

如果用winbox這個工具進去管理RouterOS,你會發現要連到那一台主機那邊,可以打Domain Name

不過很抱歉,你儲存的時候winbox會把你的Domain Name轉成IP

所以說,就算你的Domain Name內的解析有變了,RouterOS還是不知道新的IP

這時候就需要一個固定更新的的Script來解決問題

流程很簡單:
1.找出目前RouterOS使用中的PPTP IP
2.反解相關Domain Name的IP
3.如果不一樣,就更新

相關的Script如下,請享用。相關說明看一下註解,應該不難

有問題的話再詢問吧

#Script在RouterOS 4.4中測試通過
#Date:2010/01/17
#Script Name:自動更新Domain Name的IP到PPTP的位置

#要設定的PPTP撥接名稱
:local pptpName "PPTP_Home"
#要撥接的DoaminName
:local pptpDomainName "xxxx.minitw.com"
#取得目前的撥接IP
:local systemPPTPIP [/interface pptp-client get $pptpName connect-to ]
#經由DNS取得新的PPTP Server IP
:local currentPPTPIP [:resolve $pptpDomainName]

:if ($systemPPTPIP != $currentPPTPIP) do={
    /interface pptp-client set $pptpName connect-to=$currentPPTPIP
    :log info "PPTP_DNS_Update: $currentPPTPIP (CHT:更新PPTP的DomainIP)"
}