WireGuard, Tailscale ve Headscale Farkları Nelerdir?
Tailscale ve Headscale, WireGuard protokolüne bir kontrol düzlemi ekler. Hangi ağ çözümünün VPS kurulumunuz için daha uygun olduğunu ve yönetim maliyetlerini inceleyin.
WireGuard ve Tailscale: kısa cevap
WireGuard ve Tailscale arasında bir seçim yapmak, iki protokol arasında seçim yapmak değildir; çünkü Tailscale'in kendisi zaten WireGuard'dır. Tailscale, aynı şifreleme yöntemini ve aynı tüneli kullanır, üzerine ise bir kontrol düzlemi ekler: genel anahtarları değişen, IP adreslerini dağıtan, NAT (ağ adresi çevirisi) arkasındaki bağlantıları açan ve erişim politikalarını uygulayan bir koordinasyon sunucusu. Burada yaptığınız seçim, bu koordinasyonun ne kadarını kendinizin yönetmek istediğidir.
Bu sorunun üç dürüst cevabı vardır. Tek bir sunucunuz ve ona bağlanan az sayıda istemciniz varsa düz WireGuard kullanın. Her makinenin diğer tüm makinelere, herhangi bir yapılandırma dosyası yönetmenize gerek kalmadan erişmesini istiyorsanız Tailscale kullanın. Bu ağ yapısını (mesh) istiyor ancak düğüm listesinin üçüncü bir tarafça tutulmasını istemiyorsanız Headscale kullanın.
Kontrol düzleminin sağladığı gerçek avantajlar
Standart WireGuard'da keşif mekanizması yoktur. Her bir eş (peer), elle yazılan bir metin bloğundan ibarettir: bir genel anahtar, bir AllowedIPs satırı ve eğer o eşe erişilebiliyorsa bir Endpoint. On makineli bir ağa yeni bir makine eklemek, on farklı yapılandırma dosyasını düzenlemek anlamına gelir; çünkü her iki tarafın da diğerinin anahtarına ihtiyacı vardır. Bu nedenle, kendi kendine barındırılan (self-hosted) hemen hemen tüm WireGuard kurulumları "hub and spoke" (yıldız) topolojisindedir: genel IP adresine sahip tek bir sunucu ve yalnızca bu sunucuyla konuşan istemciler.
Bir kontrol düzlemi, bu düzenleme yükünü ortadan kaldırır. Her düğüm bir kez kayıt olur, 100.64.0.0/10 CGNAT (carrier grade NAT) aralığından bir adres alır ve erişmesine izin verilen düğümlerin genel anahtarları kendisine bildirilir. Tünel, iki eş arasında doğrudan WireGuard bağlantısı olarak kalmaya devam eder ve trafiğiniz hiçbir zaman koordinasyon sunucusu üzerinden geçmez. Sunucunun taşıdığı veri meta veridir: kimin var olduğu, anahtarının ne olduğu ve kimin kiminle konuşabileceği.
Bu yapıdan üç somut sonuç çıkar.
NAT geçişi. İki ev yönlendiricisinin arkasındaki iki dizüstü bilgisayarın arasında genel bir IP adresi yoktur. Tailscale, her iki tarafın dış adresini ve portunu keşfetmek için STUN (session traversal utilities for NAT) kullanır; ardından her iki taraf aynı anda paket gönderir, böylece her yönlendirici önce giden bir akış görür ve yanıtı kabul eder. Bu başarısız olduğunda trafik, Tailscale tarafından işletilen şifreli bir aktarıcı olan DERP rölesine düşer. Verileriniz röle üzerinden uçtan uca şifreli kalır, çünkü röle anahtarları asla elinde tutmaz. tailscale status komutunu çalıştırdığınızda her eş satırı direct veya relay çıktısını verir. Hangi rölenin en yakın olduğunu ve ağınızın UDP trafiğine izin verip vermediğini görmek için tailscale netcheck komutunu çalıştırın.
Süreli anahtar rotasyonu. WireGuard anahtarlarının süresi asla dolmaz. Üç yıl önce oluşturduğunuz bir anahtar, eş bloğunu elle silmediğiniz sürece sonsuza kadar çalışır. Tailscale ise bunun yerine düğüm anahtarlarını süreli hale getirir ve Temmuz 2026 itibarıyla yeni bir tailnet üzerindeki varsayılan süre 180 gündür. Yeniden kimlik doğrulaması yapmayan bir makinenin bağlantısı kesilir. Kimsenin başında bulunup giriş yapamayacağı bir sunucu veya alt ağ yönlendiricisi (subnet router) için süre dolumunu cihaz bazında kapatabilirsiniz.
Yönlendirme yerine politika. Standart WireGuard'da AllowedIPs hem yönlendirme tablosu hem de erişim kontrol listesidir; bu nedenle "alice veritabanına erişebilir" kuralı bir IP aralığı olarak ifade edilmek zorundadır. Tailscale, kuralların kullanıcıları, grupları ve etiketleri isimlendirdiği ayrı bir politika dosyası tutar. Bir kural, tag:laptop kullanıcısının tag:db makinesine yalnızca 5432 portu üzerinden erişebileceğini belirtebilir ve bu kural, makine yeni bir adres aldığında bile geçerliliğini korur.
Kontrol düzleminin size maliyeti
Koordinasyon sunucusu ağınızı bilir. Her düğümün açık anahtarını, her düğüm adını, dağıtılan adresleri ve politikayı tutar. Barındırılan Tailscale kullanıldığında, bu sizin kontrolünüz dışında bir şirkettir. WireGuard özel anahtarları makinelerinizde kaldığı için paketleriniz onlar tarafından okunamaz; ancak ağınızın yapısı onlar tarafından görülebilir ve bağlantı kurma yeteneğiniz, onların servisinin çalışır durumda olmasına ve hesabınızın iyi durumda olmasına bağlıdır. Bunun ne kadar önem arz ettiği, ele geçirilmiş bir koordinasyon sunucusunun veya çalınmış bir kimlik hesabının elindekilerle gerçekte neler yapabileceğine bağlıdır; Tailscale'in güven modelinin tamamının okunması gereken yer burasıdır.
Gözden kaçırılması kolay ikinci bir maliyet daha vardır. Tailscale her makinede çalışan bir daemon'dır, dolayısıyla her makinede güncel tutmanız gereken bir yazılımdır. Ubuntu 24.04 üzerindeki standart WireGuard, dağıtımla birlikte gelen ve çekirdek ile güncellenen bir çekirdek modülüdür.
Üçüncü maliyet ise faturalandırmadır. Temmuz 2026 itibarıyla Personal planı 6 kullanıcıya kadar sınırsız cihazla ücretsizdir, Standard planı kullanıcı başına aylık 8 dolardır ve Premium planı kullanıcı başına aylık 18 dolardır. Bir hane halkı ücretsiz kalmaya devam eder. On kişilik bir ekip ise etmez. Bu sınırı aşıp aşmadığınız cihaz sayısından ziyade kullanıcı koltuğu sayısıyla ilgilidir ve ücretsiz planın neleri kapsadığını yedinci kullanıcıyı davet etmeden önce okumakta fayda vardır.
Sade WireGuard ne zaman doğru tercihtir
Topoloji gerçekten merkez ve uç (hub and spoke) yapısındaysa sade WireGuard tercih edilmelidir. Genel IP adresine sahip bir VPS ve ona bağlanan üç veya dört cihazınız varsa ve bu cihazların birbirine erişmesi gerekmiyorsa bu yapı uygundur. Yapılandırma tek bir ekrana sığar, güncellenmesi gereken bir daemon yoktur, kaybedilecek bir hesap bulunmaz ve sunucunuz ile aranızda üçüncü taraf bir servis yer almaz.
Ayrıca, üzerine inşa edilen her şeyin temelindeki katmanı anlamak istediğinizde de doğru cevap budur. Bir VPS üzerinde WireGuard VPN self-hosting rehberi; anahtar üretimi, wg0.conf, IP yönlendirme, NAT ve el sıkışma hataları konularını adım adım açıklar; bir tailnet altında çalışan tüm mekanizmaların temelinde de bu süreçler yatar. Eğer hala eski seçeneği değerlendiriyorsanız, WireGuard ve OpenVPN karşılaştırması makalesi, OpenVPN'in avantajını koruduğu dört durumu ele almaktadır.
Kurulum kısadır:
sudo apt update && sudo apt install -y wireguard
sudo modprobe wireguard && echo okSade WireGuard'ın kullanışlılığını yitirdiği nokta, her cihazın diğer tüm cihazlara erişmesi gereken andır. N adet düğümden oluşan tam bir ağ (full mesh), N çarpı N eksi bir adet eş (peer) bloğu gerektirir. Altı cihazda bu, elle senkronize edilmesi gereken otuz blok anlamına gelir ve kopyalanmış bir AllowedIPs girdisi, hiçbir hata mesajı vermeden trafiği ilk kullanan eşten sessizce çalar.
Tailscale ne zaman doğru çözümdür
Makineler hareket halindeyken Tailscale tercih edilmelidir. Otel ağlarındaki dizüstü bilgisayarlar, mobil veri kullanan bir telefon veya kontrolünüzde olmayan bir yönlendiricinin arkasındaki ev sunucusu. Bunlar, standart WireGuard'ın kötü yönettiği durumlardır; çünkü taraflardan hiçbirinin Endpoint içine yazılabilecek sabit bir genel uç noktası yoktur.
İstemciyi kurmak, resmi yükleyiciden tek bir komutla yapılır:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale statustailscale up bir URL çıktısı verir. Bu URL'yi açıp giriş yaptığınızda makine ağa katılır. Kopyalanacak bir anahtar veya açılacak bir gelen port yoktur; çünkü daemon, koordinasyon sunucusuna giden bir bağlantı kurar ve bunu açık tutar. Bir Tailscale düğümünün, hiçbir güvenlik duvarını kontrol etmediğiniz bir ağda çalışmasının nedeni de budur.
Bundan sonra işin büyük kısmını iki ayar yapar. Bir subnet router, tüm bir yerel ağı (LAN) ağa duyurur; böylece her cihaza istemci kurmanız gerekmez:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
sudo tailscale set --advertise-routes=192.0.2.0/24Rota, siz yönetici konsolunda onaylayana kadar aktif olmaz; bu kasıtlı bir durumdur: bir düğüm kendi başına ağınıza rota enjekte edemez. Linux istemcileri ayrıca sudo tailscale set --accept-routes ayarına ihtiyaç duyar, çünkü Linux varsayılan olarak duyurulan rotaları kabul etmez. Bu nedenle, sunucu tarafında onaylanmış görünen bir rota, siz bu ayarı yapana kadar Linux dizüstü bilgisayarda hiçbir işe yaramaz. Eğer istediğiniz yapı buysa, bir VPS üzerinde subnet router çalıştırmak rehberi, onay adımlarını ve yönlendirme ayarlarını, rotanın kısmen çalışır durumda kalmasını engelleyecek sırayla anlatır.
Bir exit node, bir istemcinin tüm trafiğini tek bir makine üzerinden gönderir; bu, insanların genellikle "VPN" derken kastettiği tam tünel davranışıdır:
sudo tailscale set --advertise-exit-nodeBu bayrak işin kolay kısmıdır ve bir VPS'i exit node haline getirmek rehberi, sonrasındaki adımları kapsar: yönetici konsolunda rotayı onaylamak, ardından trafiğin yanlış yoldan çıkmasına neden olan DNS ve IPv6 davranışlarını düzeltmek. Eğer ulaşmak istediğiniz şey tüm bir ağ değil de tek bir web servisi ise, serve ve funnel özellikleri, tek bir yerel portun önüne, sadece tailnet içine veya genel internete açık olacak şekilde HTTPS koymanızı sağlar.
Headscale ne zaman doğru çözümdür
Headscale, koordinasyon sunucusunun açık kaynaklı bir uygulamasıdır ve kendi sahip olduğunuz bir VPS üzerinde çalışır. Resmi Tailscale istemcileri, barındırılan hizmet yerine bu sunucuya yönlendirilir:
sudo tailscale up --login-server https://headscale.example.comVeri yolu ile ilgili her şey aynı kalır. Bağlantı hala WireGuard tabanlıdır ve ağın izin verdiği durumlarda eşler (peers) arasında doğrudan gerçekleşir. Değişen şey; düğüm listesinin, anahtarların ve ilkelerin size ait bir diskteki SQLite dosyasında tutulmasıdır. Dışarıdan hiç kimse ağınızın yapısını göremez, hesabınızı devre dışı bırakamaz veya kullanıcı başına faturalandırma yapamaz.
Bu durumun karşılığı ise ciddi bir emek gerektirmesidir. Artık herkese açık bir HTTPS hizmeti çalıştırıyorsunuz; bu da bir DNS adı, bir sertifika ve WebSocket yükseltmelerini doğru şekilde ileten bir reverse proxy gerektirir. Çalışma süresinden (uptime) siz sorumlusunuz ve koordinasyon sunucusunun kapalı olması, yeni düğümlerin kaydolamaması ve mevcut düğümlerin değişikliklerden haberdar olamaması anlamına gelir. Headscale henüz 1.0 sürümünün altındadır ve küçük sürümleri (minor releases) köklü değişiklikler içerebilir; bu nedenle her yükseltme öncesinde değişiklik günlüğünü (changelog) okuyun. Kendi Tailscale kontrol sunucunuz olarak Headscale çalıştırmak başlıklı rehber; kurulumu, config.yaml, ön kimlik doğrulama anahtarlarını ve açılması gereken portları kapsar.
İnsanların geç fark ettiği bir uyarı noktası vardır. Headscale, Tailscale'in küresel röle (relay) ağıyla birlikte gelmez. İki eşin doğrudan bağlanamadığı durumlarda, ya kendi sunucunuzdaki yerleşik röleyi etkinleştirmeniz ya da yapılandırmayı başka bir sunucuya yönlendirmeniz gerekir; bu röle dünya çapında bir ağ yerine tek bir bölgedeki tek bir makineden ibarettir. Dünyanın öbür ucundaki eşler bu farkı hisseder. Bu parçayı kendiniz birleştirmek istemiyorsanız, kontrol düzlemini kendi bünyenizde tutmanın diğer yolu NetBird self-hosting yöntemidir; çünkü hızlı başlangıç (quickstart) süreci yönetim, sinyal ve röle hizmetlerini tek bir VPS üzerinde birlikte ayağa kaldırır.
Tek geçişte nasıl karar verilir
Kaç makinenin birbirine erişmesi gerektiğini belirleyin. Eğer tüm makineler sadece sunucuyla iletişim kuruyorsa, standart WireGuard aynı sonucu daha az yazılım yüküyle sağlar.
Makinelerin sabit genel IP adreslerine sahip olup olmadığını sorgulayın. Eğer makinelerin çoğu kontrolünüz dışındaki bir NAT arkasındaysa, bir kontrol düzlemine (control plane) ihtiyacınız vardır; çünkü NAT delme (hole punching) işlemi karmaşıktır ve yeniden geliştirilmeye değmez.
Ağınızın yapısını kimin bilmesine izin verildiğini değerlendirin. Eğer dış şirketlerin erişimi istenmiyorsa veya kullanıcı başına ücretlendirme maliyetli geliyorsa, Headscale kullanın ve kontrol sunucusunu kendinizin yöneteceği gerçeğini kabul edin. Eğer temel motivasyon maliyetse, geçiş yapmadan önce hesaplamalarınızı yapın; çünkü ekibinizin gerçekte ne kadar ödeyeceği, çalıştırdığınız makine sayısından ziyade kaç kişinin hesabı olduğuna bağlıdır ve bu iki sayı nadiren birbirine yakındır.
Kararınızı düşük maliyetle değiştirebilirsiniz. Veri düzlemi (data plane) her üç seçenekte de aynı protokolü kullandığından, standart WireGuard'dan koordineli bir ağ yapısına geçmek bir yeniden tasarım değil, sadece istemci kurulumu gerektirir. Tailscale'den Headscale'e geçmek ise her düğümün farklı bir giriş sunucusuna yeniden kaydedilmesinden ibarettir.
Üçünün de sağlamadığı özellikler
Bunların hiçbiri bir güvenlik duvarı (firewall) değildir. Bir tünel, hangi paketlerin taşınacağına karar verir; hangi servislerin dinleme yapacağına değil. Tünel üzerinden erişilebilen bir sunucu, açık bıraktığınız herhangi bir port üzerinden internete karşı hâlâ erişilebilirdir; bu nedenle VPS üzerindeki UFW güvenlik duvarı kurallarını görevlerini yapacak şekilde tutun. Tailscale politika dosyası, diğer düğümlerin nelere erişebileceğini kısıtlar ancak genel ağ arayüzü üzerinde hiçbir etkisi yoktur.
Bunların hiçbiri servis bazlı kimlik doğrulama sağlamaz ve hiçbiri, bir kullanıcı bağlandıktan sonra ne yaptığına dair bir denetim izi (audit trail) sunmaz. Üçünü de birer taşıma katmanı olarak değerlendirin ve giriş kontrollerini uygulamanın kendisine ekleyin.
FAQ
Tailscale sadece fazladan adımları olan bir WireGuard mı?
Tailscale, veri yolu için WireGuard protokolünü kullanır; dolayısıyla şifreleme ve tünel yapısı aynıdır. Tailscale'in eklediği özellikler koordinasyon katmanıdır: anahtar değişimi, adres ataması, STUN ve DERP röleleri ile NAT geçişi, anahtar geçerlilik süresi ve IP aralıkları yerine kullanıcı isimlerini temel alan bir politika dosyası. Bunlar, standart WireGuard'da kullanıcıya bırakılan ve cihazlar ağlar arasında hareket ettiğinde zorlaşan kısımlardır.
Trafiğim Tailscale sunucuları üzerinden mi geçiyor?
Normalde hayır. Koordinasyon sunucusu eşleri birbirine tanıttıktan sonra eşler doğrudan birbirine bağlanır ve tailscale status, bu eş hatlarında direct değerini gösterir. Doğrudan bir yol kurulamadığında trafik bir DERP rölesine düşer ve hat relay olarak görünür. Bu durumda bile röle, şifrelenmiş paketleri taşır ve WireGuard özel anahtarlarınızı tutmaz; dolayısıyla içeriği okuyamaz. Ağınızın doğrudan bağlantılar için gerekli olan UDP trafiğini engelleyip engellemediğini görmek için tailscale netcheck komutunu çalıştırın.
Headscale'i resmi Tailscale uygulamalarıyla kullanabilir miyim?
Evet. Headscale aynı kontrol protokolünü kullanır, bu nedenle resmi istemciler sudo tailscale up --login-server https://headscale.example.com ile sisteme dahil olur. Masaüstü ve mobil uygulamalar da özel bir giriş sunucusuna yönlendirilebilir; ancak bu ayar her platformda farklı bir yerdedir ve mobil uygulamalar belirli bir sürüm gereksinimine en çok ihtiyaç duyanlardır. Tüm ağı taşımadan önce bir telefon üzerinde test yapın.
Tailscale veya Headscale için hala port açmam gerekiyor mu?
Bir Tailscale istemcisi için gelen port açmaya gerek yoktur; çünkü istemci koordinasyon sunucusuna dışarıdan bağlanır ve bu bağlantıyı açık tutar. Kendi sunucunuzda barındırdığınız bir Headscale sunucusu için gelen portlar gereklidir: kontrol protokolü için 443, HTTP-01 sertifika doğrulaması kullanıyorsanız 80 ve yalnızca yerleşik röleyi etkinleştirdiğinizde 3478/udp portu. Standart WireGuard ise sunucuda ve servis sağlayıcınızın çalıştırdığı herhangi bir ağ güvenlik duvarında, genellikle 51820 olan UDP dinleme portunun açık olmasını gerektirir.
Üçü arasından hangisi en hızlısı?
Üçü de paketleri WireGuard ile taşıdığı için veri aktarım hızı aynıdır. Fark, bağlantı kurulumunda ve yol kalitesinde ortaya çıkar. Doğru yapılandırılmış bir Endpoint ile standart WireGuard her zaman doğrudan bağlanır. Tailscale ve Headscale çoğu zaman doğrudan bağlanır, ancak ağ delik açma (hole punching) işlemini engellediğinde röleye düşer ve röleli bir yol gecikmeyi artırır. Rotanın doğrudan mı yoksa röleli mi olduğunu bildiren tailscale ping <node> ile veya tünel üzerinden iperf3 ile kendi yolunuzu ölçün. Eğer bu değer doğrudan bir yolda hat hızınızın çok altında kalıyorsa, sorun üç seçenek arasındaki tercihinizden kaynaklanmıyor demektir; yaygın neden, kontrol düzlemi olsun veya olmasın aynı şekilde davranan bir yol MTU uyumsuzluğudur.