Et mesh-VPN er et af de værktøjer, der stille og roligt gør alt nemmere: din laptop, hjemmeserver, telefon og dine VPS'er ser hinanden på private adresser, uanset hvor de er. Ulempen ved hostede mesh-VPN'er er koordineringsserveren: et firma har kortet over hver eneste enhed, du ejer. Headscale er en open source-erstatning for den kontrolserver. Kør den på en lille VPS, bliv ved med at bruge de almindelige klientapps, og kortet er dit.
Sådan hænger det sammen
- Headscale (på din VPS) uddeler adresser, distribuerer offentlige nøgler og håndhæver dine ACL'er.
- Klienterne er de almindelige Tailscale-apps, rettet mod din server.
- Trafikken går fra enhed til enhed over WireGuard. Kontrolserveren bærer den aldrig.
Det sidste punkt er grunden til, at en bittelille plan rækker: VPS'en svarer kun på små koordineringsforespørgsler.
Det skal du bruge
- Nano-IP ($8/md.): 2 vCPU og 1 GB RAM er langt mere, end Headscale bruger.
- En dedikeret IPv4 og et domæne, fx
hs.example.com. Enhederne taler med kontrolserveren over HTTPS, så VPS'en skal tage imod indgående 443; NAT-planer gør ikke det (detaljer).
Installation (Debian 12 / Ubuntu 24.04)
Hent den aktuelle .deb fra Headscales udgivelsesside på GitHub, og erstat versionen med den nyeste:
HS_VER=0.26.1
wget -O headscale.deb \
"https://github.com/juanfont/headscale/releases/download/v${HS_VER}/headscale_${HS_VER}_linux_amd64.deb"
apt install -y ./headscale.deb caddy
Redigér /etc/headscale/config.yaml; de to linjer, der betyder noget:
server_url: https://hs.example.com
listen_addr: 127.0.0.1:8080
Sæt Caddy foran til HTTPS:
cat > /etc/caddy/Caddyfile <<'EOF'
hs.example.com {
reverse_proxy 127.0.0.1:8080
}
EOF
systemctl enable --now headscale
systemctl reload caddy
Tilføj en bruger og en enhed
headscale users create alice
headscale users list # note the user's ID
headscale preauthkeys create --user 1 --expiration 24h
Ældre udgivelser vil have brugernavnet i stedet for ID'et i --user; headscale preauthkeys create --help fortæller dig, hvad din version forventer.
På en Linux-enhed:
tailscale up --login-server https://hs.example.com --authkey YOUR_KEY
På telefoner og computere lader Tailscale-appen dig angive en brugerdefineret kontrolserver i indstillingerne. Kør headscale nodes list på VPS'en, så bør din enhed stå der.
Relæer og NAT-traversering
De fleste enheder forbinder direkte. Når to ikke kan (strikse mobilnet, dobbelt NAT), går trafikken gennem et DERP-relæ. Fra start bruger Headscale Tailscales offentlige relæer, som kun ser krypterede pakker. Vil du ikke have noget eksternt på vejen, så slå det indbyggede relæ til i config.yaml (derp.server.enabled: true) og åbn UDP 3478. Den videresendte trafik tæller så med i din VPS' båndbredde.
Ærlige begrænsninger
Der er intet officielt webdashboard: brugere, nøgler og ruter er CLI-kommandoer (nemt, når du har gjort det to gange). Nyere funktioner i den hostede tjeneste dukker op i Headscale senere, hvis overhovedet. Og kontrolserveren er nu dit ansvar: er den nede, bliver eksisterende forbindelser ved med at virke, men nye enheder kan ikke komme med, og nøgler kan ikke fornyes. Tag backup: hele tilstanden ligger i /var/lib/headscale.
For et hjemmelab, en familie eller et lille team, der vil have kortet over sine enheder væk fra tredjepartsservere, er det en af de bedste anvendelser af en VPS til $8.
Relateret
- Host dit eget WireGuard-VPN: ren WireGuard, hvis du kun har brug for én tunnel
- VPS til VPN
- VPS til fjernadgang til Home Assistant
Kommentarer
Ingen kommentarer endnu. Vær den første.