WireGuard: Protokol VPN Moden yang Sebenarnya Mengubah Perkara

11 min bacaProtokol VPN

WireGuard ialah perisian sumber terbuka yang jarang ditemui yang menjadi lalai dalam tempoh lima tahun. Talian utama kernel Linux sejak 2020, enjin di belakang NordLynx dan Mullvad, dan pangkalan kod yang cukup kecil sehingga seseorang boleh mengauditnya pada waktu petang. Ini ialah penjelasan yang mendalam — apakah itu, cara ia berfungsi, sebab semua orang bertukar, dan di mana ia masih gagal.

Badan artikel penuh disediakan dalam bahasa Inggeris di bawah.

Apa yang sebenarnya WireGuard adalah

WireGuard ialah protokol VPN Lapisan 3 yang direka oleh Jason A. Donenfeld dan pertama kali dikeluarkan pada tahun 2015. Pilihan reka bentuk yang menentukan ialah minimalism: kira-kira 4,000 baris kod kernel C, berbanding dengan kira-kira 70,000 untuk OpenVPN dan beberapa tempat di utara IP400. Kurang kod bermakna permukaan serangan yang lebih kecil dan pangkalan kod yang boleh disimpan oleh seorang jurutera — kedua-duanya diterjemahkan terus kepada audit yang lebih mudah dan kurang pepijat keselamatan.

Protokol melakukan satu kerja dan enggan menggunakan ciri melainkan ia perlu. Tiada fasa rundingan TLS untuk cap jari, tiada pilihan suite sifir pada masa jalanan, tiada rantai sandaran yang bijak. Anda mendapat satu set primitif moden. Anda menggunakannya atau anda menggunakan protokol yang berbeza.

Timbunan kriptografi

