[TUTORIAL] Mikrotik Router - Konfigurasi IPsec VPN Site-to-Site Preshared Key IKE2

How to establish a Site-to-Site IPsec VPN connection with Mikrotik Routers using a preshared key IKEv2.

Ini adalah dokumentasi project yang saya dapatkan dari teman kuliah. Bermula dari obralan di group WA yang beliau tanyakan, apakah ada yang bisa setting Mikrotik? Lalu saya mencoba menjawab dan mendetailkan pertanyaan tersebut dengan langsung menelpon. Singkatnya dikantor beliau membutuhkan koneksi antara kantor pusat dengan kantor cabang, dimana kebutuhan tersebut untuk memindahkan data atau gambar, yang selama ini berjalan adalah menggunakan Gmail dan itu merepotkan. Padahal mereka mempunyai NAS (Network Attached Storage) dan beberapa server yang bisa dijadikan File Share untuk kebutuhan tersebut.

Setelah mendapatkan detailnya, saya langsung memberikan rekomendasi menggunakan Mikrotik IPsec VPN Site-to-Site Preshared Key IKE2. Selanjutnya yang harus saya pastikan adalah koneksi internetnya, walaupun dikantornya sudah menggunakan 2 buah koneksi internet tapi koneksinya tersebut masih Shared atau Up to dan tidak mendapatkan IP Public. Sedangkan untuk membangun koneksi IPsec VPN Site-to-Site membutuhkan koneksi yang stabil 'Dedicated 1:1' serta mendapatkan minimal 1 Public, apalagi koneksi ini bertujuan untuk File Share dan transfer file gambar. Akhirnya beliau mencari dan mengganti 1 koneksi dari Shared ke Dedicated.

Berikut Topologi & Skenarionya


Network Diagram IPsec VPN Site-to-Site Mikrotik - ITSTAFF.web.id

Location JAKARTA UTARA JAKARTA SELATAN
Site Head Office Branch Office
Device Name Mikrotik CCR1009-7G-1C-1S+ Mikrotik CCR1009-7G-1C-1S+
Device Firmware 6.49 Stable 6.49 Stable
Device IP 192.168.80.1 192.168.90.1
LAN Subnet 192.168.80.0/24 192.168.90.0/24
LAN Port Eth1 Eth1
WAN Bandwidth Dedicated 10 Mbps Dedicated 10 Mbps
WAN IP 104.145.150.111 104.145.150.123
WAN Port Eth3 Eth3
IPsec Connection Type Site-to-Site Site-to-Site
IPsec Exchange Mode IKE2
Passive
IKE2
Send INITIAL_CONTACT
IPsec Auth. Method Preshared key Preshared key

Oke lah kalau begitu, tanpa basa-basi lagi, langsung saja mari kita mulai konfigurasi...

1. Konfigurasi CCR1009-JAKUT - Head Office

1.1. Login ke Mikrotik CCR1009-7G-1C-1S+, disini saya menggunakan Winbox. Langkah pertama adalah membuat IPsec Profile, IPIPsecProfiles + 'Add'

  • Name: IKEMK
  • Hash Algorithms: sha256
  • PRF Algorithms: auto
  • Encryption Algorithms: aes-256 checked
  • DH Group: modp2048 checked
  • NAT Traversal unchecked
  • Apply & OK
IPsec Profile Mikrotik - ITSTAFF.web.id

1.2. Sekarang membuat IPsec Proposal, klik IPIPsecProposals + 'Add'

  • Name: HQ_IKEMK
  • Auth. Algorithms: sha256 checked
  • Encr. Algorithms: aes-256 cbc checked
  • Lifetime: 00:30:00
  • PFS Group: modp2048
  • Apply & OK
IPsec Proposal Mikrotik - ITSTAFF.web.id

1.3. Selanjutnya adalah membuat IPsec Peer, klik IPIPsecPeers + 'Add'

  • Name: VPN_JAKSEL
  • Address: 104.145.150.123
  • Profile: IKEMK
  • Exchange Mode: IKE2
  • Passive checked
  • Apply & OK
IPsec Peer Mikrotik - ITSTAFF.web.id

