TR/EN
Blog

Tailscale Nedir? Sunucuya ve Cihazlara Nasıl Kurulur?

Yayın tarihi: · 12 dk okuma

Bir sunucuyu yönetmek için genelde SSH portunu internete açarız ve sonra loglarda dünyanın her yerinden gelen giriş denemelerini izleriz. Evdeki bir cihaza dışarıdan ulaşmak için modemde port yönlendirme yapmak, ekibe ortak bir iç ağ kurmak için de bir VPN sunucusu kurup yönetmek gerekir. Tailscale bütün bu işleri birkaç dakikalık bir kuruluma indiren bir araç. Bu yazıda Tailscale nedir, nasıl çalışır ve bir sunucuya, bilgisayara ve telefona nasıl kurulur adım adım anlatıyoruz.

Tailscale Nedir, Nasıl Çalışır?

Tailscale, WireGuard protokolü üzerine kurulu bir mesh VPN. Klasik VPN'lerde tüm cihazlar merkezdeki bir VPN sunucusuna bağlanır ve trafik oradan geçer. Tailscale'de ise cihazlar birbirine doğrudan bağlanıyor:

  • Koordinasyon sunucusu sadece cihazların açık anahtarlarını ve ayarlarını dağıtıyor; trafiğiniz bu sunucudan geçmiyor.
  • Cihazlar NAT ve güvenlik duvarlarının arkasında olsa bile birbirini bulup doğrudan, uçtan uca şifreli bağlantı kuruyor. Port yönlendirmeye gerek kalmıyor.
  • Doğrudan bağlantı mümkün olmazsa trafik, Tailscale'in DERP relay sunucuları üzerinden yine şifreli olarak taşınıyor.
  • Her cihaz 100.x.y.z şeklinde sabit bir IP alıyor ve MagicDNS sayesinde cihazlara isimleriyle (ör. web01) ulaşabiliyorsunuz.

Aynı hesaba bağlı cihazların oluşturduğu bu özel ağa tailnet deniyor.

Tailscale, OpenVPN ve WireGuard Karşılaştırması

KriterTailscaleOpenVPNDüz WireGuard
KurulumDakikalar, tek komutSunucu + sertifika altyapısıOrta, elle yapılandırma
Port yönlendirme / NATGerekmezSunucuda port açılmalıEn az bir tarafta port açılmalı
TopolojiMesh (cihazdan cihaza)Merkezi sunucuElle kurulan eşler
Anahtar yönetimiOtomatikSertifikalarla, elleElle
Erişim kontrolüMerkezi politikalar, kimlik sağlayıcı ile girişSunucu tarafında kurallarYok, güvenlik duvarıyla
Kendi sunucunda barındırmaHeadscale ile mümkünEvetEvet
MaliyetKişisel kullanım ücretsiz, ekipler ücretliÜcretsiz (Community)Ücretsiz

Klasik bir VPN sunucusu kurmak isterseniz VPN nedir, OpenVPN nasıl kurulur yazımızda adım adım anlattık.

Ne İşe Yarar?

  • Sunucuya güvenli SSH: SSH portunu internete kapatıp sunucuya sadece Tailscale üzerinden bağlanmak.
  • Evdeki yada ofisteki cihazlara erişim: NAS, kamera, test sunucusu gibi cihazlara port açmadan ulaşmak.
  • Veritabanını internete açmamak: Uygulama sunucusu ile veritabanı sunucusunu farklı yerlerde olsalar bile özel ağ üzerinden konuşturmak.
  • Ekip için iç ağ: Geliştiricilere iç servislere erişim vermek ve kimin neye ulaşacağını merkezden yönetmek.
  • Güvenli internet çıkışı: Halka açık Wi-Fi'da tüm trafiği kendi sunucunuz (exit node) üzerinden geçirmek.

Adım 1: Hesap Oluşturun

tailscale.com üzerinden Google, Microsoft, GitHub, Apple yada kurumsal bir kimlik sağlayıcıyla giriş yapmanız yeterli. Tailscale kendi şifresini tutmuyor; kimlik doğrulamayı bu sağlayıcılara bırakıyor. Bu yüzden kullandığınız hesapta iki adımlı doğrulamanın açık olması önemli.

Adım 2: Linux Sunucuya Kurulum

Ubuntu, Debian, RHEL ailesi ve diğer yaygın dağıtımlarda resmi kurulum betiği tek komutla işi bitiriyor:

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up            # ekrana gelen linki tarayıcıda açıp giriş yapın
tailscale ip -4              # sunucunun Tailscale IP'si (100.x.y.z)
tailscale status             # tailnet'teki cihazlar

tailscale up komutu ekrana bir giriş linki yazıyor. Linki tarayıcıda açıp hesabınızla onayladığınızda sunucu tailnet'inize ekleniyor.

Adım 3: Diğer Cihazlarınızı Ekleyin