WireGuard menggunakan set primitif moden yang kecil dan berpandangan dan bukannya membenarkan pengguna memilih:

  • Curve25519 untuk kekunci elliptic-Hellman jangka panjang).
  • ChaCha20 untuk penyulitan simetri.
  • Poly1305 untuk pengesahan mesej.
  • BLAKEX2sXPLZ2 dan lebih ringan daripada SHAPLZ25 SHA-2).
  • HKDF untuk terbitan kekunci.
  • SipHash24 untuk jadual cincang dalaman yang menentang penolakan perkhidmatan melalui serangan kerumitan algoritma.XPLZ34PLXXPL3Z35XXIK daripada corak tangan Rangka Kerja Protokol Noise. Ia dilengkapkan dalam dua mesej, dengan kunci prakongsi pilihan untuk lapisan tambahan perlindungan simetri — berguna sebagai lindung nilai terhadap serangan pengkomputeran kuantum masa hadapan pada Curve25519.

    UDP-sahaja oleh reka bentuk

    WireGuard bercakap UDP sahaja, pada port 5182 secara lalai. Ini disengajakan. Membawa TCP melalui TCP (cara OpenVPN-TCP berfungsi) menyebabkan masalah kehancuran TCP yang terkenal: apabila sambungan TCP dalam dihantar semula, sambungan luar juga memancarkan semula dan kedua-dua pemasa berpijak antara satu sama lain. UDP mengelakkannya sepenuhnya.

    Pertukaran adalah nyata: dalam rangkaian terhad yang hanya TCP/443 dibenarkan keluar, WireGuard tidak akan berfungsi. Tidak ada yang setara dengan OpenVPN-over-TCP-443 untuk menyamar sebagai trafik HTTPS. Jika anda berada di belakang rangkaian gaya Firewall yang Hebat, anda memerlukan protokol atau pembalut yang berbeza seperti AmneziaWG yang mengaburkan jabat tangan WireGuard.

    Linux kernel adoption

    WireGuard's status sebagai modul kernel — dan bukannya daemon ruang pengguna seperti OpenVPN's — ialah sebab terbesar ia OpenVPN' Paket tidak pernah melepasi sempadan kernel/ruang pengguna pada laluan panas.

    • 9 Disember 2019: David Miller menerima tampung WireGuard ke dalam pokok Linux net-next.
    • XPL8
    • XPL8
    • XPL8XPLZ5720 Januari Linus Torvalds menggabungkan net-seterusnya, meletakkan WireGuard ke dalam talian utama.
    • 20 Mac 2020: Linux 5.6 dihantar dengan WireGuard terbina dalam.
    • 30 Mac 2020 sokongan kernel asli Generasi Kerric 2020XPLZ6 Imej.
    • 22 Jun 2020: OpenBSD mengimportnya.
    • 29 November 2020: FreeBSD 13 diikuti.

    Torlyvaments, who is famously "sebuah karya seni" berbanding OpenVPN dan IPsec. Dia tidak melebih-lebihkan.

    Analisis keselamatan bebas

    Pada Mei 2019, penyelidik di INRIA menerbitkan bukti jabat tangan WireGuard yang disemak mesin menggunakan alat CryptoVerif. Mereka menunjukkan bahawa protokol menjamin pengesahan bersama, kerahsiaan kunci sesi IND-CCA, kerahsiaan hadapan dan keselamatan selepas kompromi — walaupun merentasi sesi selari tanpa had, walaupun kunci jangka panjang bocor. Itulah keputusan rasmi yang luar biasa kukuh untuk protokol VPN.

    Cara ia bertindan berbanding OpenVPN dan IPsec

    Pada sambungan berwayar 1 Gbps biasa dengan kependaman 50 ms ke pintu keluar terdekat anda:

      XPLZX91X91X9191 kadar penuh biasa ~5 ms ditambahkan kependaman.
    • WireGuard: 800–950 Mbps, +10–25 ms.
    • IKEv2/IPsec: 600–800 Mbps, serupa kependaman.
    • OpenVPN UDP: 250–400 Mbps, +30–60 ms.
    • OpenVPN TCP: 100–250 Mbps, +0–250 Mbps ms.

    Anda boleh mengesahkan jurang itu sendiri dengan menjalankan ujian speed kami dengan VPN dimatikan, kemudian jalankan semula melalui setiap protokol yang disokong oleh pembekal anda.

    Di mana WireGuard lebih lemah

    • Tiada keadaan sambungan. WireGuard mengikat rakan sebaya kepada peruntukan IP statik. Tanpa bantuan, ia mewujudkan permukaan pembalakan — setiap IP pelanggan yang menyambungkan dikaitkan dengan kunci awam mereka pada pelayan. VPN komersil menyelesaikannya dengan IP dalaman berputar, tetapi ia memerlukan paip tambahan yang tidak disediakan oleh protokol itu sendiri.
    • UDP sahaja. Tidak berfungsi di mana hanya TCP/443 dibenarkan.
    • Tiada NAT traversal terbina dalam.XPLZ12mXT luar memerlukan traversal NAT terbina dalam penyelaras.
    • Mudah cap jari. Jabat tangan mempunyai bentuk yang tersendiri dan boleh dikenal pasti secara remeh melalui pemeriksaan paket dalam, yang merupakan salah satu sebab ia disekat di China, Iran dan Rusia.

    Pelaksanaan untuk know

    • wireguard-go: pelaksanaan ruang pengguna merentas platform rasmi dalam Go.
    • BoringTun: Pelaksanaan ruang pengguna Cloudflare's Rust, digunakan dalam pengeluaran pada skala.
    • BoringTun: Pelaksanaan ruang pengguna Cloudflare's Rust, digunakan dalam pengeluaran pada skala.XPLZ3Z29XXZPLZguard3
    • XZPLZguard3XZPLZ28X pemacu kernel Windows, tersedia sejak Ogos 2021.
    • AmneziaWG: garpu yang menambahkan kekaburan protokol untuk melepasi pemeriksaan paket dalam.

    Siapa yang menggunakannya secara komersil

    XGullvaard. NordVPN membungkusnya sebagai NordLynx dengan lapisan NAT tersuai untuk menangani isu peruntukan IP statik. ProtonVPN menyokongnya merentasi rancangan. IVPN dan TunnelBear menghantarnya. Tailscale dan Cloudflare WARP kedua-duanya menggunakannya secara dalaman. Jika pembekal anda moden, hampir pasti ia bercakap WireGuard.

    Adakah anda perlu memilih WireGuard?

    Untuk 95% pengguna, ya. Ia lebih pantas, lebih cekap pada bateri mudah alih, lebih mudah disediakan dan mempunyai cerita keselamatan formal yang jauh lebih kukuh daripada pendahulunya. Satu-satunya sebab untuk memilih secara berbeza ialah:

    • Anda berada di negara yang menyekat jabat tangan WireGuard melalui DPI — pilih OpenVPN berbanding TCP/443 dengan pengeliruan TLS atau AmneziaWG.
    • Anda memerlukan terowong perusahaan yang sentiasa dihidupkan — kekal pada IPsec kepekatan warisan IKEv2.
    • Anda menggunakan perkhidmatan yang masih belum menghantar WireGuard (jarang berlaku pada tahun 2026).

    Setelah anda menyambung, sahkan terowong itu sebenarnya menjalankan tugasnya dengan ujian kebocoran VPN kami. Protokol yang berfungsi dengan pelanggan yang salah konfigurasi tidak lebih baik daripada tiada VPN sama sekali.

