Setup VPN WireGuard di Rocky Linux, Simpel dan Cepat.

Di era sekarang, kebutuhan untuk mengakses server atau jaringan secara aman itu makin penting. Apalagi kalau kita sering ngelola server jarak jauh atau punya lab sendiri di rumah. Nah, salah satu solusi yang simpel, cepat, dan aman buat urusan ini adalah VPN (Virtual Private Network).

Di blog ini, aku bakal sharing cara konfigurasi VPN menggunakan WireGuard di OS Rocky Linux 9. WireGuard sendiri dikenal sebagai VPN yang ringan, performanya ngebut, dan konfigurasinya relatif lebih mudah dibanding VPN tradisional lainnya. Ditambah lagi, Rocky Linux 9 yang stabil bikin setup ini cocok banget buat kebutuhan server maupun pembelajaran.

Topologi

Install WireGuard di Rocky Linux 9

Langkah pertama yang perlu dilakukan adalah menginstall WireGuard di server Rocky Linux 9. Sebelum itu, kita perlu mengaktifkan EPEL repository terlebih dahulu karena paket WireGuard tersedia di repository tersebut.

sudo dnf install epel-release -y

Setelah EPEL aktif, selanjutnya lakukan instalasi wireguard-tools yang berisi perintah-perintah utama untuk mengelola WireGuard, seperti membuat key dan menjalankan interface VPN.

sudo dnf install wireguard-tools -y

Generate Key Pair (Kunci Enkripsi)

Setelah WireGuard berhasil diinstall, langkah selanjutnya adalah membuat key pair yang akan digunakan sebagai sistem keamanan pada koneksi VPN. WireGuard menggunakan metode public key dan private key untuk mengenali dan mengamankan komunikasi antara server dan client.

Pertama, kita membuat key untuk server. Perintah ini akan menghasilkan dua file, yaitu private key dan public key, yang nantinya digunakan dalam konfigurasi WireGuard. Private key bersifat rahasia dan hanya digunakan di sisi server, sedangkan public key boleh dibagikan ke client.

sudo mkdir -p /etc/wireguard

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

Selain key server, kita juga perlu membuat key untuk client. Key ini nantinya akan digunakan pada konfigurasi WireGuard di sisi client (misalnya laptop). Sama seperti server, client juga memiliki private key dan public key masing-masing.

wg genkey | sudo tee /etc/wireguard/client_private.key | wg pubkey | sudo tee /etc/wireguard/client_public.key

Dengan key pair ini, server dan client bisa saling mengenali dan membangun koneksi VPN yang aman tanpa menggunakan username dan password.

Catatan:
Private key yang sudah dibuat sebelumnya akan digunakan pada file konfigurasi WireGuard, tepatnya di bagian [Interface] pada file /etc/wireguard/wg0.conf. Pastikan private key diisi dengan benar karena key ini berperan sebagai identitas utama server VPN.

Buat Konfigurasi Server

Setelah key pair dibuat, langkah selanjutnya adalah membuat file konfigurasi WireGuard di sisi server. File ini digunakan untuk menentukan pengaturan dasar VPN, seperti identitas server, alamat IP VPN, dan port yang digunakan.

Pada tahap ini, kita cukup mengisi bagian [Interface] terlebih dahulu. Private key server dimasukkan ke bagian ini sebagai identitas server VPN. Alamat IP yang digunakan merupakan IP internal khusus VPN, bukan IP jaringan lokal.

sudo nano /etc/wireguard/wg0.conf

[Interface]
PrivateKey = <isi server_private.key>
Address = 10.10.10.1/24
ListenPort = 51820
SaveConfig = true

Penjelasan Konfigurasi

PrivateKey
Berisi private key milik server yang sudah dibuat sebelumnya. Key ini berfungsi sebagai identitas server dan harus dijaga kerahasiaannya.

Address = 10.10.10.1/24
Alamat IP virtual untuk server di dalam jaringan VPN. IP ini digunakan sebagai gateway VPN bagi client yang terhubung.

ListenPort = 51820
Port yang digunakan oleh WireGuard untuk menerima koneksi dari client. Secara default, WireGuard menggunakan port 51820 (UDP).

SaveConfig = true
Digunakan agar konfigurasi WireGuard yang berjalan dapat disimpan otomatis ketika interface dimatikan atau direstart.

Catatan tentang SaveConfig = true

Saat melakukan konfigurasi WireGuard, aku sempat mengalami kendala ketika menyimpan file konfigurasi, terutama saat file dibuat atau diedit menggunakan Notepad di Windows. Hal ini terjadi karena adanya baris SaveConfig = true pada file konfigurasi.

Secara fungsi, SaveConfig = true digunakan agar WireGuard bisa menyimpan perubahan konfigurasi secara otomatis saat interface dihentikan. Namun, dalam beberapa kondisi (terutama saat konfigurasi awal), baris ini justru bisa menyebabkan file tidak tersimpan dengan benar atau membuat WireGuard gagal dijalankan.

