用noip當通行證,不讓陌生人連接ovpn-server
| 本帖最後由 gfx86674 於 2015-8-21 20:48 編輯 
 打開Log看快暈了,竟有人不斷的trying小弟ovpn-server
   
 雖然ovpn-server有憑證和密碼保護著,但被洗Log看了也很不爽,所以...
 
 乾脆將ovpn port鎖起來,只允許手機例外(假設手機public-ip為1.1.1.1)
 
 
 
 但手機public-ip怎麼可能為1.1.1.1 ,而且又是固定ip.
 所以啊,這得請ddns來幫忙.
 小弟請的是no-ip ,使用上需裝ddns-client app.
 
 因小弟用的是Android手機,所以安裝NO-IP Updater這個app.
 
 完成安裝並設定後,手機只要一連上網路,不管是Wifi或者4G網路,
 都會將public-ip更新到noip-ddns上.
 
 回到Router部份 ,總要將1.1.1.1更新成手機public-ip吧.
 所以一樣得用Script ,將舊public-ip更新掉
   
 首先,我們得知道/ip firewall filter src-address="!1.1.1.1" 的array位置.
 所以在命令視窗運行:
 
 put [/ip firewall filter find src-address="!1.1.1.1"]
 如圖所顯示,所得的值是*68 (每台RouterOS裝置都會不同,這動作是必要的)
 
 知道array的位置,複製Script將內容放到排程去.
 (記得array 與ddns-host是個人的,要先修改才能貼上)
 
 假設Router的網路接口為pppoe-out1 ; ddns-host為abcd1234.no-ip.org
 新增排程:複製代碼:local routerip [/ip address get [find interface="pppoe-out1"] address]
:set routerip [:pick $routerip 0 [:find $routerip "/"]]
:local phone ("!".[:resolve abcd1234.no-ip.org])
:if (([/ip firewall filter get *68 src-address]!=$phone)&&($routerip!=$phone)) \
do={/ip firewall filter set src-address=$phone}
 如果Script有發揮作用,很快的src-address="!1.1.1.1"即被更新成其它address囉
   這樣也代表除手機目前所使用地址,其它對ovpn-server的連線皆不合法的.
 | 
附件: 
您需要登錄才可以下載或查看附件。沒有帳號?註冊