WireGuard atau OpenVPN: Mana untuk Server VPN?
Untuk server VPN pribadi di VPS, WireGuard unggul dalam kecepatan, ukuran konfigurasi, dan audit. OpenVPN tetap tepat untuk TCP 443, CA, MFA, atau bridging Layer 2.
Jawaban singkat
WireGuard dibandingkan dengan OpenVPN, untuk satu orang yang menjalankan server VPN di VPS miliknya sendiri, bukanlah persaingan yang seimbang: pilih WireGuard. Ukurannya lebih kecil, berjalan di dalam kernel Linux, terhubung dalam waktu kurang dari satu detik, dan konfigurasi klien yang berfungsi hanya sekitar sepuluh baris. OpenVPN masih memiliki empat kegunaan nyata. Jika tidak satu pun sesuai dengan kebutuhan Anda, Anda tidak memerlukannya.
Keempat kegunaan tersebut adalah keluar dari jaringan yang hanya mengizinkan port TCP 443, terhubung ke certificate authority yang sudah ada, mengautentikasi pengguna bernama dengan kata sandi atau faktor kedua, dan melakukan bridging pada Layer 2. Semua bagian di bawah ini berisi bukti yang mendukung rekomendasi tersebut serta menjelaskan kapan setiap pengecualian mulai berlaku bagi Anda.
Mengapa WireGuard dipilih oleh pengelola server mandiri
Basis kodenya cukup kecil untuk dibaca. Proyek WireGuard memiliki implementasi protokol sekitar 4.000 baris kode. OpenVPN mencapai lebih dari 100.000 baris jika menghitung pustaka OpenSSL yang digunakannya untuk setiap operasi kriptografi. Ukuran penting karena setiap baris merupakan permukaan serangan. Anda dan peninjau kode Anda tidak akan membaca 100.000 baris. Anda dapat membaca 4.000 baris.
WireGuard berjalan di kernel. WireGuard telah menjadi bagian dari mainline Linux sejak 5.6. Karena itu, Ubuntu 24.04 dan Debian 13 menyediakannya tanpa perlu kompilasi. Paket dienkripsi di tempatnya, yaitu di ruang kernel, tanpa menyalinnya ke proses ruang pengguna lalu mengembalikannya. Periksa hal ini terlebih dahulu:
sudo modprobe wireguard && echo okPada VPS KVM, perintah tersebut menampilkan ok. Pada virtualisasi kontainer yang menggunakan kernel host bersama, seperti OpenVZ atau LXC, perintah tersebut gagal dengan Operation not supported karena Anda tidak dapat memuat modul ke kernel yang bukan milik Anda.
Tidak ada yang perlu dinegosiasikan. WireGuard memiliki satu cipher suite tetap: ChaCha20-Poly1305 untuk data, dengan kunci Curve25519. Tidak ada versi yang dapat diturunkan dan tidak ada opsi yang dapat salah dikonfigurasi. OpenVPN menegosiasikan cipher dan versi TLS (transport layer security) dengan setiap klien. Hal ini memberikan fleksibilitas, tetapi juga menjadi tempat terjadinya salah konfigurasi. Server yang masih menggunakan data-ciphers AES-256-GCM:AES-128-CBC akan dengan mudah kembali ke cipher CBC untuk klien yang tidak menawarkan pilihan yang lebih baik. Tidak ada pesan log yang menandai hal itu sebagai masalah.
Port tersebut tidak memberikan respons. Paket WireGuard yang gagal dalam pemeriksaan autentikasi pesan akan dibuang tanpa respons sama sekali. Karena itu, nmap -sU -p 51820 mengembalikan open|filtered, terlepas dari ada atau tidaknya proses yang mendengarkan. Server OpenVPN dalam mode TCP menyelesaikan handshake TCP sebelum memutuskan bahwa koneksi tidak diizinkan. Hal itu cukup untuk membuktikan kepada pemindai bahwa terdapat layanan di sana. OpenVPN melalui UDP dengan tls-crypt hampir sama senyapnya. Jadi, hal ini merupakan alasan untuk tidak menjalankan OpenVPN pada TCP, bukan alasan untuk menolak OpenVPN itu sendiri.
Roaming tidak memerlukan biaya tambahan. Peer WireGuard diidentifikasi berdasarkan kunci publiknya, bukan alamatnya. Laptop Anda berpindah dari jaringan rumah ke hotspot seluler, lalu mengirim satu handshake dari alamat baru. Server kemudian memperbarui endpoint yang digunakannya untuk mengirim balasan. Tidak ada koneksi yang perlu disambungkan kembali karena sebelumnya tidak ada koneksi yang dipertahankan. OpenVPN dapat melakukan hal serupa dengan float. Namun, klien biasanya menghentikan dan membangun ulang sesi TLS lengkap. Karena itu, jeda saat penutup laptop dibuka terasa pada OpenVPN, tetapi tidak pada WireGuard.
Kecepatan pada 2026: kesenjangan telah menyempit
Selama bertahun-tahun, argumen kecepatan yang valid adalah bahwa OpenVPN menyalin setiap paket ke userspace, mengenkripsinya di sana, lalu menyalinnya kembali, sedangkan WireGuard tidak pernah meninggalkan kernel. Kini gambaran tersebut tidak lagi lengkap. Perbandingan yang mengabaikannya sudah tidak mutakhir.
OpenVPN 2.7 dirilis pada Februari 2026 dengan dukungan untuk modul kernel upstream ovpn, yang digabungkan ke Linux 6.16. Ini adalah DCO (data channel offload): control channel tetap berada di userspace, sedangkan jalur data utama dipindahkan ke kernel, yang kurang lebih sama dengan cara kerja WireGuard sejak awal. Pada kernel dan OpenVPN yang cukup baru untuk menggunakannya, throughput berada dalam kelas yang sama, bukan kelas yang berbeda. Periksa komponen yang benar-benar Anda gunakan:
uname -r
openvpn --version | head -n 1
modinfo ovpn 2>/dev/null | head -n 3Per Juli 2026, Ubuntu 24.04 LTS standar menyertakan OpenVPN 2.6, bukan 2.7, dan modul ovpn memerlukan 2.7. Pada rilis tersebut, Anda hanya mendapatkan offload melalui paket openvpn-dco-dkms yang lebih lama. Paket ini membangun modul out-of-tree terhadap kernel yang sedang berjalan, sehingga modul tersebut harus dibangun ulang setiap kali kernel ditingkatkan. Ini adalah komponen tambahan yang tidak dimiliki WireGuard.
Baca ketentuan DCO dengan teliti sebelum menjadikannya alasan untuk tetap menggunakan OpenVPN. DCO hanya mendukung tunnel Layer 3, hanya menerima cipher AEAD (authenticated encryption with associated data: AES-GCM atau ChaCha20-Poly1305), tidak mendukung compression, dan pada server hanya berfungsi dengan topology subnet. Setiap pembatasan tersebut menghilangkan sebagian fleksibilitas yang sejak awal menjadi keunggulan OpenVPN. OpenVPN yang cepat adalah OpenVPN yang dikonfigurasi agar menyerupai WireGuard.
Jangan mempercayai angka throughput yang dipublikasikan siapa pun, termasuk di halaman ini. Batas atas pada VPS biasanya ditentukan oleh alokasi CPU atau alokasi jaringan, bukan oleh protokol. Ukur sendiri dengan iperf3 yang berjalan melalui tunnel, lalu ukur lagi di luarnya, dan bandingkan keduanya.
Kapan OpenVPN masih berguna
Anda harus keluar melalui TCP port 443. WireGuard hanya menggunakan UDP, dan ini memang dirancang demikian. Tidak akan ada mode TCP. Jaringan hotel atau proxy perusahaan yang hanya mengizinkan TCP 443 akan meneruskan OpenVPN yang dikonfigurasi dengan proto tcp-server dan port 443, karena lalu lintas tersebut terlihat seperti sesi TLS biasa. WireGuard memerlukan pembungkus seperti wstunnel atau udp2raw untuk melewati jaringan yang sama. Ini berarti ada satu proses tambahan yang harus dijalankan dan diperbarui patch-nya. Perhatikan konfliknya: jika server web sudah menggunakan TCP 443 pada alamat IP tersebut, salah satunya harus dipindahkan.
Anda sudah menjalankan certificate authority. OpenVPN melakukan autentikasi dengan sertifikat X.509, sehingga dapat langsung digunakan dalam PKI (public key infrastructure) yang sudah Anda operasikan. Sertifikat kedaluwarsa secara otomatis. Anda dapat mencabut sertifikat dengan menambahkannya ke certificate revocation list yang dibaca server melalui crl-verify. WireGuard tidak memiliki sertifikat, masa berlaku, atau certificate revocation list. Untuk menghapus peer, Anda harus mengedit konfigurasi server dan memuat ulang konfigurasi tersebut. Untuk sepuluh peer, cara ini masih mudah. Untuk empat ratus peer dengan persyaratan audit, model sertifikat memberikan manfaat nyata.
Anda memerlukan pengguna bernama, bukan hanya key. OpenVPN dapat menyerahkan autentikasi kepada sistem eksternal melalui auth-user-pass-verify atau plugin seperti openvpn-plugin-auth-pam.so. Dengan cara ini, Anda dapat menambahkan LDAP atau faktor kedua berupa kata sandi sekali pakai. WireGuard sama sekali tidak memiliki konsep pengguna. Sebuah key ada di dalam konfigurasi atau tidak ada. Jika persyaratan Anda adalah "Sara harus memasukkan kode dari ponselnya", WireGuard tidak dapat menyatakannya secara mandiri.
Anda memerlukan Layer 2 atau client untuk perangkat lama. OpenVPN dengan dev tap menjembatani frame Ethernet. Hal ini penting untuk protokol broadcast dan game LAN lama. WireGuard hanya mendukung Layer 3 dan akan selalu demikian. OpenVPN juga memiliki client untuk perangkat keras dan sistem operasi yang tidak akan pernah mendapatkan aplikasi WireGuard. Kedua alasan ini semakin jarang diperlukan. Selain itu, dev tap tidak kompatibel dengan DCO, sehingga Anda harus menggunakan jalur yang lebih lambat ketika memilih bridge.
Biaya sebenarnya dari kedua konfigurasi
Identitas WireGuard dibuat dengan satu perintah. Tanda kurung penting karena menetapkan mode file sebelum kunci dibuat:
(umask 077; wg genkey > private.key)
wg pubkey < private.key > public.keyPadanan OpenVPN-nya adalah certificate authority yang menjadi tanggung jawab Anda selama VPN digunakan:
sudo apt install -y easy-rsa
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-req server nopass
./easyrsa sign-req server serverTidak ada daftar yang tidak adil. CA memberikan masa berlaku dan pencabutan sertifikat. Namun, Anda harus melindungi kunci privat selama bertahun-tahun, mengingat pembaruan, dan membangun ulang sistem jika kunci tersebut hilang. Jika Anda tidak menggunakan manfaat yang diberikannya, Anda membayar tanpa memperoleh manfaat. Prosedur WireGuard lengkap, termasuk forwarding, NAT (network address translation), dan kegagalan handshake yang dapat menghabiskan waktu berjam-jam, tersedia dalam panduan untuk meng-hosting VPN WireGuard sendiri di VPS Anda.
Hal yang diminta masing-masing dari firewall Anda
WireGuard hanya memerlukan satu aturan inbound, untuk UDP pada port di ListenPort:
sudo ufw allow 51820/udp
sudo ufw status verboseOpenVPN memerlukan UDP 1194 secara default, atau TCP 443 jika Anda memilih jalur tersebut. Keduanya kemudian memerlukan IP forwarding yang diaktifkan dan aturan source NAT, karena sistem Linux membuang paket yang tidak ditujukan kepadanya. Bagian ini sama untuk kedua protokol, dan menjadi penyebab sebagian besar laporan "tunnel tersambung tetapi tidak ada internet". Jika ufw masih baru bagi Anda, mulailah dengan dasar-dasar firewall ufw di VPS, dan ingat bahwa sebagian besar penyedia menjalankan network firewall kedua di control panel mereka: aturan yang Anda tambahkan di server tidak berpengaruh jika paket tidak pernah mencapai server. Memahami apa itu port dan cara Linux melakukan listening pada port tersebut akan mempercepat kedua pemeriksaan itu.
Cara memilih, dalam satu paragraf
Jalankan WireGuard, kecuali Anda dapat menyebutkan hal spesifik yang tidak dapat dilakukannya untuk Anda. Jika Anda memerlukan TCP 443 untuk melewati jaringan yang ketat, jalankan OpenVPN pada port tersebut dan pertimbangkan untuk menjalankan keduanya: keduanya menggunakan port yang berbeda dan dapat berjalan berdampingan pada satu server tanpa konflik. Jika Anda memerlukan akun per pengguna atau autentikasi faktor kedua, jangan memaksakan WireGuard untuk menyediakannya. Gunakan lapisan identitas di atasnya. Server kontrol Headscale yang di-host sendiri menggunakan WireGuard di lapisan dasar dan menambahkan model akun, distribusi kunci, serta persetujuan perangkat yang harus Anda kelola sendiri jika hanya menggunakan WireGuard.
Migrasi dari OpenVPN tanpa gangguan
Tidak ada proses konversi. PKI OpenVPN tidak berubah menjadi kunci WireGuard karena WireGuard tidak memiliki sertifikat untuk dikonversi. Setiap klien mendapatkan pasangan kunci baru yang dibuat dengan cara yang sama seperti pasangan kunci server.
Lakukan migrasi secara paralel, bukan dengan langsung beralih. WireGuard pada UDP 51820 dan OpenVPN pada 1194 dapat berjalan pada mesin yang sama secara bersamaan. Karena itu, aktifkan wg0, konfirmasikan dengan sudo wg show yang menampilkan latest handshake terbaru, lalu pindahkan klien satu per satu. Setelah daftar peer OpenVPN tidak lagi berubah, hentikan layanan dengan sudo systemctl disable --now openvpn-server@server. Simpan file CA sampai Anda yakin semuanya aman karena klien yang telah dicabut tidak dapat dibuat ulang menggunakan CA yang sudah dihapus.
Satu hal yang benar-benar tidak dapat dipindahkan adalah akun nama pengguna dan kata sandi, beserta riwayat pencabutan yang terkait. Tentukan tempat penyimpanannya sebelum mematikan server lama, bukan setelahnya.
FAQ
Apakah WireGuard lebih cepat daripada OpenVPN?
Pada server Ubuntu 24.04 standar, ya, dan perbedaannya cukup besar, karena WireGuard mengenkripsi data di kernel, sedangkan OpenVPN 2.6 memproses setiap paket melalui proses userspace. Dengan OpenVPN 2.7 dan modul kernel ovpn dari Linux 6.16, jalur data juga berada di kernel sehingga keduanya berada pada kelas yang sama. Ukur kinerja Anda sendiri dengan iperf3 melalui tunnel, bukan dengan mempercayai angka dari blog, karena pada VPS batasnya biasanya adalah CPU atau kuota bandwidth Anda.
Apakah WireGuard dapat berjalan melalui port TCP 443?
Tidak secara mandiri. WireGuard hanya mendukung UDP berdasarkan desainnya, dan tidak ada rencana untuk menambahkan mode TCP. Untuk melewati jaringan yang hanya mengizinkan TCP 443, bungkus WireGuard dalam tunnel seperti wstunnel atau udp2raw. Cara ini menambahkan proses yang harus dijalankan dan diperbarui di kedua sisi. Jika pembatasan tersebut merupakan kondisi kerja Anda sehari-hari, OpenVPN dengan proto tcp-server dan port 443 adalah pilihan yang lebih sederhana.
Apakah OpenVPN sekarang tidak aman?
Tidak. OpenVPN versi terbaru dengan cipher AEAD seperti AES-256-GCM dan tls-crypt yang diaktifkan merupakan VPN yang aman. Alasan memilih WireGuard terletak pada hal lain: OpenVPN memiliki jauh lebih banyak kode dan opsi, sehingga memberi administrator yang lelah jauh lebih banyak peluang untuk salah mengonfigurasinya. Lebih sedikit pilihan berarti lebih sedikit kemungkinan kesalahan.
Mana yang harus dipilih untuk VPN pribadi pada VPS?
WireGuard. Gunakan satu pasangan kunci untuk setiap perangkat, satu file konfigurasi yang panjangnya sekitar sepuluh baris, satu port UDP yang dibuka, dan handshake yang selesai sebelum Anda menyadari bahwa prosesnya telah dimulai. Pilih OpenVPN hanya jika Anda rutin terhubung dari jaringan yang memblokir UDP, atau jika Anda harus menggunakan certificate authority atau direktori pengguna yang sudah tersedia.