Step by Step AutoUpdate Port Forwarding IP Public Dynamic dengan Mikrotik

3CX Phone System 10 Access CCTV - DVR with Mikrotik ADSL Speedy Artikel IT, Tips & Trik Artikel Nathan Gusti Ryan DataCenter IP PBX Server IP PBX System Mikrotik Mikrotik Firewall Mikrotik FreeDDNS Mikrotik Port Forwarding Networking Posting Kang N4th4n Remote Access Server System Solusi Corporate - SOHO Strategy - IT Solution Tips & Trik Internet Tips & Triks Internet Tips & Triks Networking WebServer

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 :

http://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…

16 thoughts on “Step by Step AutoUpdate Port Forwarding IP Public Dynamic dengan Mikrotik

  1. 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. 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?

      1. 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.. 🙂

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

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

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

      1. @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…

      2. 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.

  4. 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.. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *