Akhir-akhir ini saya sering bepergian ke luar kota untuk urusan pekerjaan dan keluarga. Nah pas jauh dari rumah, terkadang saya tidak bisa “menghubungi” mini server saya. Kenapa ya pikir saya??
Cek punya cek ternyata terkadang ISP yang saya gunakan “suka” mengalokasikan private IP secara random. Imbasnya DDNS yang saya gunakan tidak mengenali ip mini server ini. FYI, mini server ini digunakan untuk melayani servis: Apache web server, database MySQL, private game server, RDP dan Teamviewr juga CCTV.

Berikut adalah script Mikrotik yang saya gunakan untuk menangani kasus tersebut. Sebagai catatan, di tempat saya, Modem/ONT dari ISP difungsikan sebagai “bridge”, jadi PPPoE ada di Mikrotiknya dan menggunakan IPv4.
Kita langsung buat aja scriptnya ya !!
#script check_wan_ip
:local WanInt "pppoe-out1";
:local NewIP [/ip address get [find interface=$WanInt] address];
:set NewIP [:pick $NewIP 0 ([:len $NewIP]-3)];
:local test [:pick $NewIP 0 [:find $NewIP "."]]
:if ( ($test = "10") or ($test = "172") or($test = "192") ) do={
/interface pppoe-client set $WanInt disable=yes;
:delay 5;
/interface pppoe-client set $WanInt disable=no;
:log info "reset wanip";
}
Buat scheduler untuk memanggil script tersebut.
/system scheduler
add interval=5m name=wanip_check on-event=check_wan_ip policy=read,write,test \
start-time=startup
Keterangan singkat dari script diatas:
- WanInt adalah nama dari interface pppoe
- NewIP adalah IP yang didapat dari ISP
- test adalah segment pertama dari IPv4 yang diberikan ISP
Cara kerjanya kurang lebih begini:
Pertama NewIP akan terisi IP address yang didapatkan dari ISP, kemudian segment pertama dari NewIP akan disimpan pada test. Misal: NewIP terisi 36.45.25.91 maka test = 36. Selanjutnya script akan melakukan evaluasi terhadap variabel test, jika test = 10 maka interface WanInt akan di disable selama 5s kemudian dienablekan kembali dan akan menampilkan message di log.
Semoga tulisan singkat ini bermanfaat.