1.4. Selanjutnya adalah membuat IPsec Identity, klik IPIPsecIdentities + 'Add'

  • Peer: VPN_JAKSEL
  • Auth. Method: pre shared key
  • Secret: <Password IPsec>
  • Apply & OK
IPsec Identity Mikrotik - ITSTAFF.web.id

1.5. Selanjutnya adalah membuat IPsec Policy, klik IPIPsecPolicies+ 'Add'

  • Peer: VPN_JAKSEL
  • Tunnel checked
  • Src. Address: 192.168.90.0/24
  • Dst. Address: 192.168.80.0/24
  • Protocol: 255 (all)
  • Action: encrypt
  • Level: require
  • IPsec Protocols: esp
  • Proposal: HQ_IKEMK
  • Apply & OK
IPsec Policy General Mikrotik - ITSTAFF.web.id
IPsec Policy Action Mikrotik - ITSTAFF.web.id

1.6. Terakhir adalah membuat IP Route, klik IPRoutes+ 'Add'

  • Dst. Address: 192.168.90.0/24
  • Gateway: ether3
  • Apply & OK
IP Routes Mikrotik - ITSTAFF.web.id

2. Konfigurasi CCR1009-JAKSEL - Branch Office

Konfigurasi antara site CCR1009-JAKSEL Branch Office dengan site CCR1009-JAKUT Head Office, kurang lebih sama. Perbedaan di naming, IP Address dan beberapa konfigurasi seperti dibawah ini.

2.1. Login ke Mikrotik CCR1009-7G-1C-1S+, disini saya menggunakan Winbox. Langkah pertama adalah membuat IPsec Profile, samakan seperti konfigurasi 1.1. IPsec Profile.

2.2. Sekarang membuat IPsec Proposal, ikuti konfigurasi 1.2. IPsec Proposal.

  • Name: BQ_IKEMK
  • Apply & OK
IPsec Proposal Mikrotik - ITSTAFF.web.id

2.3. Selanjutnya adalah membuat IPsec Peer, klik IPIPsecPeers + 'Add'

  • Name: VPN_JAKUT
  • Address: 104.145.150.111
  • Profile: IKEMK
  • Exchange Mode: IKE2
  • Send INITIAL_CONTACT checked
  • Apply & OK
IPsec Peer Mikrotik - ITSTAFF.web.id

2.4. Selanjutnya adalah membuat IPsec Identity, klik IPIPsecIdentities + 'Add'

  • Peer: VPN_JAKUT
  • Auth. Method: pre shared key
  • Secret: <Password IPsec>
  • Apply & OK
IPsec Identity Mikrotik - ITSTAFF.web.id

2.5. Selanjutnya adalah membuat IPsec Policy, klik IPIPsecPolicies+ 'Add'

  • Peer: VPN_JAKUT
  • Tunnel checked
  • Src. Address: 192.168.80.0/24
  • Dst. Address: 192.168.90.0/24
  • Protocol: 255 (all)
  • Action: encrypt
  • Level: require
  • IPsec Protocols: esp
  • Proposal: BQ_IKEMK
  • Apply & OK
IPsec Policy General Mikrotik - ITSTAFF.web.id
IPsec Policy Action Mikrotik - ITSTAFF.web.id

2.6. Terakhir adalah membuat IP Route, klik IPRoutes+ 'Add'

  • Dst. Address: 192.168.80.0/24
  • Gateway: ether3
  • Apply & OK
IP Routes Mikrotik - ITSTAFF.web.id

Dengan konfigurasi diatas, harusnya tunnel IPsec VPN Site-to-Site sudah terbentuk. Kalian bisa cek statusnya di Active Peers & Installed SAs, klik IPIPsecActive Peers and Installed SAs

  • CCR1009-JAKUT - HEAD OFFICE (Passive/Responder)
  • Status IPsec Active Peers Mikrotik - ITSTAFF.web.id
  • CCR1009-JAKSEL - BRANCH OFFICE (Initiator)
  • Status IPsec Active Peers Mikrotik - ITSTAFF.web.id
    Status IPsec Installed SAs Mikrotik - ITSTAFF.web.id

3. Pengujian

