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…

Comments
  1. likopurba says:

    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 says:

    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 says:

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

    • @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.

    • @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 says:

        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 says:

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

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

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

Leave a Reply

Fill in your details below or click an icon to log in:

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