Cara Install WireGuard VPN di Ubuntu 22.04
Pengantar
WireGuard adalah protokol VPN modern yang ringan, cepat, dan aman. WireGuard lebih mudah dikonfigurasi dibanding OpenVPN, dan sudah masuk ke kernel Linux sejak versi 5.6. Di Ubuntu 22.04, kamu bisa langsung menggunakannya tanpa perlu compile manual.
Install WireGuard di Ubuntu Server - side
- Update Sistem
Sebelum melakukan instalasi WireGuard anda harus melakukan update sistem
sudo apt update && sudo apt upgrade -y
- Install WireGuard
Install WireGuard pada server Ubuntu 24.04 dengan user root
apt install wireguard
- Generate Private Key
Jalankan sebagai sudo atau root
wg genkey | tee /etc/wireguard/private.key
Akan mengeluarkan output sebagai berikut
UPyBDGzvxIQgVmvCaJxUU7IW8urmUe3oy87qHiags0o=
- Generate Public Key
Akan mengeluarkan output sebagai berikutchmod 600 /etc/wireguard/private.key cat /etc/wireguard/private.key | wg pubkey | tee /etc/wireguard/public.key
H1RRxmRTidyFk3yav+jKdVStKNMfaUXMONSE25KtQjs=
Konfigurasi Interface Server
- Konfigurasi Interface
Buat file untuk mengkonfigurasikan interface pada server
nano /etc/wireguard/wg0.conf
- Masukan konfigurasi interface seperti dibawah
[Interface] PrivateKey = UPyBDGzvxIQgVmvCaJxUU7IW8urmUe3oy87qHiags0o= Address = 192.168.150.1/24 ListenPort = 51820 [Peer] PublicKey = WJYZ/Va4z0Ua8oMXwEcrKpWMFys0uGggi+AMn3wtBD4= AllowedIPs = 192.168.150.2/32
Private Key : Masukan Private Key milik Server
Address : Private IP untuk VPN Server
ListenPort : Port default dari WireGuard 51820 UDP
Public Key : Masukan Public Key milik Client
Install WireGuard di Almalinux Client - side
- Install WireGuard
Untuk bisa terhubung dengan VPN server anda harus install WireGuard untuk Client
sudo dnf wireguard-tools
- Generate Private Key
Setelah berhasil melakukan instalasi, anda harus mengenerate Private Key
Outputnyawg genkey | tee /etc/wireguard/private.key chmod 600 /etc/wireguard/private.key
OOoym1v/0HMSTuXAFeE8eaqG+BNDHDg9h6LvaWT7Vlo=
- Generate Public Key
Gunakan perintah berikut
Outputnyacat /etc/wireguard/private.key | wg pubkey | tee /etc/wireguard/public.key
WJYZ/Va4z0Ua8oMXwEcrKpWMFys0uGggi+AMn3wtBD4=
Konfigurasi Interface Client
- File Konfigurasi
Setelah mengenerate Private dan Publik Key anda bisa membuat file konfigurasi menggunakan perintah berikut
nano /etc/wireguard/wg0.conf
- Masukan Konfigurasi Interface
[Interface] PrivateKey = OOoym1v/0HMSTuXAFeE8eaqG+BNDHDg9h6LvaWT7Vlo= Address = 192.168.150.2/24 [Peer] PublicKey = H1RRxmRTidyFk3yav+jKdVStKNMfaUXMONSE25KtQjs= Endpoint = 103.151.141.xxx:51820 AllowedIPs = 192.168.150.0/24
Private Key: Private Key dari client
Address: Private Address untuk VPN Server
Public Key: Public Key dari VPN Server
Endpoint: Alamat IP publik dari server VPN beserta port yang dipakai.
AllowedIPs : Untuk mengatur IP yang diizinkan terkoneksi ke peer, Anda bisa menggunakan IP spesifik (misalnya 192.168.150.1) atau seluruh subnet (192.168.150.0/24). Jika ada beberapa IP, pisahkan dengan koma.
Jalankan WireGuard
Setelah melakukan konfigurasi didua sisi sekarang anda bisa menjalankan WireGuard menggunakan perintah berikut
systemctl start wg-quick@wg0.service
systemctl enable wg-quick@wg0.service
systemctl status wg-quick@wg0.service
Jalankan perintah diatas di sisi Client dan Server
Test Koneksi VPN
Gunakan perintah ini untuk melakukan tes koneksi
wg
Jika berhasil anda akan mendapatkan output sepert gambar dibawah
Atau anda juga bisa melakukan tes koneksi dengan cara menggunakan perintah ping, contoh ping dari sisi server
Dari sisi Client
Port Forwarding
Port forwarding adalah proses mengarahkan koneksi dari satu IP/port ke IP/port lain. Contoh Redirect koneksi dari IP publik port 8004 ke server lokal 192.168.150.4 port 8888
- Aktifkan IP Forwarding
Editecho 1 | sudo tee /proc/sys/net/ipv4/ip_forward
Cari atau tambahkansudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1
Aktifkan menggunakan perintah berikut
sudo sysctl -p
- Port Forwarding Menggunakan iptables
iptables -t nat -A PREROUTING -p tcp --dport 8003 -j DNAT --to-destination 192.168.150.4:8888
- -t nat = Menunjukkan bahwa aturan ini ditambahkan pada table NAT (Network Address Translation). NAT digunakan untuk mengubah alamat IP dalam paket yang lewat
- -A PREROUTING = Menambahkan aturan ke chain PREROUTING, yang berarti aturan ini akan diterapkan sebelum sistem memutuskan ke mana paket akan dikirim
- -p tcp = Aturan ini hanya berlaku untuk paket TCP
- --dport 8003 = IP publik dengan port 8004 yang akan diteruskan
- -j DNAT = Menyuruh iptables untuk melakukan DNAT (Destination NAT) – yaitu mengubah tujuan paket.
- -to-destination = Paket yang ditujukan ke port 8003 akan diteruskan ke IP 192.168.150.4 port 8888
- Simpan Konfigurasi
iptables-save
- Cek Konfigurasi
Untuk melihat apakah konfigurasi sudah tersimpan atau belum anda bisa menggunakan perintah berikut
Output-nyaiptables -L -t nat --line-numbers
Kesimpulan
WireGuard adalah solusi VPN ringan, cepat, dan aman untuk Ubuntu 22.04. Dengan konfigurasi sederhana dan performa tinggi, ini cocok untuk personal VPN, akses remote, maupun kebutuhan server-to-server. Kamu hanya perlu mengatur kunci dan IP per client, dan koneksi bisa berjalan dengan efisien.