Step by Step AutoUpdate Port Forwarding IP Public Dynamic dengan Mikrotik


XPS-Mikrotik-AutoUpdate-IP-Public-Port-Forwarding

Penulis Artikel : Nathan Gusti Ryan

Sebelum kita mulai pembahasan artikel ini lebih lanjut, coba kita renungkan lebih dulu… Jika kita mengunakan IP Public Dynamic ( misalnya mengunakan Speedy atau FirstMedia ), lalu kita gunakan IP Public tersebut untuk berbagai services seperti WebServer, FTP Server, IP PBX Server, RDC / Terminal Server, dan lain-lain. Serta kita mengunakan DynDNS atau ChangeIP untuk mendapatkan Nama SubDomain, maka apabila IP Public yang kita dapatkan berubah maka kita juga harus mengubah Destination-Address pada konfigurasi Mikrotik Firewall NAT kita. Kalo hanya 1-2 NAT aja gak masalah, namun sebaiknya kan kita butuh otomatisasi. Bayangkan saja jika ada 27 NAT Rule yang harus kita setting manual, lalu volume perubahan IP Public cukup sering terjadi, apa gak nyusahin tuh namanya???

So… bagaimana solusinya???

Okey, artikel ini memang kelanjutan dari artikel sebelumnya untuk membuat AutoUpdate IP Public pada DynDNS / ChangeIP :

https://thinkxfree.wordpress.com/2014/01/20/step-by-step-konfigurasi-autoupdate-ip-public-dynamic-dengan-freeddns-pada-mikrotik-router/

Intinya adalah kita akan membuat Otomatisasi alias AutoUpdate pada IP Public Dynamic Port Forwarding dengan Mikrotik. Dengan teknik ini Server kita dapat berfungsi dengan lancar walaupun mengunakan IP Public Dynamic.

So… bagaimana langkah-langkah konfigurasinya???

Untuk membuat AutoUpdate pada IP Public Dynamic Port Forwarding dengan Mikrotik, caranya sebagai berikut :

1. Misalnya disini saya ada WebServer dari sebuah IP PBX Server dengan IP Local : 192.168.10.10 dan Port yang dipakai adalah : 5000 ( WebManage 3CX IP PBX ).

Mikrotik-6.6-Change-IP-Update-Port-Forwarding-001

2. Pada Mikrotik saya konfigurasi Port Forwarding untuk keperluan VOIP ( telekomunikasi berbasi IP ) dengan mengunakan koneksi DialUp PPPoE pada Mikrotik dan sudah mendapatkan IP Public ( misalnya : 36.74.195.78 ).

Mikrotik-6.6-Change-IP-Update-Port-Forwarding-002

3. Dengan IP Public ini, saya bisa akses via Internet ke PBX Server dengan Port Forwarding dari Mikrotik. Akses via IP Public dan Port seperti gambar dibawah ini : 36.74.195.78:5000

Mikrotik-6.6-Change-IP-Update-Port-Forwarding-003

4. Dan saya juga sudah melakukan register Dynamic DNS pada ChangeIP.com dan kita bisa akses via FreeDDNS ini :

thinkxfree.freeddns.com:5000

Mikrotik-6.6-Change-IP-Update-Port-Forwarding-004

5. Selanjutnya jika DialUp PPPoE atau koneksi Speedy / FirstMedia putus nyambung dan mendapatkan IP Public yang berbeda ( misalnya : 125.164.10.100 ), maka Firewall NAT Rule kita juga harus di ubah Destination-Address-nya. So, kalo ada 27 NAT Rule seperti dibawah ini ya lumayan capek kalo harus di setting manual seperti gambar dibawah ini.

Mikrotik-6.6-Change-IP-Update-Port-Forwarding-005

6. So, kita akan buat Script Otomasisasi untuk meng-update Destination-Address dengan IP Public yang terbaru kita dapatkan dari Internet Provider. Caranya adalah dengan melakukan editing pada Script yang sudah dibuat seperti pada tutorial sebelumnya, lalu kita tambahkan Script seperti dibawah ini :

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# EDIT KONFIGURASI SESUAI ACCOUNT ANDA
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:global ddnsuser “NathanGR”
:global ddnspass “Password”
:global ddnshost “thinkxfree.freeddns.com”
:global ddnsinterface “SPEEDY”
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# END OF USER DEFINED CONFIGURATION
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:global ddnssystem ("mt-" . [/system package get [/system package find name=system] version] )
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]
:global ddnslastip

