Skip to content Skip to sidebar Skip to footer

Mengatasi IP Private Indihome


Apabila Anda memiliki sebuah Web Server, atau aplikasi-aplikasi pada jaringan LAN dan Anda ingin supaya Website atau applikasi tersebut dapat diakses melalui internet maka tentu saja Anda harus memiliki sebuah IP Publik dan melakukan Forwarding/DST NAT dari router ke web server atau applikasi server tersebut sehingga Website dan aplikasi tersebut bias diakses dari internet. Untuk mendapatkan IP Publik ini Anda harus berlangganan internet dari sebuah ISP, seperti Telkom dan yang lainnya.
Untuk IP publik yang statik maka Anda bias dengan mudah mengakses website atau aplikasi tersebut dari internet, dengan cara memanggil langsung IP Publik statik yang Anda miliki. Adapun jika IP Publik yang anda dapatkan bersipat dinamis yang selalu berubah-ubah maka anda bias menggunakan layanan DDNS untuk mengatasi perubahan IP Publik yang dinamis ini. Namun adakalanya untuk IP Publik yang dinamis ini Anda malah akan mendapatkan IP Private akibatnya website dan applikasi yang Anda miliki tidak akan bisa diakses walaupun anda menggunakan DDNS !! Untuk penjelasan IP Publik dan IP Private bisa anda baca pada tulisan sana di link ini. Oleh karena itu pada tulisan 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 saat ini adalah Telkom, penulis juga menggunakan layanan internet dari Telkom untuk mendapatkan IP Publik ini. Tapi seperti ulasan sebelumnya, sering sekali router pada tempat penulis mendapatkan IP Private yang mana seharusnya mendapatkan IP Publik. Sebenarnya cukup mudah untuk mengatasi hal ini, tinggal restart saja modem/router yang anda miliki (dengan asumsi anda juga menggunakan layanan Telkom) sampai Anda kembali mendapatkan IP Publik. Tapi apakah Anda sanggup untuk me-restart modem tersbut puluhan kali dalam satu hari jika dalam hari itu Anda mendapatkan IP Private berkali – kali ?? dari pengalaman saya sendiri hal ini cukup melelahkan…
Oleh karena itu, kalau kita sudah mengetahui solusinya bagaimana yaitu dengan merestart modem router nya, maka selanjutnya kita tinggal cari cara bagaimana setiap router mendapatkan IP Private router tersebut akan merestart dirinya sendiri atau men-disable dan enable kembali interface tempat tertanamnya IP Private (yang seharusnya IP Publik) tersebut. Jika Anda hanya menggunakan modem standar bawaan Telkom, tentu saja auto restart/disable interface ini tidak bisa dilakukan. Untuk itu Anda perlu menggunakan router lain seperti router mikrotik. Anda bisa baca pada tulisan tentang 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 mendapatkan 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 mendapatkan sudah mendapatkan 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 digunakan untuk memasukkan informasi dari email yang anda gunakan. Setiap kali ada perubahan IP Publik pada router Anda, maka router akan menginformasikan kepada Anda melalui email tersebut.
Parameter Email
Parameter Email
Namun untuk menggunakan 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 bisa dikirimkan notifkasinya melalui telegram.

Parameter Telegram
Parameter Telegram

·         Parameter Interface
Ini merupakan parameter yang terpenting, karena script tersebut akan mendeteksi berapa IP Publik yang didapatkan oleh router pada interface ini. Oleh karena itu, penamaan interface ini harus sesuai dengan nama interface pada router mikrotik Anda.
Parameter Interface
Parameter Interface

Adapun 2 parameter sebelumnya itu bisa di disable.
Setelah Anda selesai copy script diatas, maka langkah seluanjutnya adalah
·         Membuat Script
Buat script baru melalui winbox, yaitu melalui menu system → Script, seperti tampak pada gambar dibawah ini.
Membuat Script
Membuat Script

Simpan script tersebut, kemudian script tersebut kita panggil dari interface yang mendapatkan IP Publik yaitu pada tab menu Scripts masukkan perintah seperti tampak pada gambar dibawah ini.
Aktifkan Script
Aktifkan Script
Demikian cara mengatasi IP Private ini menggunakan router mikrotik, apabila terdeteksi IP Private yang didaptakan dari Telkom maka interface yang mendapatkan IP Private tersebut akan di disable secara otomatis dan akan di enable kan kembali. Hal ini terus menerus akan dilakukan sampai router Anda mendapatkan IP Publik. 
Hasil
Hasil


13 comments for "Mengatasi IP Private Indihome"

  1. Replies
    1. Kalau Dari penjelasan nya sih harus punya router mikrotik.... Kecuali router2 bawaan telkom bisa dipasangkan script/Ada feature restart modem pas dpt up ga public.

      Delete
  2. kalau ip privatnya di disable apakah akan mempengaruhi koneksi internet ?, misalkan satu jaringan itu banyak user yang mengakses dari satu modem itu , apakah user lain akan pengaruh ?
    , terimakasih sebelumnya artikelnya sangat bagus

    ReplyDelete
    Replies
    1. Jika IP Private nya di disable maka koneksi internet untuk semua user yg tersambung pada modem itu akan terputus. Karna pd dasarnya IP Private/IP Public yg ada pd modem itu dipakai bersama oleh semua user. Terimakasih...

      Delete
  3. Mikrotik versi berapa yang digunakan, saya coba di mMikrotik versi 6.46.6 tidak sub tab script di interface PPPoE Client.

    ReplyDelete
    Replies
    1. Versi 6.46.6 juga bisa Pak, tab menu script tersebut coba cek di profile PPP yg digunakan. biasanya di profile yg dikasih nama default, kecuali Anda menggunakan profile PPP yg lain.

      Terima kasih sudah berkunjung Pak...

      Delete
  4. gimana caranya biar modem zte f609 gk auto connect indihome saat restart gan ,, udah di set on demand tetap aja klo restart otomatis konek ,, jdinya gk bisa PPOE krna sudah konek duluan modemnya..

    ReplyDelete
    Replies
    1. Maaf Gan, mngkn bisa di screenshot dlu konfig nya ? Saya coba pelajari terlebih dahulu.

      Delete
  5. Sebenarnya tidak perlu menggunakan script tinggal rubah aja dari modem Indihome menjadi bridge jadi IP publik kita tanam langsung ke mikrotik beres
    ..

    ReplyDelete
    Replies
    1. Alhamdulillah.... Dapat ilmu baru saya... Terimakasih..

      Delete
    2. caranya gimana itu gan?

      Delete
  6. Apakah semua router mikrotik bisa menggunakan trik ini? Ada rekomendasi model routernya?

    ReplyDelete
    Replies
    1. Semua model router mikrotik bisa pakai trik ini. Adapun untuk model router Mikrotik nya tergantung kebutuhan, berapa jumlah klien yg mau konek internet, berapa jumlah bandwidth yg akan ditangani...

      Delete