Mengatasi Ip Private Indihome

000

Apabila Anda mempunyai sebuah Web Server, atau aplikasi-aplikasi pada jaringan LAN dan Anda ingin semoga Website atau applikasi tersebut sanggup diakses melalui internet maka tentu saja Anda harus mempunyai sebuah IP Publik dan melaksanakan Forwarding/DST NAT dari router ke web server atau applikasi server tersebut sehingga Website dan aplikasi tersebut bias diakses dari internet. Untuk mendapat IP Publik ini Anda harus berlangganan internet dari sebuah ISP, menyerupai Telkom dan yang lainnya.
Untuk IP publik yang statik maka Anda bias dengan gampang mengakses website atau aplikasi tersebut dari internet, dengan cara memanggil eksklusif IP Publik statik yang Anda miliki. Adapun bila IP Publik yang anda dapatkan bersipat dinamis yang selalu berubah-ubah maka anda bias memakai layanan DDNS untuk mengatasi perubahan IP Publik yang dinamis ini. Namun adakalanya untuk IP Publik yang dinamis ini Anda malah akan mendapat IP Private alhasil website dan applikasi yang Anda miliki tidak akan sanggup diakses walaupun anda memakai DDNS !! Untuk klarifikasi IP Publik dan IP Private sanggup anda baca pada goresan pena sana di link ini. Oleh alasannya itu pada goresan pena kali ini akan dibahas cara menangani IP Private yang didapatkan oleh router Anda dari ISP tersebut.
Salah satu IPS yang banyak dimanfaatkan layanan internet nya ketika ini ialah Telkom, penulis juga memakai layanan internet dari Telkom untuk mendapat IP Publik ini. Tapi menyerupai ulasan sebelumnya, sering sekali router pada daerah penulis mendapat IP Private yang mana seharusnya mendapat IP Publik. Sebenarnya cukup gampang untuk mengatasi hal ini, tinggal restart saja modem/router yang anda miliki (dengan perkiraan anda juga memakai layanan Telkom) hingga Anda kembali mendapat IP Publik. Tapi apakah Anda sanggup untuk me-restart modem tersbut puluhan kali dalam satu hari bila dalam hari itu Anda mendapat IP Private berkali – kali ?? dari pengalaman saya sendiri hal ini cukup melelahkan…
Oleh alasannya itu, kalau kita sudah mengetahui solusinya bagaimana yaitu dengan merestart modem router nya, maka selanjutnya kita tinggal cari cara bagaimana setiap router mendapat IP Private router tersebut akan merestart dirinya sendiri atau men-disable dan enable kembali interface daerah tertanamnya IP Private (yang seharusnya IP Publik) tersebut. Jika Anda hanya memakai modem standar bawaan Telkom, tentu saja auto restart/disable interface ini tidak sanggup dilakukan. Untuk itu Anda perlu memakai router lain menyerupai router mikrotik. Anda sanggup baca pada goresan pena wacana cara untuk memasang dan setting router mikrotik pada Indihome nya Telkom pada link ini.

#Email Params

:local from [/tool e-mail get user];
:local toList {“syakir.jbgroup@gmail.com”};
:local sendEmail 0; # 1=Enable 0=Disable

#Telegram Params
:local botAPI “760495160:AAFEOmP6WZ_qs3vhZjng0ADkYd6Z1Qrfe14”; #API RouterMikrotikBot
:local chatID {“412874053”;};
:local sendTelegram 1; # 1=Enable 0=Disable

#Interface Params
:local PPPoEInterfaceList {“PPPoE-ISP1”;};

#Declare Variable
:local LastIP “”;
:local LastCharacter 0;
:local currentIP “”;
:local checkIP “”;
:local Message “”;
:local DNSName “”;
:local DNSStatus “”;
:local DNSAddress “”;
:local xdate [/system clock get date];
:local xtime [/system clock get time];