:if ([:len [/interface find name=$ddnsinterface]] = 0 ) do={ :log info "DDNS: Gak ada interface dengan nama $ddnsinterface, check konfigurasinya lagi Mas Bro." }
:if ([ :typeof $ddnslastip ] = "nothing" ) do={ :global ddnslastip 0.0.0.0/0 }
:if ([ :typeof $ddnsip ] = "nothing" ) do={
:log info ("DDNS: Gak ada IP Address di " . $ddnsinterface . ", check dong Mas Bro.")
} else={

  :if ($ddnsip != $ddnslastip) do={
    :log info "IP Public : $ddnsip."
    :log info "DDNS: UPDATE Sukses Mas Bro!"
    :log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
    :global ddnslastip $ddnsip
/ip firewall nat 
set 1 dst-address=$ddnsip
set 2 dst-address=$ddnsip
set 3 dst-address=$ddnsip
set 4 dst-address=$ddnsip
set 5 dst-address=$ddnsip
set 6 dst-address=$ddnsip
set 7 dst-address=$ddnsip
set 8 dst-address=$ddnsip
set 9 dst-address=$ddnsip
set 10 dst-address=$ddnsip
set 11 dst-address=$ddnsip
set 12 dst-address=$ddnsip
set 13 dst-address=$ddnsip
set 14 dst-address=$ddnsip
set 15 dst-address=$ddnsip
set 16 dst-address=$ddnsip
set 17 dst-address=$ddnsip
set 18 dst-address=$ddnsip
set 19 dst-address=$ddnsip
set 20 dst-address=$ddnsip
set 21 dst-address=$ddnsip
set 22 dst-address=$ddnsip
set 23 dst-address=$ddnsip
set 24 dst-address=$ddnsip
set 25 dst-address=$ddnsip
set 26 dst-address=$ddnsip

  } else={ 
    :log info "IP Public : $ddnsip."
    :log info "DDNS: Gak ada perubahan IP Public Mas Bro."
/ip firewall nat 
set 1 dst-address=$ddnsip
set 2 dst-address=$ddnsip
set 3 dst-address=$ddnsip
set 4 dst-address=$ddnsip
set 5 dst-address=$ddnsip
set 6 dst-address=$ddnsip
set 7 dst-address=$ddnsip
set 8 dst-address=$ddnsip
set 9 dst-address=$ddnsip
set 10 dst-address=$ddnsip
set 11 dst-address=$ddnsip
set 12 dst-address=$ddnsip
set 13 dst-address=$ddnsip
set 14 dst-address=$ddnsip
set 15 dst-address=$ddnsip
set 16 dst-address=$ddnsip
set 17 dst-address=$ddnsip
set 18 dst-address=$ddnsip
set 19 dst-address=$ddnsip
set 20 dst-address=$ddnsip
set 21 dst-address=$ddnsip
set 22 dst-address=$ddnsip
set 23 dst-address=$ddnsip
set 24 dst-address=$ddnsip
set 25 dst-address=$ddnsip
set 26 dst-address=$ddnsip
set 27 dst-address=$ddnsip

  }
}

Mikrotik-6.6-Change-IP-Update-Port-Forwarding-006

7. Selanjutnya sesuai pada Secheduler sudah kita buat sebelumnya, maka setelah Script dijalankan oleh Secheduler dan otomatis Destination-Address pada NAT RULE juga akan otomatis diubah sesuai dengan IP Public yang terbaru kita dapatkan dari Internet Provider. ( lihat gambar dibawah ini ).

Mikrotik-6.6-Change-IP-Update-Port-Forwarding-007

8. Okey, sekarang kita coba akses WebServer-nya via IP Public : 125.164.10.100:5000 dan tampilah IP PBX Server WebManage kita seperti gambar dibawah ini.

Mikrotik-6.6-Change-IP-Update-Port-Forwarding-008

9. Selanjutnya kita cek juga untuk akses via FreeDDNS seperti gambar dibawah ini :

thinkxfree.freeddns.com:5000

Mikrotik-6.6-Change-IP-Update-Port-Forwarding-009