Untuk menghindari masalah tersebut, solusi yang dilakukan adalah menghapus baris SaveConfig = true dari file wg0.conf. Setelah baris tersebut dihapus, file konfigurasi bisa disimpan dengan normal dan WireGuard dapat dijalankan tanpa error.

Enable IP Forwarding

Agar VPN dapat meneruskan traffic jaringan, server perlu diizinkan untuk melakukan IP forwarding. IP forwarding berfungsi supaya server bisa meneruskan paket data dari client VPN ke jaringan lain atau ke internet.

Pada langkah ini, IP forwarding diaktifkan untuk IPv4 dan IPv6. Dengan pengaturan ini, client yang terhubung ke VPN tidak hanya bisa terkoneksi ke server, tetapi juga dapat mengakses jaringan atau internet melalui server VPN.

sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1

Setelah IP forwarding diaktifkan, server siap digunakan sebagai perantara lalu lintas jaringan VPN.

Firewall

Pada tahap ini, kita perlu mengatur firewall agar koneksi WireGuard bisa berjalan dengan lancar. Secara default, firewall di Rocky Linux masih membatasi akses jaringan tertentu, sehingga perlu dilakukan penyesuaian.

Port 51820 (UDP) dibuka agar server dapat menerima koneksi VPN dari client. Selain itu, interface WireGuard (wg0) dimasukkan ke zona internal dan NAT (masquerade) diaktifkan supaya traffic dari client VPN bisa diteruskan ke jaringan lain atau ke internet.

sudo firewall-cmd --permanent --add-port=51820/udp
sudo firewall-cmd --permanent --add-interface=wg0 --zone=internal
sudo firewall-cmd --permanent --add-masquerade
sudo firewall-cmd --reload

Setelah semua aturan firewall ditambahkan, firewall perlu direload agar konfigurasi yang baru bisa langsung diterapkan.

Tambahkan Peer (Client)

Setelah konfigurasi dasar server selesai, langkah berikutnya adalah menambahkan peer, yaitu perangkat client yang akan terhubung ke VPN. Penambahan peer dilakukan dengan menambahkan bagian [Peer] pada file konfigurasi wg0.conf.

Pada bagian ini, public key milik client dimasukkan agar server dapat mengenali client yang diizinkan terhubung. Sementara itu, AllowedIPs digunakan untuk menentukan alamat IP private client di dalam jaringan VPN. Dalam contoh ini, client menggunakan IP 10.10.10.2.

[Peer]
PublicKey = <isi client_private.key>
AllowedIPs = 10.10.10.2/32

Setelah peer ditambahkan, konfigurasi WireGuard perlu direstart agar perubahan yang dibuat dapat diterapkan. Dengan begitu, server sudah siap menerima koneksi dari client VPN.

sudo wg-quick down wg0
sudo wg-quick up wg0

Start & Enable WireGuard

Pada tahap ini, WireGuard dijalankan sebagai service agar bisa aktif secara otomatis setiap kali server melakukan booting. Dengan meng-enable service wg-quick@wg0, WireGuard akan langsung berjalan tanpa perlu dijalankan manual lagi.

Setelah service diaktifkan, WireGuard kemudian dijalankan menggunakan perintah start. Jika tidak muncul error, berarti konfigurasi WireGuard sudah berhasil dan server VPN siap digunakan untuk menerima koneksi dari client.

sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0

Client Laptop (Windows)

Setelah konfigurasi server WireGuard selesai, langkah selanjutnya adalah melakukan pengaturan di sisi client, dalam hal ini laptop dengan sistem operasi Windows. Client ini nantinya akan terhubung ke server VPN yang sudah dibuat sebelumnya.

Pertama, install aplikasi WireGuard. Setelah itu, buat sebuah file konfigurasi baru (misalnya laptop.conf) yang berisi pengaturan client, seperti private key client, alamat IP VPN, serta DNS yang digunakan.

Setelah file konfigurasi berhasil disimpan, buka aplikasi WireGuard di Windows. Selanjutnya, klik menu Add Tunnel, lalu pilih file konfigurasi yang sudah kamu buat sebelumnya. Setelah itu, klik Open untuk mengimpor konfigurasi ke aplikasi WireGuard.

Setelah konfigurasi berhasil di-import, kamu sudah bisa menggunakan VPN dengan cara mengklik tombol Activate pada aplikasi WireGuard. Jika status berubah menjadi Active tanpa error, berarti koneksi VPN sudah berhasil terhubung.

Nah, sampai di sini konfigurasi VPN menggunakan WireGuard di Rocky Linux sudah selesai. Mulai dari setup server, pengaturan firewall, sampai koneksi client di Windows, semuanya sudah kita bahas step by step.

Semoga tutorial ini bisa jadi gambaran dan membantu kamu yang lagi belajar jaringan atau lagi nyoba bikin VPN sendiri buat lab. Jangan ragu buat eksplorasi lebih lanjut dan utak-atik konfigurasinya biar makin paham cara kerjanya.

Terima kasih sudah mampir dan membaca sampai selesai. Semoga bermanfaat, dan selamat mencoba!


Posted

in

by

Tags:

Comments

Leave a Reply

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