Maskot beruang kutub NordBastion dalam bengkel batu Nordik dengan terowongan terenkripsi sian bercahaya melengkung antara laptop bergaya dan menara server, glif kunci dan gembok mengorbit terowongan
Panduan · Self-host·11 menit membaca · 15 menit praktik

Host VPN WireGuard secara mandiri di VPS.
Lima belas menit untuk VPN pribadi Anda sendiri.

Lima langkah dari "tanpa server" ke "VPN pribadi saya" — bebas KYC saat mendaftar, berbayar kripto, tanpa penyedia VPN pihak ketiga dalam rantai kepercayaan. Diuji pada Debian 12 dengan WireGuard 1.0+ di kernel mainline.

Lima langkah
  1. 01

    Sediakan

    VPS Nordic

  2. 02

    Pasang

    apt install wireguard

  3. 03

    Konfigurasi

    Kunci + wg0.conf

  4. 04

    Firewall

    UDP 51820 + penerusan

  5. 05

    Hubungkan

    wg-quick up wg0

Langkah 01 · Provisi

Pilih benteng Nordic yang dekat dengan tempat tinggal Anda.

Di panel: Pesan → VPS → Sentinel ($5.90/bln, 2 vCPU / 4 GB / 120 GB NVMe). Sentinel memiliki bandwidth tak terbatas dan uplink 1 Gbps — lebih dari cukup untuk VPN pribadi bahkan saat streaming penuh. Pilih benteng yang paling dekat dengan lokasi fisik Anda, karena setiap byte yang Anda kirimkan melewati VPS sebelum mencapai tujuannya. Pelanggan Eropa memilih Stockholm atau Helsinki; pelanggan Amerika / Asia memilih Reykjavík (latensi transatlantik terendah) atau Oslo.

Gambar OS: Debian 12 adalah rekomendasinya. Ubuntu 22.04+ bekerja dengan identik. Alpine bekerja tetapi menggunakan nama paket yang berbeda (apk add wireguard-tools). FreeBSD juga bekerja tetapi sintaks konfigurasi berbeda. Server aktif dalam sekitar 90 detik; kredensial root ditampilkan sekali di panel.

Langkah 02 · Pasang

Satu paket, sudah ada dalam kernel.

SSH masuk sebagai root. Lalu:

apt update
apt install -y wireguard qrencode

Selesai. WireGuard telah ada di kernel Linux mainline sejak 5.6 (Maret 2020), sehingga apt hanya memasang alat ruang pengguna (wg, wg-quick) — tanpa kompilasi modul, tanpa DKMS, tanpa pembuatan ulang kernel. Paket qrencode akan berguna di langkah 5 untuk mengirim konfigurasi klien ke ponsel sebagai QR.

Aktifkan penerusan IP sekarang agar tidak lupa pada langkah 4:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p
Langkah 03 · Konfigurasi

Buat kunci, tulis wg0.conf. Dua menit.

Buat pasangan kunci server:

cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key

Sekarang buat satu pasangan kunci klien per perangkat:

wg genkey | tee laptop_private.key | wg pubkey > laptop_public.key
wg genkey | tee phone_private.key  | wg pubkey > phone_public.key

Buat /etc/wireguard/wg0.conf dengan pengaturan server + satu blok [Peer] per klien:

[Interface]
PrivateKey = <contents of server_private.key>
Address    = 10.66.66.1/24, fd00:66::1/64
ListenPort = 51820
PostUp     = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown   = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
# laptop
PublicKey  = <contents of laptop_public.key>
AllowedIPs = 10.66.66.2/32

[Peer]
# phone
PublicKey  = <contents of phone_public.key>
AllowedIPs = 10.66.66.3/32
Langkah 04 · Firewall

Buka UDP 51820. Kunci sisanya.

Jika Anda menggunakan UFW (default di Ubuntu):

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp        # SSH (consider port-knocking or VPN-only in production)
ufw allow 51820/udp     # WireGuard
ufw enable

Benteng NordBastion juga memiliki firewall hulu yang dikelola dari panel — Anda dapat mereplikasi aturan yang sama di sana untuk pertahanan yang mendalam. Firewall tingkat benteng memblokir sebelum paket mencapai VPS, yang menghemat CPU pada pemindaian volumetrik.

Tips privasi yang layak diikuti: ubah WireGuard ListenPort dari 51820 (default yang dicari pemindai) ke port acak antara 1024 dan 65535. Ini tidak meningkatkan keamanan terhadap musuh yang bertekad tetapi mengurangi kebisingan dari pemindai acak.

Langkah 05 · Sambungkan

Aktifkan terowongannya. Klien pertama terhubung dalam hitungan detik.

Pada server:

systemctl enable --now wg-quick@wg0
wg                          # status: should show interface up

Buat konfigurasi klien (laptop.conf) di server, kemudian salin ke laptop:

[Interface]
PrivateKey = <contents of laptop_private.key>
Address    = 10.66.66.2/24, fd00:66::2/64
DNS        = 1.1.1.1, 9.9.9.9       # or your favourite privacy resolver

[Peer]
PublicKey         = <contents of server_public.key>
Endpoint          = <server-ip>:51820
AllowedIPs        = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Untuk perangkat seluler, saluran konfigurasi melalui qrencode dan pindai dengan aplikasi WireGuard:

