Cek IP Statis yang berubah
Penulis beberapa kali menghadapi kasus perubahan IP yang sebelumnya sudah dibuat statis. Jika IP tersebut ingin di akses tentunya akan sulit karna IP-nya sudah berubah. Untuk mengetahuinya tentu penulis harus bongkar lagi settingan di Mikrotik sehingga didapatkan IP yang baru. Namun ada cara lain yang dapat dilakukan agar tetap bisa mengakses IP baru tanpa mengetahuinya atau mencarinya. Cara ini dilakukan dengan memanfaatkan fungsi IP DNS Static yang sudah dibuat sebelumnya.
Script untuk 1 DNS[edit]
Script berikut bisa digunakan untuk melakukan pengecekan IP Statis yang terkait ke DNS Static apakah sudah berubah atau tidak, jika sudah berubah maka IP lama yang terkait ke DNS Static tersebut otomatis diganti dengan IP baru. Script berikut juga sudah dilengkapi dengan fasilitas untuk mengirim notifikasi ke telegram admin jika diperlukan, jika tidak bisa di abaikan atau dibuang.
:local dnsName "nama.dns.net"; :local hotspotHostAddress [/ip hotspot host get [find comment="nama.dns.net"] address]; :local dnsStaticValue [/ip dns static get [find name="nama.dns.net"] address]; :local bot "BOT_TOKEN"; :local chatID "CHAT_ID"; :if ($hotspotHostAddress != $dnsStaticValue) do={ /ip dns static set [find name="cctv.bele.net"] address=$hotspotHostAddress :local message "IP DNS statis $dnsName telah berubah menjadi $hotspotHostAddress" /tool fetch url=("https://api.telegram.org/bot$bot/sendMessage\?chat_id=$chatID&text=$message") keep-result=no } else={ :local message "IP DNS statis $dnsName tidak berubah: $hotspotHostAddress" /tool fetch url=("https://api.telegram.org/bot$bot/sendMessage\?chat_id=$chatID&text=$message") keep-result=no }
Script untuk banyak DNS[edit]
Script berikut digunakan untuk melakukan pengecekan IP Statis yang terkait ke DNS Static dengan jumlah banyak sesuai dengan jumlah yang terdapat di dalam array dnsNames. Kondisinya sama dengan diatas apakah IP sudah berubah atau tidak, jika sudah berubah maka IP lama yang terkait ke DNS Static tersebut otomatis diganti dengan IP baru, karena jumlahnya banyak maka perubahan dilakukan sekaligus berurut sesuai dengan urutan dnsNames di dalam array tersebut. Script berikut juga sudah dilengkapi dengan fasilitas untuk mengirim notifikasi ke telegram admin jika diperlukan, jika tidak diperlukan dapat diabaikan atau dbuang.
:local dnsNames { "nama1.dns.net" ; "nama2.dns.net" ; "nama3.dns.net" ; "nama4.dns.net" ; "nama5.dns.net" }; :local bot "BOT_TOKEN"; :local chatID "CHAT_ID"; :foreach dnsName in=$dnsNames do={ :local hotspotHostAddress [/ip hotspot ip-binding get [find comment=$dnsName] address]; :local dnsStaticValue [/ip dns static get [find name=$dnsName] address]; :if ($hotspotHostAddress != $dnsStaticValue) do={ /ip dns static set [find name=$dnsName] address=$hotspotHostAddress; :local message "IP DNS statis $dnsName telah berubah dari $dnsStaticValue menjadi $hotspotHostAddress"; /tool fetch url=("https://api.telegram.org/bot$bot/sendMessage\?chat_id=$chatID&text=$message") keep result=no; } else={ :local message "IP DNS statis $dnsName tidak berubah: $hotspotHostAddress"; /tool fetch url=("https://api.telegram.org/bot$bot/sendMessage\?chat_id=$chatID&text=$message") keep- result=no; } }