10. Sampai disini tutorial ini, silahkan coba dengan insting yang tepat… Have a nice day…

  1. March 9, 2014 at 1:35 pm

    Mantab Pak…. ini yang saya butuhkan….
    sempat bingung klo pas speedynya putus nyambung, untung NAT saya cuma ada 8 jadi masih bisa ganti2 manual.
    Thanks scriptnya pak jadi ga cape2 ganti IP lagi

  2. Asseggaf Yzal
    April 25, 2014 at 3:34 pm

    pak sy udh coba aplikasikan script di atas,via rb750, MikroTik RouterOS 4.11, tp belum berhasil auto update, dan tidak muncul runing scriptnya, kira2 kesalahannya di mana ya pak?

    • Asseggaf Yzal
      April 25, 2014 at 3:56 pm

      di log tidak muncul runing atw tidak scriptnya, schedule sdh jalan 20x, tp run count scriptnya 0..

    • April 26, 2014 at 11:59 am

      @Asseggaf Yzal – Pake versi 5.20, 6.4, 6.6, 6.10, 6.11. Saya sudah test di semua versi ini oke semua koq mas.

    • April 26, 2014 at 12:00 pm

      @Asseggaf Yzal – Perhatikan dengan teliti Script tersebut. Interface WAN atau DialUp PPPoE-nya pake nama “SPEEDY”. Gunakan insting anda atau pake nama SPEEDY pasti Running koq.

      • Asseggaf Yzal
        April 29, 2014 at 3:49 pm

        stelah upgrade rb750 ke os versi 5.26, skrang script dan schedule udh klop, bisa jalan..tp mslhnya msh blm bisa auto update dst nat nya pak, utk interface dial up PPPoE clientnya udah bener kok, sy jg pake nama “SPEEDY”

        di log menunjukan tulisan :
        script info IP Public : xx.xx.xx/32
        script info DDNS: UPDATE Sukses Mas Bro!
        ddns error authentication failur (tulisan warna merah)

        user id dan password di isi user id login web box mikrotik ya pak? krn sy akses acount ddns noip sy, yg kebuka web box mikrotik…

        jika berkenan mohon penjelasannya lgi pak nathan utk scriptnya…trims sblumnya.. 🙂

      • Asseggaf Yzal
        April 29, 2014 at 4:24 pm

        sudah bisa pak..working…id-pasword pakai id ddns noip..

        trims sdh berbagi scriptnya..
        SUKSES SELALU utk pak Nathan..(Y)

      • April 29, 2014 at 5:34 pm

        @Asseggaf Yzal – Great… makasih kembali mas atas do’anya…

  3. May 20, 2014 at 10:11 am

    Pak Natan, gimana kalau saya butuh auto update untuk mikrotik yang multiple gateway ya ?
    Thanks untuk semua kerja keras dan kesediaannya berbagi selama ini..

    • May 20, 2014 at 10:13 am

      maksud saya salah satu gatewaynya aja yg mau dipakai untuk auto updater.

      • May 20, 2014 at 11:06 am

        @Djemmy ST – Tinggal arahkan mau pake Interface yang mana. Pada contoh tersebut untuk DialUp IP Public pake nama Interface “SPEEDY”. Jadi kalo ada interface “SPEEDY1”, “SPEEDY2”, “SPEEDY3”, dst… tentukan pada Script tersebut mau pake yang mana. Gitu mas…

      • May 23, 2014 at 8:15 am

        Pak Natan makasih infonya. Tp saya liat scriptnya gak lengkap apa lebar halamannya kurang ya sampai gak lengkap ?
        Tp kalau dicopy paste lengkap kok.
        Contohnya baris berikut ini saya copy paste hasilnya kek gini :
        :global ddnssystem (“mt-” . [/system package get [/system package find name=system] version] )
        :global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]
        :global ddnslastip

        Sekali lagi thanks.

      • June 30, 2014 at 9:36 am

        @Djemmy ST – Yup. Itu emang dari format teks nya mas. Copy Paste aja ke Notepad, baru dech di gunakan.

  4. Asseggaf Yzal
    June 3, 2014 at 4:24 pm

    setelah berjalan sekian minggu, di log muncul :
    script info IP Public : xx.xx.xx/32
    script info DDNS: UPDATE Sukses Mas Bro!
    ddns error authentication failur (tulisan warna merah)

    id dan pass sdh sy cek pak, script sdh di tulis ulang..tidak ada perubahan, kondisi skrng tdk bisa auto update, ddns pakai noip.com

    apakah sy coba beralih ke changeip.com..?

    mohon solusinya pak.. 🙂

    • June 30, 2014 at 9:38 am

      Asseggaf Yzal – “ddns error authentication failure”. Itu seperti salah password mas. Coba lakukan renew password.

  5. August 19, 2014 at 5:53 am

    kegunaannya untuk apa mas

    • August 22, 2014 at 5:52 pm

      @Krisman Tobing – Baca penjelasan bagian awal artikel berulang-ulang yach…

  6. September 17, 2014 at 8:06 am

    PAK KLAU PAKAI DDNS DR dyndns bisa gk . mohon penjelasannya
    sebelumnya makasih pak NATHAN. good luck

  7. October 30, 2014 at 6:19 pm

    Mas Nathan gimana klo ip publiknya ga bisa kebaca di mikrotik, Modem FirstMedia yang baru sudah include dhcp (tidak bisa di matikan). jadi yang terbaca di updatenya selalu ip private dari modem

  8. adi3n
    November 25, 2014 at 11:19 am

    mas nathan sy mau tny, sy pake router RB751U-2HnD, versi OS tadinya 5.23 sdh sy upgrade ke ver.6.22. Script sudah saya sesuaikan dg account sy di changeip.com dan juga untuk interface name (DialUp PPPoE) sy ganti jadi “biznet”, dan hasilnya masih NIHIL -> Run Count Scriptnya sdh 71 dan Run Count u/Scheduler nya 1, utk Log tidak ada tanda2 success atau muncul “DDNS: UPDATE Sukses Mas Bro!”, kira2 ada mslh dimana ya? tolong bantuannya..thanks

  9. November 29, 2014 at 2:01 am

    saya sudah melakukan, dan log sudah oke, namun tidak bisa di akses dengan nama host. jika di ping selalu replay 118.98.96.151

  10. December 16, 2014 at 3:13 am

    tanya masbro, script nya fail di ane bro, itu salah dimana ya ? ni ssnya -> http://goo.gl/DMrzjX dan satu lagi -> http://goo.gl/vdXnvm ; tolong bantuannya mas bro.. tq…

  11. May 25, 2015 at 7:19 am

    @pak Asseggah punya saya kasusnya seperti punya bapak persis.
    di log menunjukan tulisan :
    script info IP Public : xx.xx.xx/32
    script info DDNS: UPDATE Sukses Mas Bro!
    ddns error authentication failur (tulisan warna merah)
    Boleh minta tolong pak kira kira solusinya apa ya pak
    Terima kasih

  12. November 15, 2015 at 10:15 am

    mas bro mau tanya….kalau buat scripts agar kita dapat IP public sesuai keinginan kita bagaimana scripts nya ya mas bro? misal kita pengen dapat IP public hanya di 125.XXX.XXX.XXX, jadi misal kalau belum dapat IP tersebut mikrotik kembali dial (reconnect) sampai dapat IP yang kita inginkan. makasih mas bro 🙂

  13. June 15, 2016 at 2:52 am

    Pagi Pak mau tanya port forwading pakai dua buah mikrotik rb750gl
    kondisi dibawah ini.
    1.mikrotik1 mengunakan isp ip public static dengan pptp server, mikrotik2 mengunakan isp ip public dynamic dengan pptp client.

    2.segmen mikrotik1 ip address 192.168.0.0/24, segmen mikrotik2 ip address 192.168.20.0/24

    3. Kondisi VPN terkoneksi antara ip address bisa ping antara 192.168.0.0/24 dan 192.168.20.5 (tidak ada masalah koneksinya bisa akses).

    4. Masalahnya saya setting/membuat port forwading di mikrotik 1dibawah ini
    * kondisi port forwading ok saya membuat port forwading dengan destination adressnya
    untuk ip address 192.168.0.10 (kondisi ok cctv bisa diakses/ port forwading sukses)
    * kondisi port forwading gagal kalau saya destinatioan addressnya segmen 192.168.20.5
    (database server), kalau saya langsung port forwading dari modem speedy tidak ada masalah bisa saya akses tapi kalau mengunakan mikrotik gagal kenapa ya pak
    jadi masalahnya port forwading destination address ke ip segmen mikrotik 2 tidak bisa.

    Terima Kasih

  1. No trackbacks yet.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: