Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Membuat Jaringan VPN Menggunakan SoftEther VPN Bagian #1

| Comments

Salah satu tantangan bagi kita, pengembang software untuk aplikasi bisnis berbasis desktop adalah ketika klien kita bertanya “Mas, databasenya kalau di taruh di server saja bisa ya? Jadi bisa di akses dari mana saja, soalnya butuh juga akses dari luar”, sedangkan kondisi database server mereka hanya mempunyai ip private. Solusi paling cepat dan murah (gratis) yang mungkin bisa kita tawarkan adalah dengan menggunakan software VPN. Ada banyak pilihan software VPN, mulai dari instalasinya yang gampang seperti Hamachi dan ZeroTier One atau yang sedikit lebih ribet tapi menawarkan segudang fitur yang wah seperti SoftEther VPN.

Apa itu VPN?

VPN (Virtual Private Network) adalah koneksi private melalui jaringan publik (dalam hal ini internet) yang bersifat virtual, dengan kata lain tidak ada koneksi jaringan secara riil antara 2 atau lebih perangkat (bisa pc, laptop, dll) yang akan berhubungan. VPN bersifat private sehingga tidak semua orang bisa mengaksesnya. Data yang dikirimkan terenkripsi sehingga tetap rahasia meskipun menggunakan jaringan publik. Selain untuk masalah keamanan data, VPN juga bisa digunakan untuk membuat koneksi private dari rumah ke jaringan toko atau kantor misalnya, tanpa menggunakan ip publik, cukup akses internet saja.

Aslinya saya tidak terlalu tertarik dengan solusi software VPN, tapi ini hanya buat jaga-jaga saja. Seperti yang sudah saya jelaskan di bagian intro.

Environment Test

Pembuatan jaringan VPN ini menggunakan environment test sebagai berikut:

Server VPN

  • Sistem Operasi: Windows 7
  • Software: SoftEther VPN Server
  • Relay Server: VPN Azure Cloud, layanan VPN gratis dari Microsoft

Client VPN

Selain Windows, SoftEther VPN juga mendukung OS Linux, Mac, FreeBSD dan Solaris.

Skema Jaringan

Sebelum dimulai, kita lihat terlebih dulu skema jaringan yang saya gunakan untuk uji coba membuat jaringan VPN menggunakan SoftEther VPN.

Pada gambar di atas kita bisa melihat, untuk koneksi VPN dari pc/laptop klien ke server VPN kantor melewati VPN Azure Cloud. Apa itu VPN Azure Cloud? VPN Azure Cloud adalah layanan VPN gratis dari Microsoft, dengan menggunakan layanan VPN ini sebagai relay server kita bisa membuat server VPN cukup dengan menggunakan ip private. Jadi itu alasan kenapa di postingan bagian pertama ini kita menggunakan layanan VPN Azure Cloud.

Instalasi SoftEther VPN Server

Langkah 1: Download SoftEther VPN versi Server

Klik link download SoftEther VPN, kemudian pilih SoftEther VPN Server di bawah drop-down list Select Component. Berikutnya di pilihan Select Platform pilih Windows

Versi terakhir saat postingan ini ditulis adalah versi (4.27, Build 9668, beta). Karna masih beta (artinya masih dalam tahap pengembangan dan tes), jadi saya akan menggunakan rilis stabil versi sebelumnya yaitu versi (4.25, Build 9656, rtm).

Kemudian klik link SoftEther VPN Server and VPN Bridge (Ver 4.25, Build 9656, rtm) untuk memulai proses download.

Langkah 2: Instalasi SoftEther VPN versi Server

Jalankan file EXE SoftEther VPN Server yang sudah didownload untuk memulai instalasi SoftEther VPN versi Server. Setelah instalasi berjalan untuk pertama kali akan tampil jendela welcome, klik tombol Next untuk melanjutkan instalasi.

Selanjutnya akan tampil jendela untuk memilih jenis SoftEther VPN Server.

Pilih SoftEther VPN Server kemudian klik tombol Next. Selanjutnya di jendela End User License Agreement, aktifkan pilihan I agree … , kemudian klik Next.

Kemudian klik tombol Next beberapa kali sampai proses instalasi SoftEther VPN Server dimulai.

Setelah instalasi selesai, di jendela Setup Finished, aktifkan pilihan Start the SoftEther VPN Server Manager kemudian klik tombol Finish.

Konfigurasi SoftEther VPN Server

Langkah 1: Mengatur setting koneksi untuk SoftEther VPN Server

Setelah proses instalasi selesai, akan tampil jendela SoftEther VPN Server Manager, kemudian klik tombol Connect.

Setelah itu akan diminta untuk menginputkan password administrator.

Langkah 2: Memilih jenis SoftEther VPN Server

Pada jendela ini kita aktifkan pilihan Remote Access VPN Server.

Langkah 3: Konfigurasi Virtual Hub

Jendela berikutnya adalah mengeset konfigurasi Virtual Hub. Penamaan Virtual Hub biasanya berdasarkan lokasi dari server, misal KANTOR-JOGJA-VPN.

Langkah 4: Konfigurasi Dynamic DNS Function

Jendela berikutnya adalah pengaturan Dynamic DNS Function. Di jendela ini Anda bisa menggunakan pengaturan default atau bisa juga mengganti nilai dari Dynamic DNS Hostname

Jika gagal, ada kemungkinan Dynamic DNS Hostname sudah digunakan, Anda bisa mencoba Hostname yang lain. Setelah itu klik tombol Exit

Langkah 5: Konfigurasi IPSec / L2TP / L2TPv3

Untuk saat ini kita tidak perlu melakukan perubahan konfigurasi di jendela ini karna kita akan menggunakan layanan VPN Azure Cloud relay server sebagai layanan VPN gratis dari Microsoft.

Kecuali jika ingin menggunakan layanan VPS (Virtual Private Server) sendiri apakah berbasis windows atau linux, Anda harus mengaktifkan pilihan Enable L2TP Server Function, agar server VPNnya bisa diakses dari client.

Langkah 6: Mengaktifkan layanan VPN Azure Cloud

Langkah berikutnya adalah mengaktifkan layanan VPN Azure Cloud relay server sebagai layanan VPN gratis dari Microsoft.

Aktifkan pilihan Enable VPN Azure, kemudian tunggu sampai statusnya menjadi Connected. Untuk penamaan hostname VPN Azure, menyesuaikan dengan Konfigurasi Dynamic DNS Function (langkah 4).

Langkah 7: Membuat User

Langkah berikutnya adalah membuat user yang boleh mengakses server VPN. Pada langkah ini sangat penting untuk membuat kombinasi password yang kompleks mengingat hubungannya dengan keamanan server VPN Anda.

Langkah 8: Konfigurasi Local Bridge

Setelah berhasil membuat user, langkah berikutnya adalah mengeset konfigurasi Local Bridge dengan cara memilih network adapter dari daftar yang tersedia. Pilihlah network adapter yang terhubungan dengan jaringan lokal. Jangan memilih Wi-Fi adapter karena tidak direkomendasikan untuk membuat Local Bridge.

Langkah 9: Mengaktifkan Konfigurasi SecureNAT (optional)

Langkah ini sifatnya optional, jadi tergantung kondisi jaringan lokal dari server VPN Anda. Jika jaringan lokal dari server VPN mengaktifkan fungsi DHCP Server (ip dinamis) maka setting ini tidak perlu diaktifkan, sebaliknya jika jaringan lokal server VPN menggunakan ip statis, maka setting ini harus diaktifkan dengan mengklik tombol Manage Virtual Hub.

Kemudian klik tombol Virtual NAT and Virtual DHCP Server (SecureNAT)

Untuk melihat konfigurasi default DHCP Server yang digunakan, klik tombol SecureNAT Configuration

Anda bisa mengganti konfigurasi di atas sesuai dengan kebutuhan.

Kemudian klik tombol Enable SecureNAT untuk mengaktifkan konfigurasi SecureNAT

Instalasi SoftEther VPN Client

Langkah 1: Download SoftEther VPN versi Client

Klik link download SoftEther VPN, kemudian pilih SoftEther VPN Client di bawah drop-down list Select Component. Berikutnya di pilihan Select Platform pilih Windows

Kemudian download versi stabil pada saat postingan ini ditulis yaitu versi (4.25, Build 9656, rtm)

Kemudian klik link SoftEther VPN Client (Ver 4.25, Build 9656, rtm) untuk memulai proses download.

Langkah 2: Instalasi SoftEther VPN versi Client

Jalankan file EXE SoftEther VPN Client yang sudah didownload untuk memulai instalasi SoftEther VPN versi Client. Setelah instalasi berjalan untuk pertama kali akan tampil jendela welcome, klik tombol Next untuk melanjutkan instalasi.

Selanjutnya akan tampil jendela untuk memilih jenis SoftEther VPN Client.

Pilih SoftEther VPN Client kemudian klik tombol Next. Selanjutnya di jendela End User License Agreement, aktifkan pilihan I agree … , kemudian klik Next.

Kemudian klik tombol Next beberapa kali sampai proses instalasi SoftEther VPN Client dimulai.

Setelah instalasi selesai, di jendela Setup Finished, aktifkan pilihan Start the SoftEther VPN Client Manager kemudian klik tombol Finish.

Konfigurasi SoftEther VPN Client

Langkah 1: Membuat Virtual Network Adapter

Virtual Network Adapter digunakan oleh SoftEther VPN Client untuk melakukan koneksi ke server VPN. Cara untuk menambahkan Virtual Network Adapter dengan mengklik kanan list Virtual Network Adapter kemudian pilih New Virtual Network Adapter…

Untuk saat ini kita menggunakan nama default saja, kemudian klik tombol Ok. Setelah itu akan tampil jendela proses pembuatan Virtual Network Adapter.

Virtual Network Adapter berhasil ditambahkan.

Langkah 2: Membuat Koneksi VPN

Klik ganda item Add VPN Connection

Setelah itu akan tampil jendela New VPN Connection setting

Untuk informasi Host Name, Port Number dan Virtual Hub Name, nilainya disesuaikan dengan konfigurasi SoftEther Server Manager

Selanjutnya klik tombol Advanced Settings …

Kemudian lakukan perubahan konfigurasi seperti berikut.

Sampai di sini semua konfigurasi sudah selesai baik di sisi server maupun klien.

Langkah 3: Tes Koneksi VPN

Untuk melakukan tes koneksi VPN, klik ganda item Koneksi VPN Kantor Jogja.

Tunggu beberapa saat, dan jika berhasil status koneksi VPN menjadi Connected

Setelah terkoneksi ke server VPN, kita bisa melakukan beberapa tes, misal:

  1. Melakukan ping ke beberapa pc yang ada di kantor.
  2. Melakukan remote menggunakan RDC (Remote Desktop Connection).
  3. Atau query langsung ke server database.

Dan jika berhasil, selamat !!!, Anda sudah mempunyai server VPN sendiri dan bisa mengakses jaringan internal kantor dari mana saja.

Kesimpulan

Dengan menggunakan software SoftEther VPN dan layanan VPN Azure Cloud dari Microsoft, proses pembuatan server VPN menjadi mudah cukup menggunakan ip private dengan biaya 0 rupiah.

Selamat Mencoba :-)

Referensi:

vpn

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service, Microservice) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database, Continuous Integration & Deployment dan arsitektur Microservice.
Saat ini bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« GitLab CI untuk .NET Developer Bagian #2

Comments