C.W.K.
Stream
Lesson 02 of 12 · published

WireGuard Overview

~12 min · wireguard, vpn-protocol, noise-protocol

Level 0Pinger
0 XP0/101 lessons0/12 achievements
0/150 XP to next level150 XP to go0% complete

The modern VPN protocol

WireGuard is the modern VPN protocol — fast, simple, cryptographically uncompromising. It was merged into the Linux kernel in 2020 and now runs natively on every major platform. Tailscale, Mullvad, NordLynx, and many others build on top of it.

Why WireGuard wins on every axis

PropertyWireGuardOpenVPN
Code size~4,000 lines~100,000+ lines
PerformanceKernel-level, near wire speedUserspace, slower
Handshake1-RTTMulti-step TLS
CryptographyFixed: Curve25519, ChaCha20, BLAKE2sConfigurable (and easy to misconfigure)
StateStateless when idle (no keepalives needed)Persistent connections
ConfigTiny INI filesLengthy configs + cert management

Why "fixed cryptography" is a feature

WireGuard uses the Noise protocol framework with one specific set of modern primitives. There are no cipher negotiations, no legacy modes, no "let me pick which AES variant." One known-good combination, no knobs that can be turned to insecurity. This is why WireGuard is so much harder to misconfigure than OpenVPN or IPsec.

Code

Install WireGuard tools (we use them in the next lessons)·bash
# macOS
brew install wireguard-tools

# Linux (Debian/Ubuntu)
sudo apt install wireguard

# Verify
wg --version
wg-quick --version

External links

Exercise

Install wireguard-tools on this Mac. Run wg --version to confirm. Read the next lesson before generating a real config — it's worth understanding the concepts before typing INI files.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.