Windows, macOS, iOS ve Android için resmi uygulamaları indirip aynı hesapla giriş yapın. Birkaç saniye içinde tüm cihazlar birbirini görüyor. Bilgisayarınızdan bağlantıyı test edin:

tailscale ping web01       # bağlantı doğrudan mı, relay üzerinden mi?
ssh root@web01             # MagicDNS sayesinde IP yerine isimle

tailscale ping çıktısında "via DERP" görüyorsanız bağlantı relay üzerinden gidiyor demek; çalışır ama doğrudan bağlantıya göre biraz daha yavaştır.

Adım 4: Sunucular İçin Auth Key ve Anahtar Süresi

Çok sayıda sunucuyu eklerken yada kurulumu otomatikleştirirken her seferinde tarayıcıdan giriş yapmak pratik değil. Admin konsolundaki Settings → Keys bölümünden bir auth key oluşturup kurulumda kullanabilirsiniz:

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --authkey tskey-auth-XXXXXXXXXXXX --hostname web01

Güvenlik için cihaz anahtarlarının varsayılan olarak belirli bir süre sonra (genelde 180 gün) yeniden giriş istemesi ayarlı. Kullanıcı cihazlarında bu iyi bir şey, ama sunucularda anahtar süresi dolunca bağlantı kopuyor. Sunucular için admin konsolunda cihazın menüsünden Disable key expiry seçeneğini kullanın.

Tailscale SSH ve SSH Portunu Kapatma

Tailscale'in en sevilen özelliklerinden biri: sunucunun SSH portunu internete tamamen kapatıp, yönetimi sadece Tailscale ağı üzerinden yapmak. İsterseniz Tailscale SSH ile SSH anahtarı yönetimini de Tailscale'e bırakabilirsiniz:

sudo tailscale set --ssh                 # Tailscale SSH'ı açın (giriş yetkisi admin konsolundaki politikalarla yönetilir)

# SSH'a sadece Tailscale arayüzünden izin verin
sudo ufw allow in on tailscale0
sudo ufw delete allow 22/tcp             # yada: sudo ufw delete allow OpenSSH
sudo ufw enable
sudo ufw status verbose
Kilitlenmeyin! Public SSH kuralını silmeden önce Tailscale üzerinden SSH bağlantısının çalıştığını mutlaka yeni bir terminalde test edin. Yine de bir sorun olursa sağlayıcınızın web konsolu (VNC) üzerinden sunucuya erişebildiğinizden emin olun.

Exit Node ve Subnet Router

Exit node, istemcilerin tüm internet trafiğini tailnet'teki bir sunucu üzerinden çıkarmasını sağlıyor; halka açık Wi-Fi'larda güvenli bir çıkış noktası gibi. Subnet router ise Tailscale kurulu olmayan cihazların bulunduğu bir ağı (ör. ofis ağı) tailnet'e açıyor:

# exit node olacak sunucuda: IP yönlendirmeyi açıp duyurun
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-exit-node

# subnet router: arkadaki bir ağı tailnet'e açın
sudo tailscale set --advertise-routes=10.0.0.0/24

# istemcide: tüm trafiği exit node üzerinden gönderin
sudo tailscale set --exit-node=100.101.102.103
sudo tailscale set --exit-node=          # kapatmak için

Exit node ve subnet route'lar güvenlik nedeniyle admin konsolunda ayrıca onaylanması gerekiyor; cihazın menüsünden Edit route settings ile onaylayın. firewalld kullanan sistemlerde masquerade'i de açmanız gerekebilir.

Bir de küçük not: tailscale serve bir servisi sadece tailnet içinde paylaşırken, tailscale funnel aynı servisi internete açıyor. Funnel'ı kullanırken neyi dışarı açtığınıza dikkat edin.

Erişim Kontrolü

Varsayılan ayarlarda tailnet'teki cihazlar birbirine erişebiliyor. Ekip büyüdükçe admin konsolundaki Access controls bölümünden politikalar yazarak kimin hangi cihaza, hangi porttan ulaşabileceğini belirlemelisiniz. Sunuculara tag (ör. tag:prod) verip politikaları kişilere değil etiketlere göre yazmak yönetimi çok kolaylaştırıyor. Kural basit: herkes sadece ihtiyacı olana erişsin.

Sık Kullanılan Komutlar

KomutNe yapar?
tailscale up / downBağlantıyı açar / kapatır
tailscale statusTailnet'teki cihazları ve durumlarını listeler
tailscale ip -4Cihazın Tailscale IPv4 adresini gösterir
tailscale ping <cihaz>Bağlantının doğrudan mı relay üzerinden mi olduğunu gösterir
tailscale netcheckAğ ve NAT durumunu, en yakın relay'i raporlar
tailscale set --sshTailscale SSH'ı açar
tailscale set --exit-node=<ip>Trafiği bir exit node üzerinden gönderir
tailscale logoutCihazı tailnet'ten çıkarır

