Lewati ke konten

5. VPN dengan WireGuard

WireGuard adalah VPN modern: cepat, aman, dan konfigurasinya cuma beberapa baris. GSTNV-LAB memakainya untuk menghubungkan server lab di rumah dengan VPS publik.

  • Setiap ujung tunnel disebut peer dan punya pasangan kunci: private key (rahasia, tidak pernah dibagikan) dan public key (boleh dibagikan).
  • Kamu memberikan public key-mu ke VPS, VPS memberikan public key-nya padamu. Dengan itu keduanya bisa saling mengenali dan mengenkripsi data.
  • Tunnel punya jaringan sendiri, misalnya 10.10.10.0/24: VPS = 10.10.10.1, server lab = 10.10.10.2.
[Interface]
PrivateKey = <isi private key server lab>
Address = 10.10.10.2/24
[Peer]
PublicKey = <public key VPS>
Endpoint = 203.0.113.10:51820
AllowedIPs = 10.10.10.1/32
PersistentKeepalive = 25
Baris Arti
Address IP server ini di dalam tunnel
PublicKey (Peer) identitas VPS
Endpoint alamat publik VPS + port WireGuard
AllowedIPs IP mana yang dikirim lewat tunnel ke peer ini
PersistentKeepalive kirim sinyal tiap 25 detik agar tunnel tetap hidup di belakang NAT/router rumah
  1. Pasang WireGuard: sudo apt install wireguard

  2. Buat pasangan kunci:

    Terminal window
    wg genkey | tee privatekey | wg pubkey > publickey
    chmod 600 privatekey

    wg genkey membuat private key → tee menyimpannya ke file sekaligus meneruskannya → wg pubkey menghitung public key-nya.

  3. Tulis /etc/wireguard/wg0.conf. Di lab, kita salin contoh lalu ganti placeholder dengan sed dan command substitution $(cat privatekey), yang menyisipkan isi file ke dalam perintah:

    Terminal window
    sudo cp wg0.conf.contoh /etc/wireguard/wg0.conf
    sudo sed -i "s|ISI_PRIVATE_KEY|$(cat privatekey)|" /etc/wireguard/wg0.conf
  4. Nyalakan dan periksa:

    Terminal window
    sudo wg-quick up wg0
    sudo wg show # cari "latest handshake"
    ping -c 3 10.10.10.1
Lab: Membangun tunnel WireGuard
Misi 0/9
  1. Baca data VPS yang akan dihubungkan.
    Petunjukcat info-vps.txt
  2. Pasang WireGuard.
    Petunjuksudo apt install wireguard
  3. Buat pasangan kunci: simpan ke privatekey dan publickey.
    Petunjukwg genkey | tee privatekey | wg pubkey > publickey
  4. Lindungi kunci privat: hanya kamu yang boleh membaca.
    Petunjukchmod 600 privatekey
  5. Salin konfigurasi contoh ke /etc/wireguard/wg0.conf.
    Petunjuksudo cp wg0.conf.contoh /etc/wireguard/wg0.conf
  6. Ganti ISI_PRIVATE_KEY dengan kunci privatmu.
    Petunjuksudo sed -i "s|ISI_PRIVATE_KEY|$(cat privatekey)|" /etc/wireguard/wg0.conf
  7. Nyalakan tunnel wg0.
    Petunjuksudo wg-quick up wg0
  8. Cek status tunnel — pastikan ada "latest handshake".
    Petunjuksudo wg show
  9. Ping VPS lewat tunnel di 10.10.10.1.
    Petunjukping -c 3 10.10.10.1