Monday, February 23, 2015

Script Mikrotik, Mengecek IP Publik

Bagi anda yang berlangganan internet dari suatu ISP dan mendapatkan IP Publik yang dinamik, tentunya akan kesulitan untuk meremote perangkat anda, baik itu berupa Mikrotik maupun komputer yang berada di belakang Mikrotik. Anda harus tau terlebih dahulu berapa IP Publiknya, baru anda bisa meremote, bukan begitu ? Koneksi internet yang mendapatkan IP Publik dinamis seperti ini biasanya menggunakan modem ADSL. Nah,... berikut ini adalah script di mikrotik untuk mengecek IP Publik yang didapatkan dari si ISP. Dengan adanya script ini, anda hanya perlu membuka email untuk mengetahui IP Publik yang didapatkan.
System scripts Mikrotik


Konfigurasi Mikrotik
Ada 3 langkah yang harus anda lakukan.
1.   Setting email.
Mikrotik V5
/tool e-mail
set address=173.194.79.109 from=<r***.***.*****@gmail.com> password= ******\
    port=587 starttls=yes user=********

Mikrotik V6
/tool e-mail
set address=173.194.79.109 from=<r***.***.*******@gmail.com> password=\
    ******* port=587 start-tls=yes user=r*********

2.   Membuat Script.
Klik System – Script. Akan muncul tampilan Kotak New Script. Pada kolom Name, isi nama script. Misalnya “CekIPPublik”. Kemudian pada kolom source, isi dengan kode scriptnya, dan klik tombol “OK”. Lihat gambar di atas.

Ada 2 script yang bisa digunakan. Silahkan dipilih salah satunya saja.
Script 1.
Script ini mengambil data ke situs penyedia jasa yang menampilkan IP Publik anda. Kemudian dijadikan file index.html. File inilah yang dikirim ke email. Pastikan IP situs penyedia jasa tersebut tidak terblok oleh firewall mikrotik.
Kelebihan script 1.
Dapat mengetahui IP Publik, walaupun posisi mikrotik di belakang NAT.
Kekurangan script 1.
Email akan terus dikirim walaupun IP address tidak berubah. Akibatnya inbox email akan penuh dengan email notifikasi ini. Tentunya hal ini akan menjengkelkan.

Ok. Berikut ini script yang harus anda masukkan di kolom source.
Mikrotik V5
/tool fetch url="http://www.cmyip.com/" dst-path="index.html"
/tool e-mail send to="r*******@gmail.com" subject="ip-address" from=*********@gmail.com  server=173.194.79.109 tls=yes file=index.html
:delay 5s
/file remove index.html

Mikrotik V6
/tool fetch url="http://www.cmyip.com/" dst-path="index.html"
/tool e-mail send to="r*******@gmail.com" subject="ip-address" from=*********@gmail.com  server=173.194.79.109 start-tls=yes  file=index.html
:delay 5s
/file remove index.html
Mikrotik di belakang NAT

Script 2
Script ini memeriksa IP address pada interface Mikrotik yang menggunakan IP Publik. Jika IP Publik berubah, maka akan dikirim notifikasi perubahan IP ke email.
Kelebihan script 2
Hanya akan melakukan notifikasi kirim email pada saat terjadi perubahan IP address.
Kekurangan script 2,  
Tidak bisa digunakan pada mikrotik di belakang NAT. Kalo di belakang NAT tentu saja tidak menggunakan IP Publik dan tidak ada perubahan IP address.

Dan berikut ini scriptnya yang harus dimasukkan di kolom source New Script.
MIkrotik V5
:global actualIP;
:global newIP;
:set newIP [/ip address get [find interface="pppoe-out1"] address]
:if ($newIP = $actualIP) do={
:log info "Tidak ada perubahan IP...."
  }
:if ($newIP != $actualIP) do={
:log info "IP ether 1 berubah"
:set actualIP $newIP
:delay 5s
/tool e-mail send to="r*******@gmail.com " from=*******@gmail.com server=173.194.79.109 tls=yes   subject="IP change detected by Mikrotik Script" body="IP address yang baru adalah $actualIP"
  }

Mikrotik V6
:global actualIP;
:local newIP [/ip address get [find interface="pppoe-out1"] address];
:if ($newIP = $actualIP) do={
:log info "Tidak ada perubahan IP....";
  };
:if ($newIP != $actualIP) do={
:log info "IP interface pppoe-out berubah";
:set actualIP $newIP;
:delay 5s;
/tool e-mail send to="r*******@gmail.com " from=*******@gmail.com server=173.194.79.109 start-tls=yes   subject="IP change detected by Mikrotik Script" body="IP interface pppoe-out yang baru adalah $actualIP";
  };


3.   Buat scheduler.
Contoh di bawah ini adalah membuat jadwal yang akan menjalankan script, setiap 10 menit.
Mikrotik V5 dan Mikrotik V6
/system scheduler
add disabled=no interval=10m name=schedule1 on-event=CekIPPublik policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api

Done…!!!

No comments:

Post a Comment