Mesh VPN, her şeyi sessizce kolaylaştıran araçlardan biridir: dizüstü bilgisayarınız, ev sunucunuz, telefonunuz ve VPS'leriniz nerede olurlarsa olsunlar birbirlerini özel adreslerde görür. Barındırılan mesh VPN'lerin sorunu koordinasyon sunucusudur: bir şirket, sahip olduğunuz her cihazın haritasını tutar. Headscale, bu denetim sunucusunun açık kaynaklı bir alternatifidir. Onu küçük bir VPS'te çalıştırın, normal istemci uygulamalarını kullanmaya devam edin ve harita sizin olsun.
Parçalar nasıl birleşir
- Headscale (VPS'inizde) adresleri dağıtır, açık anahtarları iletir ve ACL'lerinizi uygular.
- İstemciler, sunucunuza yönlendirilmiş standart Tailscale uygulamalarıdır.
- Trafik, WireGuard üzerinden cihazdan cihaza gider. Denetim sunucusu onu asla taşımaz.
Son madde, minicik bir planın neden yettiğini açıklar: VPS yalnızca küçük koordinasyon isteklerine yanıt verir.
Neye ihtiyacınız var
- Nano-IP ($8/ay): 2 vCPU ve 1 GB RAM, Headscale'in kullandığından çok daha fazlasıdır.
- Özel bir IPv4 ve bir alan adı, örneğin
hs.example.com. Cihazlar denetim sunucusuyla HTTPS üzerinden konuşur, bu yüzden VPS'in gelen 443 trafiğini kabul etmesi gerekir; NAT planları bunu yapmaz (ayrıntılar).
Kurulum (Debian 12 / Ubuntu 24.04)
GitHub'daki Headscale sürümler sayfasından güncel .deb dosyasını alın, sürümü en yenisiyle değiştirin:
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
/etc/headscale/config.yaml dosyasını düzenleyin; önemli olan iki satır:
server_url: https://hs.example.com
listen_addr: 127.0.0.1:8080
HTTPS için önüne Caddy koyun:
cat > /etc/caddy/Caddyfile <<'EOF'
hs.example.com {
reverse_proxy 127.0.0.1:8080
}
EOF
systemctl enable --now headscale
systemctl reload caddy
Bir kullanıcı ve bir cihaz ekleyin
headscale users create alice
headscale users list # note the user's ID
headscale preauthkeys create --user 1 --expiration 24h
Eski sürümler --user içinde ID yerine kullanıcı adını bekler; headscale preauthkeys create --help sizinkinin neyi beklediğini gösterir.
Bir Linux cihazında:
tailscale up --login-server https://hs.example.com --authkey YOUR_KEY
Telefonlarda ve masaüstlerinde Tailscale uygulaması, ayarlardan özel bir denetim sunucusu belirlemenize izin verir. VPS'te headscale nodes list komutunu çalıştırın; cihazınız orada görünmelidir.
Röleler ve NAT geçişi
Çoğu cihaz doğrudan bağlanır. İkisi bağlanamadığında (katı mobil ağlar, çift NAT) trafik bir DERP rölesi üzerinden geçer. Varsayılan olarak Headscale, yalnızca şifreli paketleri gören Tailscale'in genel rölelerini kullanır. Yolda harici hiçbir şey istemiyorsanız config.yaml içinde yerleşik röleyi açın (derp.server.enabled: true) ve UDP 3478'i açın. Bu durumda iletilen trafik VPS'inizin bant genişliğinden düşer.
Dürüst sınırlar
Resmi bir web paneli yoktur: kullanıcılar, anahtarlar ve rotalar CLI komutlarıdır (iki kez yaptıktan sonra sorun olmaz). Barındırılan hizmetin yeni özellikleri Headscale'e daha geç gelir, gelirse. Ve denetim sunucusu artık sizin sorumluluğunuzdadır: çökerse mevcut bağlantılar çalışmaya devam eder, ancak yeni cihazlar katılamaz ve anahtarlar yenilenemez. Yedekleyin: tüm durum /var/lib/headscale içindedir.
Cihaz haritasını üçüncü taraf sunuculardan çıkarmak isteyen bir ev laboratuvarı, bir aile veya küçük bir ekip için bu, $8'lık bir VPS'in en iyi kullanımlarından biridir.
İlgili
- Kendi WireGuard VPN'inizi barındırın: yalnızca tek bir tünele ihtiyacınız varsa düz WireGuard
- VPN için VPS
- Home Assistant'a uzaktan erişim için VPS
Yorumlar
Henüz yorum yok. İlk olun.