Sık Karşılaşılan Sorunlar

BelirtiOlası sebepÇözüm
Bağlantı yavaş, ping'de "via DERP"Doğrudan bağlantı kurulamıyor (sıkı güvenlik duvarı)tailscale netcheck çalıştırın, UDP trafiğine (varsayılan 41641) izin verin
Cihaz listede görünmüyorFarklı hesapla giriş yapılmışTüm cihazlarda aynı hesap/tailnet ile giriş yapın
Sunucu bir anda erişilemez olduAnahtar süresi dolduYeniden giriş yapın ve sunucu için key expiry'yi kapatın
Exit node seçiliyor ama internet yokIP yönlendirme kapalı yada route onaylanmamışsysctl ayarlarını ve admin konsolundaki onayı kontrol edin
Cihaz adıyla bağlanamıyorumMagicDNS kapalıAdmin konsolunda DNS bölümünden MagicDNS'i açın

Fiyat ve Alternatifler

Tailscale'in kişisel, ticari olmayan kullanım için ücretsiz bir planı var ve tek bir kişinin cihazlarını bağlamak için genelde fazlasıyla yeterli. Ekipler ve şirketler için kullanıcı başına ücretlendirilen planlar sunuluyor. Plan limitleri zaman zaman değiştiği için güncel bilgiyi Tailscale'in fiyat sayfasından kontrol etmenizi öneriyoruz.

Koordinasyon sunucusunu da kendi elinizde tutmak istiyorsanız açık kaynak Headscale projesi, Tailscale istemcileriyle çalışan bir alternatif kontrol sunucusu sunuyor ve küçük bir VPS'te rahatça çalışıyor. Yönetim arayüzü ve bazı özellikler daha sınırlı ama herşey sizin sunucunuzda kalıyor.

VECDC Sunucularında Tailscale

VECDC sanal sunucuları NVMe disk ve 1 Gbps bağlantı ile aylık $6'dan başlıyor ve otomatik kurulumla yaklaşık 5 dakikada hazır oluyor. Sunucu açılır açılmaz Tailscale'i kurup SSH'ı internete kapatabilir, sunucularınızı birbirine özel bir ağ üzerinden bağlayabilirsiniz. Headscale yada bir exit node için en küçük paket bile yeterli; lokasyonu sipariş sırasında seçebildiğiniz için exit node'u istediğiniz bir lokasyonda çalıştırabilirsiniz. Docker kurulu gelen Developer VDS ile geliştirme ortamınızı da aynı tailnet'e ekleyebilirsiniz. VPS ve VDS farkını merak ediyorsanız VDS nedir, VPS nedir yazımıza göz atın.

Sık Sorulan Sorular

Tailscale ücretsiz mi?

Tailscale'in kişisel ve ticari olmayan kullanım için ücretsiz bir planı vardır ve tek bir kişinin cihazlarını bağlamak için genelde yeterlidir. Ekipler ve şirketler için kullanıcı başına ücretli planlar sunulur; plan limitleri değişebildiği için güncel bilgiyi Tailscale'in fiyat sayfasından kontrol edin.

Tailscale trafiğimi görebilir mi?

Hayır. Cihazlar arasındaki trafik WireGuard ile uçtan uca şifrelenir. Koordinasyon sunucusu sadece açık anahtarları ve ayarları dağıtır; relay (DERP) üzerinden geçen trafik de şifreli olduğu için içeriği okunamaz.

Tailscale, OpenVPN yerine kullanılabilir mi?

Çoğu senaryoda evet. Sunuculara güvenli erişim, cihazlar arası özel ağ ve ekip erişimi için Tailscale kurulumu çok daha kolaydır ve port yönlendirme gerektirmez. Koordinasyonun tamamen kendi sunucunuzda olmasını istiyorsanız Headscale yada OpenVPN gibi çözümler tercih edilebilir.

Tailscale'i kendi sunucumda barındırabilir miyim?

Tailscale istemcileri açık kaynaktır; koordinasyon sunucusu için ise açık kaynak Headscale projesini kendi sunucunuzda çalıştırabilirsiniz. Headscale küçük bir VPS'te rahatça çalışır ancak resmi servise göre bazı özellikleri daha sınırlıdır.

Kısacası

Tailscale, WireGuard tabanlı, kurulumu dakikalar süren ve port yönlendirme gerektirmeyen bir mesh VPN. Sunucunuza tek komutla kurun, diğer cihazlarınızı aynı hesapla ekleyin, SSH'ı internete kapatın ve gerektiğinde exit node, subnet router ve erişim politikalarıyla ağınızı büyütün. Kurulumda takıldığınız birşey olursa bize yazın.

Sanal Sunucunuz 5 Dakikada Hazır

Adanmış kaynaklı NVMe sanal sunucu paketleri aylık $6'dan başlıyor.

Paketleri İncele →