qrencode -t ansiutf8 < phone.conf

Selesai. Klien terhubung, terowongan terbentuk, dan laptop / ponsel kini mengakses internet melalui bastion Nordik. Verifikasi dengan: curl https://api.ipify.org — IP yang dikembalikan adalah IP publik VPS, bukan IP rumah Anda.

FAQ · WireGuard

Pertanyaan, dijawab.

Delapan pertanyaan yang diajukan pelanggan VPN self-hosted pertama kali.

Mengapa hosting VPN WireGuard secara mandiri daripada menggunakan NordVPN / Mullvad / ProtonVPN?

Tiga alasan nyata. (1) Rantai kepercayaan mengecil. VPN komersial berarti "percayai perusahaan ini untuk tidak mencatat Anda"; yang di-hosting sendiri berarti "percayai penyedia VPS ini untuk tidak mencatat Anda" — satu pihak lebih sedikit. (2) Endpoint VPN adalah milik Anda sendiri. IP keluar VPN komersial dibagikan kepada ribuan pengguna dan diblokir oleh banyak layanan; endpoint yang di-hosting sendiri adalah IP bersih baru yang belum pernah ditandai siapa pun. (3) Biaya. NordBastion Sentinel adalah $5.90/bulan dan menjalankan VPN bandwidth tanpa batas; VPN komersial adalah $5-$15/bulan untuk infrastruktur bersama.

Mengapa WireGuard daripada OpenVPN?

WireGuard lebih kecil (4.000 baris kode kernel vs ~100.000 milik OpenVPN), lebih cepat (sering kali 3-5× throughput lebih tinggi pada perangkat keras yang sama), lebih mudah dikonfigurasi (satu berkas konfigurasi daripada instalasi CA/cert/dhparam), dan ramah audit. Ini ada di kernel Linux mainline sejak 5.6 (2020) sehingga tidak perlu langkah kompilasi. OpenVPN tetap berguna untuk kompatibilitas warisan dan lalu lintas berbasis TCP; untuk segala hal lainnya WireGuard adalah default modern.

Apakah ISP saya tahu bahwa saya menjalankan VPN?

ISP Anda melihat lalu lintas UDP terenkripsi di port 51820 menuju ke IP NordBastion. Pola itu dapat dikenali sebagai lalu lintas VPN; apa yang ada di sisi lain tidak bisa. Jika "menjalankan VPN sama sekali" sensitif dalam konteks Anda, jalankan WireGuard di port 443 (menggunakan UDP bukan TCP, tetapi portnya sama dengan HTTPS), dan pertimbangkan pembungkus obfuskasi seperti udp2raw jika ISP secara aktif memblokir handshake WireGuard.

Bisakah saya menggunakan VPS sebagai VPN DAN server untuk hal lain?

Ya, pola umum. VPS menjalankan WireGuard ditambah apa pun yang Anda butuhkan — situs web pribadi, node Bitcoin, instans Mastodon. Aturan firewall menjaga lalu lintas VPN dan layanan yang menghadap publik tetap terisolasi; iptables/nft dapat merutekan klien VPN ke layanan lokal tertentu dan tidak ke yang lain.

Bagaimana dengan geolokasi IP — apakah situs-situs akan mengira saya berada di Swedia?

Ya — IP keluar Anda adalah bastion NordBastion yang Anda pilih. Layanan streaming yang membatasi secara geografis berdasarkan IP akan memperlakukan Anda sebagai warga Swedia (bastion Stockholm), Finlandia (Helsinki), Norwegia (Oslo), atau Islandia (Reykjavík). Situs perbankan yang menandai "masuk dari negara baru" akan memicu aturan penipuan mereka; itu adalah perilaku normal, bukan masalah VPN.

Berapa banyak klien yang dapat ditangani satu server WireGuard?

Hampir tidak terbatas untuk penggunaan pribadi. Setiap peer menambahkan beberapa KB memori. Kendala adalah bandwidth dan uplink benteng, bukan daemon WireGuard itu sendiri. Tingkat Sentinel dengan bandwidth tak terbatas dan uplink 1 Gbps akan jenuh jauh sebelum proses WireGuard memperhatikan.

Apakah saya harus menjalankan ini di VPS khusus atau berbagi dengan beban kerja lain?

VPS khusus lebih bersih dari perspektif OPSEC — satu-satunya hal yang dikaitkan dengan IP adalah "VPN pribadi saya." Jika Anda mencampur beban kerja, lalu lintas VPN dan lalu lintas beban kerja lain berbagi IP keluar, dan masalah reputasi dari salah satu akan berdampak pada yang lain. Seharga $5.90/bulan, masuk akal untuk memisahkannya.

Apakah WireGuard self-hosted mampu menjadi kill-switch?

Ya, di sisi klien. Konfigurasi WireGuard mendukung blok PostUp / PostDown di mana Anda menambahkan aturan iptables yang membuang lalu lintas non-VPN saat terowongan aktif; Anda juga dapat mengatur OS klien untuk menolak koneksi non-VPN secara default. Beberapa aplikasi manajer sumber terbuka (wg-easy, WireGuard-UI, Pi-VPN) membungkus ini untuk Anda.

Siap

Pesan Sentinel dan mulai VPN Anda sendiri.

Terakhir ditinjau · 2026-05-20 · Diuji · Debian 12 · WireGuard 1.0.20210914