Soalan lazim

Adakah WireGuard lebih selamat daripada OpenVPN?
Kedua-duanya selamat apabila dikonfigurasikan dengan betul. Pangkalan kod WireGuard yang jauh lebih kecil menjadikan pengauditan dapat dikendalikan dan mengurangkan permukaan serangan, dan ia mendapat manfaat daripada bukti keselamatan yang disemak mesin rasmi yang tidak dimiliki OpenVPN. OpenVPN mendapat manfaat daripada 20+ tahun penelitian liar dan ekosistem TLS yang matang. Tiada pemecahan kriptografi yang diketahui dalam mana-mana konfigurasi moden protokol.
Mengapa WireGuard menggunakan UDP sahaja?
Kerana terowong TCP melalui TCP menyebabkan masalah kehancuran TCP yang terkenal — apabila sambungan dalam dihantar semula, sambungan luar juga dihantar semula dan kedua-dua pemasa cuba semula menghentak satu sama lain. UDP mengetepikan itu sepenuhnya. Pertimbangannya ialah WireGuard tidak boleh menyamar sebagai HTTPS pada TCP/443, itulah sebabnya OpenVPN-TCP masih berguna dalam rangkaian yang banyak ditapis.
Adakah WireGuard log IP saya?
Protokol terdedah mengaitkan rakan sebaya dengan kunci awam mereka, yang merupakan sejenis log. Pembekal VPN komersial yang bereputasi baik membalut WireGuard dengan IP dalaman berputar dan pelayan RAM sahaja untuk mengalih keluar permukaan ini. Jika anda menjalankan pelayan WireGuard anda sendiri, tanggungjawab adalah milik anda.
Bolehkah WireGuard berfungsi di China atau Iran?
Jabat tangan WireGuard standard mempunyai bentuk yang tersendiri dan mudah dicap jari melalui pemeriksaan paket dalam, jadi ia sering disekat di negara yang banyak ditapis. Garpu seperti AmneziaWG menambah kekeliruan yang menyamarkan jabat tangan; OpenVPN-over-TCP/443 dengan TLS obfuscation ialah satu lagi alternatif yang boleh dipercayai.
Adakah WireGuard akan mematikan bateri mudah alih saya?
Tidak — ia biasanya lebih baik daripada OpenVPN. Pangkalan kod kecil WireGuard dan kekurangan gelung keepalive yang berterusan bermakna aktiviti CPU dan radio yang lebih rendah. IKEv2 dengan pelaksanaan kernel adalah sama cekap pada mudah alih.
WireGuard Menjelaskan: Protokol VPN Moden Yang Sebenarnya Mengubah Perkara | VPN Master Pro