:foreach PPPoEInterface in=$PPPoEInterfaceList do={
#Find LastIP
foreach i in=([/log find where message “LastIP_$PPPoEInterface”]) do={
:set $LastIP [/log get $i message];
}
:set $LastCharacter ([:find $LastIP “:” -1]);
:set $LastCharacter ($LastCharacter + 1);
:set $LastIP [:pick $LastIP $LastCharacter 50];

#Find CurrentIP
:set currentIP [/ip address get [find interface=”$PPPoEInterface”] address];
:set currentIP [:pick $currentIP 0 [:find $currentIP “/” -1]];
:set checkIP [:pick $currentIP 0 [:find $currentIP “.” -1]];

#Jika mendapat IP Private
:if ($checkIP = “10”) do={
/log info “LastIP_$PPPoEInterface:$currentIP”;
:delay 10s;
/log error “$PPPoEInterface connection restored with assigned ip address $currentIP. Restarting Connection …”;
#sendMessage to Email
:if ($sendEmail = “1”) do={
:foreach to in=$toList do={
/tool e-mail send to=”$to” from=”$[/system identity get name] <$from>” subject=”$[/system identity get name] $PPPoEInterface Status” \
body=”$PPPoEInterface connection restored with assigned ip address $currentIP. Restarting Connection …”
}
}

#sendMessage to Telegram
:if ($sendTelegram = “1”) do={
:set Message “<b>.: $[/system identity get name] :.</b> %0A$PPPoEInterface connection restored with assigned ip address $currentIP. %0A<b>Restarting Connection …</b> %0A%0A$xdate | $xtime WIB”
:foreach SendingChatID in=$chatID do={
/tool fetch “https://149.154.167.220/bot$botAPI/sendMessage?chat_id=$SendingChatID&parse_mode=HTML&text=$Message” keep-result=no
}
}

:delay 10s;
/interface pppoe-client disable $PPPoEInterface;
:delay 10s;
/interface pppoe-client enable $PPPoEInterface;
} else={
#Jika LastIP = currentIP hanya menambahkan log
if (“$LastIP” = “$currentIP”) do={
/log info “LastIP_$PPPoEInterface:$currentIP”;
/ip cloud force-update;
} else={
#Jika mendapat sudah mendapat IP Public
/log info “LastIP_$PPPoEInterface:$currentIP”;
:delay 10s;
/ip cloud force-update;
:delay 30s;
:set DNSName [/ip cloud get dns-name];
:set DNSStatus [/ip cloud get status];
:set DNSAddress [/ip cloud get public-address];
/log warning “$PPPoEInterface connection restored with assigned ip address $currentIP. (DDNS Status: $DNSStatus | $DNSName)”;

#sendMessage to Email
:if ($sendEmail = “1”) do={
:foreach to in=$toList do={
/tool e-mail send to=”$to” from=”$[/system identity get name] <$from>” subject=”$[/system identity get name] $PPPoEInterface Status” \
body=”$PPPoEInterface connection restored with assigned ip address $currentIP. (DDNS Status: $DNSStatus | $DNSName)”;
}
}

#sendMessage to Telegram
:if ($sendTelegram = “1”) do={
:set Message “<b>.: $[/system identity get name] :.</b> %0A$PPPoEInterface connection restored with assigned ip address $currentIP. %0A%0A<b>.: IP Cloud Information :.</b>%0AStatus: $DNSStatus %0APublic Address: $DNSAddress %0ADNS Name: $DNSName %0A%0A$xdate | $xtime WIB”
:foreach SendingChatID in=$chatID do={
/tool fetch “https://149.154.167.220/bot$botAPI/sendMessage?chat_id=$SendingChatID&parse_mode=HTML&text=$Message” keep-result=no
}
}
}
}
#Clear Variable Before Next Interface
:set LastIP “”;
:set LastCharacter 0;
:set currentIP “”;
:set checkIP “”;
:set Message “”;
:set DNSName “”;
:set DNSStatus “”;
:set DNSAddress “”;
}




Pada script diatas, ada 3 parameter yang perlu diperhatikan yaitu :
·         Parameter Email

Parameter ini akan dipakai untuk memasukkan isu dari email yang anda gunakan. Setiap kali ada perubahan IP Publik pada router Anda, maka router akan menginformasikan kepada Anda melalui email tersebut.
aplikasi pada jaringan LAN dan Anda ingin semoga Website atau applikasi tersebut sanggup ia Mengatasi IP Private Indihome
Parameter Email
Namun untuk memakai fitur email ini, pastikan email Anda sudah tertanam pada router mikrotik nya ya.
·         Parameter Telegram
Selain notifikasi melalui email, perubahan IP Publik pada router Anda juga sanggup dikirimkan notifkasinya melalui telegram.
aplikasi pada jaringan LAN dan Anda ingin semoga Website atau applikasi tersebut sanggup ia Mengatasi IP Private Indihome
Parameter Telegram

·         Parameter Interface
Ini merupakan parameter yang terpenting, alasannya script tersebut akan mendeteksi berapa IP Publik yang didapatkan oleh router pada interface ini. Oleh alasannya itu, penamaan interface ini harus sesuai dengan nama interface pada router mikrotik Anda.
aplikasi pada jaringan LAN dan Anda ingin semoga Website atau applikasi tersebut sanggup ia Mengatasi IP Private Indihome
Parameter Interface

Adapun 2 parameter sebelumnya itu sanggup di disable.
Setelah Anda final copy script diatas, maka langkah seluanjutnya ialah
·         Membuat Script
Buat script gres melalui winbox, yaitu melalui sajian system → Script, menyerupai tampak pada gambar dibawah ini.
aplikasi pada jaringan LAN dan Anda ingin semoga Website atau applikasi tersebut sanggup ia Mengatasi IP Private Indihome
Membuat Script
Simpan script tersebut, kemudian script tersebut kita panggil dari interface yang mendapat IP Publik yaitu pada tab sajian Scripts masukkan perintah menyerupai tampak pada gambar dibawah ini.
aplikasi pada jaringan LAN dan Anda ingin semoga Website atau applikasi tersebut sanggup ia Mengatasi IP Private Indihome
Aktifkan Script
Demikian cara mengatasi IP Private ini memakai router mikrotik, apabila terdeteksi IP Private yang didaptakan dari Telkom maka interface yang mendapat IP Private tersebut akan di disable secara otomatis dan akan di enable kan kembali. Hal ini terus menerus akan dilakukan hingga router Anda mendapat IP Publik. 
aplikasi pada jaringan LAN dan Anda ingin semoga Website atau applikasi tersebut sanggup ia Mengatasi IP Private Indihome
Hasil

Scroll to Top