Tunnel IPsec VPN Site-to-Site di Mikrotik CCR1009-JAKUT Head Office dan CCR1009-JAKSEL Branch Office sudah terbentuk, sekarang adalah tahap testing, disini saya melakukan ping dari perangkat Mikrotik Router dikedua sisi, dibawah ini hasilnya.


[it@CCR1009-JAKUT] > ping 192.168.90.1
  SEQ HOST                                     SIZE TTL TIME  STATUS
  
    0 192.168.90.1                               56  64 8ms  
    1 192.168.90.1                               56  64 7ms  
    2 192.168.90.1                               56  64 7ms  
    3 192.168.90.1                               56  64 7ms  
    4 192.168.90.1                               56  64 7ms  
    5 192.168.90.1                               56  64 8ms  
    sent=6 received=6 packet-loss=0% min-rtt=7ms avg-rtt=7ms max-rtt=8ms 

[it@CCR1009-JAKSEL] > ping 192.168.80.1
  SEQ HOST                                     SIZE TTL TIME  STATUS
  
    0 192.168.80.1                               56  64 7ms  
    1 192.168.80.1                               56  64 8ms  
    2 192.168.80.1                               56  64 7ms  
    3 192.168.80.1                               56  64 7ms  
    4 192.168.80.1                               56  64 8ms  
    5 192.168.80.1                               56  64 7ms  
    sent=6 received=6 packet-loss=0% min-rtt=7ms avg-rtt=7ms max-rtt=8ms 

Namun ketika saya ping dari client di masing-masing site, hasilnya Request time out.

Result ping - ITSTAFF.web.id

Walaupun tunnel IPsec VPN Site-to-Site sudah terbentuk dan established, namun komunikasi antara site belum bisa dikarenakan kedua sisi Router terdapat konfigurasi NAT masquerade. Solusinya adalah melakukan NAT bypass dengan menambahkan konfigurasi di bawah ini, pastikan posisi rule NAT bypass ini berada di paling atas (0) atau berada di atas masquerade.

3.1. Membuat konfigurasi NAT bypass di CCR1009-JAKUT, klik IPFirewallNAT+ 'Add'

  • Chain: srcnat
  • Src. Address: 192.168.80.0/24
  • Dst. Address: 192.168.90.0/24
  • Action: accept
  • Comment: bypass_JAKSEL
  • Apply & OK
Firewall NAT Bypass Mikrotik - ITSTAFF.web.id

3.2. Membuat konfigurasi NAT bypass di CCR1009-JAKSEL, klik IPFirewallNAT+ 'Add'

  • Chain: srcnat
  • Src. Address: 192.168.90.0/24
  • Dst. Address: 192.168.80.0/24
  • Action: accept
  • Comment: bypass_JAKUT
  • Apply & OK
Firewall NAT Bypass Mikrotik - ITSTAFF.web.id

Pastikan konfigurasi NAT bypass berada di paling atas (0) atau berada di atas masquerade. Sekarang uji kembali dengan ping dari client, berikut hasilnya.

Result ping reply - ITSTAFF.web.id

Selesai, tunnel IPsec VPN Site-to-Site di kedua sisi sudah berkerja dan transfer file antara site pun berjalan. Akhirnya kantor beliau yang dulunya mindahin file menggunakan Gmail, sekarang sudah menggunakan NAS untuk file sharing. Itu saja yang saya lalukan dalam membuat koneksi IPsec VPN Site-to-Ste Pre Shared Key IKE2 di Mikrotik, konfigurasi di atas bisa juga diterapkan untuk Mikrotik Router series. Semoga catatan ini bisa berguna untuk saya dan kalian yang membacanya.


MIKROTIK NOTES
1. Fitur IKE2 IPsec bisa berjalan dari versi RouterOS v6.38.1
2. Supaya Site-to-Site IPsec ini dapat terbentuk maka pastikan kalian tidak melakukan filtering terhadap protocol UDP Port 500 dan port 4500
3. Ketika kalian mengaktifkan Fasttrack, maka IPsec masih tidak bisa berjalan. Untuk detail solusinya anda bisa kunjungi halaman wiki.mikrotik.com