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

Tailscale — Zero-Config WireGuard

~12 min · tailscale, mesh, magicdns, nat-traversal

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

WireGuard with the hard parts handled

Tailscale builds a mesh VPN on top of WireGuard. Install on each machine, sign in once, and they all reach each other — no port forwarding, no manual key exchange, no static IPs, no routing config. NAT traversal works through the worst networks (double NAT, CGNAT, hotel Wi-Fi). For a personal fleet, this is the answer.

How it works under the hood

  1. Tailscale installs a WireGuard interface on each device.
  2. A coordination server (Tailscale's, or self-hosted Headscale) distributes public keys among your devices.
  3. Devices try to establish direct WireGuard tunnels to each other (peer-to-peer).
  4. If direct fails (tough NAT), traffic falls back to relays (DERP servers) — still encrypted end-to-end, just adds latency.

Why mesh beats hub-and-spoke

In a classic remote-access VPN, every device tunnels to one central server, and traffic between two clients takes two hops through that server. Tailscale's mesh means any two devices try to talk directly — your office Mac and your laptop chat at LAN speeds even when both are remote. Only when direct fails does anyone fall back to relays.

Code

Install and join·bash
# macOS
brew install --cask tailscale
# (or download the App Store / direct version)

# Linux
curl -fsSL https://tailscale.com/install.sh | sh

# Bring it up — opens a browser to authenticate
sudo tailscale up

# What's connected?
tailscale status
# 100.64.0.1   office    you_username@   linux   -
# 100.64.0.2   macbook   you_username@   macOS   -
# 100.64.0.3   server    you_username@   linux   -

External links

Exercise

Install Tailscale on this Mac and one other machine. Sign in with the same account. Run tailscale status on both — confirm each sees the other. Try ping <other-machine-tailscale-IP> — should work even from a coffee shop network. You just built a mesh VPN.

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.