Cara Menginstall WireGuard di Ubuntu 22.04

Wireguard adalah salah satu layanan VPN terbaru yang semakin populer di kalangan pengguna internet. Dalam artikel ini, saya akan membahas cara menginstall Wireguard Server di Ubuntu 22.04.

Persyaratan

Sebelum menginstall Wireguard Server, pastikan sistem Ubuntu 22.04 telah diperbarui dan memenuhi persyaratan yang dibutuhkan. Beberapa persyaratan yang dibutuhkan antara lain mengaktifkan kernel Wireguard dan menginstall paket Wireguard.

Mengaktifkan Kernel Wireguard

Pertama, pastikan kernel Ubuntu 22.04 telah mendukung Wireguard dengan mengeceknya menggunakan command

ls /lib/modules/$(uname -r)/kernel/net/wireguard

Jika ada output yang muncul, maka kernel sudah mendukung Wireguard.

Langkah Instalasi Wireguard Server

Selanjutnya, install paket Wireguard menggunakan command

sudo apt install wireguard

Tunggu hingga proses instalasi selesai.

Membuat Kunci Privat dan Publik untuk Server

Setelah instalasi Wireguard selesai, buat kunci privat dan publik untuk server menggunakan command

umask 077; wg genkey | tee privatekey | wg pubkey > publickey

Kunci privat akan disimpan pada file “privatekey” dan kunci publik akan disimpan pada file “publickey”.

Mengonfigurasi Interface Wireguard

Buat file konfigurasi Wireguard dengan command:

sudo nano /etc/wireguard/wg0.conf

File konfigurasi biasanya diberi nama “wg0.conf”, namun bisa diubah sesuai kebutuhan.

Isi file konfigurasi dengan konfigurasi dasar Wireguard. Berikut adalah contoh konfigurasi dasar yang bisa digunakan:

[Interface]
Address = 10.0.0.1/24
PrivateKey = <server-private-key>
ListenPort = 51820
[Peer]
PublicKey = <client-public-key>
AllowedIPs = 10.0.0.2/32

Penjelasan konfigurasi tersebut adalah sebagai berikut:

  • [Interface] adalah bagian yang mendefinisikan interface Wireguard server. Pada contoh di atas, didefinisikan alamat IP server pada subnet 10.0.0.0/24.
  • Address adalah alamat IP interface Wireguard server. Pada contoh di atas, alamat IP adalah 10.0.0.1/24.
  • PrivateKey adalah kunci privat server yang sudah dibuat sebelumnya.
  • ListenPort adalah port yang digunakan oleh Wireguard untuk koneksi. Pada contoh di atas, port yang digunakan adalah 51820.
  • [Peer] adalah bagian yang mendefinisikan peer/client Wireguard.
  • PublicKey adalah kunci publik client yang sudah dibuat sebelumnya.
  • AllowedIPs adalah subnet yang diizinkan untuk terhubung ke server. Pada contoh di atas, hanya client dengan alamat IP 10.0.0.2 yang diizinkan terhubung ke server.

Simpan file konfigurasi dan keluar dari editor.

Setelah melakukan konfigurasi interface Wireguard, langkah selanjutnya adalah melakukan konfigurasi firewall untuk Wireguard.

Mengkonfigurasi Firewall untuk Wireguard

  1. Buka port Wireguard pada firewall dengan command:
sudo ufw allow 51820/udp

Command di atas akan membuka port 51820/udp pada firewall, yang merupakan port default yang digunakan oleh Wireguard.

  1. Aktifkan IP forwarding pada server dengan command:
sudo sysctl -w net.ipv4.ip_forward=1

Command di atas akan mengaktifkan IP forwarding pada server, yang memungkinkan server untuk meneruskan paket dari client ke internet dan sebaliknya.

  1. Konfigurasi NAT (Network Address Translation) pada server. NAT diperlukan agar paket dari client bisa terhubung ke internet. Gunakan command berikut:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Command di atas akan menambahkan aturan pada tabel nat dengan target MASQUERADE, yang akan mengubah alamat IP client menjadi alamat IP server saat paket diteruskan ke internet.

  1. Simpan konfigurasi iptables dengan command:
sudo netfilter-persistent save

Command di atas akan menyimpan konfigurasi iptables ke dalam file yang akan otomatis dimuat pada saat server di-booting.

Setelah melakukan konfigurasi firewall untuk Wireguard, langkah selanjutnya adalah melakukan restart Wireguard dan firewall dengan cara

sudo systemctl restart wg-quick@wg0
sudo systemctl restart ufw

Membuat Konfigurasi Client

Buat direktori untuk menyimpan kunci client dengan command:

mkdir ~/wg-client

Command di atas akan membuat direktori “wg-client” di home directory.

Buat kunci privat dan publik untuk client dengan command:

wg genkey | tee ~/wg-client/privatekey | wg pubkey > ~/wg-client/publickey

Command di atas akan menghasilkan kunci privat dan publik untuk client, dan menyimpan kunci privat pada file “privatekey” dan kunci publik pada file “publickey” di direktori “wg-client”.

Buat file konfigurasi client dengan command:

nano ~/wg-client/wg-client.conf

Command di atas akan membuka editor nano untuk membuat file konfigurasi client.

Isi file konfigurasi client dengan konfigurasi dasar Wireguard. Berikut adalah contoh konfigurasi dasar yang bisa digunakan:

[Interface]
Address = 10.0.0.2/32
PrivateKey = <client-private-key>
[Peer]
PublicKey = <server-public-key>
AllowedIPs = 0.0.0.0/0
Endpoint = <server-public-ip>:51820
PersistentKeepalive = 25

Penjelasan konfigurasi tersebut adalah sebagai berikut:

  • [Interface] adalah bagian yang mendefinisikan interface Wireguard client. Pada contoh di atas, didefinisikan alamat IP client pada subnet 10.0.0.0/24.
  • Address adalah alamat IP interface Wireguard client. Pada contoh di atas, alamat IP adalah 10.0.0.2/32.
  • PrivateKey adalah kunci privat client yang sudah dibuat sebelumnya.
  • [Peer] adalah bagian yang mendefinisikan peer/server Wireguard.
  • PublicKey adalah kunci publik server yang sudah dibuat sebelumnya.
  • AllowedIPs adalah subnet yang diizinkan untuk diakses oleh client. Pada contoh di atas, client diizinkan untuk mengakses semua subnet (0.0.0.0/0).
  • Endpoint adalah alamat IP publik server yang akan dihubungi oleh client untuk terhubung ke server.
  • PersistentKeepalive adalah interval waktu dalam detik untuk mengirim paket “keepalive” dari client ke server agar koneksi tetap terjaga.
  1. Simpan file konfigurasi dan keluar dari editor.

Setelah membuat konfigurasi client, langkah selanjutnya adalah mengirimkan kunci publik client ke server dan mengaktifkan koneksi Wireguard pada client.

Menghubungkan ke Wireguard Server

Setelah membuat konfigurasi client dan mengirimkan kunci publik client ke server, langkah selanjutnya adalah menghubungkan client ke Wireguard server.

Aktifkan koneksi Wireguard pada client dengan command:

sudo wg-quick up ~/wg-client/wg-client.conf

Command di atas akan mengaktifkan koneksi Wireguard pada client dengan menggunakan konfigurasi yang sudah dibuat sebelumnya.

Verifikasi koneksi dengan command:

sudo wg

Command di atas akan menampilkan status koneksi Wireguard pada client. Pastikan bahwa terdapat “handshake” yang berhasil dengan server.

Verifikasi koneksi dari server dengan command:

sudo wg show wg0

Command di atas akan menampilkan status koneksi Wireguard pada server. Pastikan bahwa terdapat “handshake” yang berhasil dengan client.

Setelah berhasil terhubung, client sudah bisa mengakses subnet yang diizinkan pada konfigurasi AllowedIPs. Untuk memutuskan koneksi, gunakan command:

sudo wg-quick down ~/wg-client/wg-client.conf

Dengan demikian, tutorial cara menginstall dan mengonfigurasi Wireguard server di Ubuntu 22.04 serta membuat konfigurasi dan menghubungkan client ke server telah selesai.

Kesimpulan

Wireguard merupakan salah satu protokol VPN modern yang sangat cepat dan ringan, serta mudah dikonfigurasi. Pada artikel ini, telah dijelaskan langkah-langkah untuk menginstall dan mengonfigurasi Wireguard server di Ubuntu 22.04 serta membuat konfigurasi dan menghubungkan client ke server. Dalam tutorial ini, juga dijelaskan cara untuk mengonfigurasi firewall untuk memperbolehkan koneksi Wireguard dan mengaktifkan koneksi Wireguard pada server dan client.

Dalam mengimplementasikan Wireguard pada server, sangat penting untuk mengamankan kunci privat pada server dan klien. Jangan pernah membagikan kunci privat ke pihak lain dan simpanlah kunci privat dengan aman. Gunakan password yang kuat pada kunci privat dan pastikan untuk mengenkripsi kunci privat dengan teknologi enkripsi yang aman. Selain itu, pastikan server Anda selalu diperbarui dengan patch keamanan terbaru untuk mengurangi risiko terjadinya keamanan yang kurang.

Sejak tahun 2015, saya telah terjebak dalam keajaiban dunia teknologi sebagai seorang Tech Enthusiast. Melalui situs web ini, saya berbagi pemikiran, pengalaman, dan pengetahuan saya. Merawat kucing dan burung adalah kegemarannya.

Leave a Comment