- Tailscale Peer Relays genel kullanıma sunuldu; kullanıcılar artık kendi cihazlarını yüksek performanslı röle düğümleri olarak kullanabiliyor
- Güvenlik duvarı, NAT ve bulut ağı kısıtlamaları nedeniyle doğrudan bağlantının zor olduğu ortamlarda bile kararlı ve hızlı trafik aktarımı sağlıyor
- Throughput artışı, lock contention iyileştirmeleri ve UDP soketlerinin dağıtık işlenmesi sayesinde çok sayıda istemci bağlantısında performans belirgin şekilde artıyor
- Statik endpoint entegrasyonu ile otomatik keşfin mümkün olmadığı bulut ortamlarında bile AWS NLB gibi yapıların arkasında röle çalıştırmak mümkün
- Görünürlük ve izleme entegrasyonu, trafik yolu, gecikme ve röle durumunu net biçimde görmeyi sağladığı için büyük ölçekli ağ operasyonlarında önem taşıyor
Tailscale Peer Relays'e genel bakış
- Peer Relays, yüksek performanslı röle işlevini kendi cihazlarınızda çalıştırmanıza olanak tanıyan bir özellik
- Mevcut DERP rölelerine ek olarak, kullanıcıların kendilerinin dağıttığı düğümler de röle olarak kullanılabiliyor
- Betadan sonra performans, kararlılık ve görünürlük büyük ölçüde geliştirilerek üretim seviyesine taşındı
- Başlangıçta karmaşık NAT ortamlarını aşmak için ortaya çıkan bu özellik, zamanla büyük ölçekli ağ bağlantı seçeneğine dönüştü
- Ekiplerin performans, kontrol ve esneklik kazanmasını sağlayan bir yapı sunuyor
Performans ve güvenilirlik iyileştirmeleri
- Çok sayıda istemci röle üzerinden bağlandığında throughput önemli ölçüde artıyor
- İstemciler, röle içinde en uygun arayüzü ve adres ailesini otomatik olarak seçiyor
- Röle tarafında lock contention'ın azaltılması ve çoklu UDP soketleri arasında dağıtık işleme ile paket işleme verimliliği yükseliyor
- Bu iyileştirmeler sayesinde günlük trafikte de performans ve kararlılık artıyor; doğrudan bağlantının mümkün olmadığı durumlarda bile mesh ağa yakın performans sunuluyor
Statik endpoint desteği
- Genel bulut ortamlarında otomatik endpoint keşfi çoğu zaman zor oluyor
- Güvenlik duvarı kuralları, port yönlendirme ve load balancer yapıları nedeniyle rastgele port açmanın mümkün olmadığı durumlar var
- Peer Relays,
--relay-server-static-endpoints bayrağı aracılığıyla sabit IP:port çiftlerini duyurabiliyor
- AWS Network Load Balancer gibi altyapıların arkasında bile harici istemciler röle üzerinden trafik iletebiliyor
- Bu özellik sayesinde kısıtlı bulut ortamlarında da yüksek hızlı bağlantı sağlanabiliyor ve subnet router yerine geçerek full mesh yapılandırması kurulabiliyor
Görünürlük ve izleme entegrasyonu
- Peer Relays, Tailscale'in gözlemlenebilirlik araçlarıyla doğrudan entegre olduğu için röle davranışı net biçimde incelenebiliyor
tailscale ping komutuyla röle kullanılıp kullanılmadığı, erişilebilirlik, gecikme ve güvenilirlik etkisi doğrulanabiliyor
- Sorun oluştuğunda trafiğin röle üzerinden geçip geçmediği ve röle durumunun sağlıklı olup olmadığı anında anlaşılabiliyor
- İzleme metrikleri olarak
tailscaled_peer_relay_forwarded_packets_total, tailscaled_peer_relay_forwarded_bytes_total sunuluyor
- Prometheus, Grafana gibi araçlarla entegre edilerek trafik örüntülerinin analizi, anomali tespiti ve ağ durumunun izlenmesi mümkün oluyor
Genel erişim ve dağıtım modeli
- Genel kullanıma sunulan Peer Relays, Tailscale ölçeklenebilirliğinin temel bileşenlerinden biri haline geliyor
- Doğrudan yol mümkün olmadığında yüksek hızlı ve düşük gecikmeli bağlantı sağlıyor
- Statik endpoint tabanlı dağıtım ile kısıtlı bulut ortamlarında da çalışabiliyor
- Özel subnet içinde full mesh yapılandırması ve giriş/çıkış kontrol yollarının ayarlanması destekleniyor
- Uçtan uca şifreleme, en az ayrıcalıklı erişim ve öngörülebilir davranış gibi Tailscale'in temel güvenlik ilkeleri korunuyor
- CLI üzerinden desteklenen tüm düğümlerde etkinleştirilebiliyor; ayrıca ACL tabanlı kontrol ve kademeli dağıtım destekleniyor
- Peer Relays, ücretsiz Personal plan dahil tüm tarifelerde kullanılabiliyor
1 yorum
Hacker News yorumları
Tailscale’in “açık” olduğu için güvenilir sayılması gerektiği söyleniyorsa, aynı anda bazı istemcilerinin kapalı kaynak olduğunu da bilmek gerekir
Yalnızca resmi dağıtım kanalları üzerinden (ör. Apple App Store) dağıtılıyorlar ve tamamen onların kontrolü altındalar
Bu tutumu meşrulaştırmak için öne sürülen mantık garip; “kullanıcıların kapalı kaynak bir OS kullanması kabul edilebiliyorsa Tailscale’in de kapalı kaynak olması sorun değildir” gibi bir yaklaşım var
Böyle bir yapı, bağlantının kısıtlı olduğu ortamlarda güven vermiyor
Teknik olarak rakiplerinden daha iyi olsa bile sonuçta bu bir iş. Mümkünse özgür yazılım alternatiflerini desteklemek gerekir
İlgili GitHub sorunu
Kullanıcılar kaynaktan doğrudan derleyebiliyorsa performans iyileştirmeleri de yapılabilir, ama kontrol sizde değilse memnun olmadığınız kısımları düzeltmenin bir yolu yok
Ticari yazılımlar çoğu zaman düşük kaliteli olur, güncellemelere bağımlıdır ve tamamlanmışlıktan çok hızlı çıkışı önceler
go install tailscale.com/cmd/tailscale{,d}@latestkomutuyla kurulabilir ve resmi wiki’de anlatılıyorGUI kapalı kaynak olsa da CLI tamamen açık ve kısıtlı ağ ortamlarında da kullanılabiliyor
Gerçekten rahatsız ediyorsa brew ya da CLI ile kontrol edilebilir
Ben de benzer yapıda bir uygulama geliştiriyorum; CLI’yi tamamen açık kaynak sunup GUI’yi ücretli satmayı planlıyorum
Böylece geliştirmeyi sürdürebilir ve geçimimi sağlayabilirim
GUI ve CLI’yi birlikte validate kütüphanesi üzerine inşa ediyorum
Tailscale’i yakın zamanda kurdum; ping 16 ms’den 10 ms’ye düştü ve bant genişliği üç katına çıktı
Moonlight/Sunshine ile birlikte kullanınca MacBook’tan Linux masaüstüne Windows oyunlarını 50Mbps/10ms ile yayınlayabiliyorum
Port yönlendirme yapmadan yalnızca yönlendiriciyi peer node olarak ayarladım
Tailscale’in temel olarak güvenilir kullanıcılar arasında paylaşım odaklı olup olmadığını öğrenmek isterim
Öyleyse hâlâ internete açık olmuyor mu, bu konuda kafam karışık
Tailscale’in gelir modelini merak ediyorum. Hizmeti seviyorum ama uzun vadede sürdürülebilirliği konusunda kaygılıyım
Bazen rate limit uygulanıyormuş gibi de hissettiriyor
Ekip büyüdüğünde ücretli plan kaçınılmaz oluyor ve serve/funnel, SSH gibi özellikler faydalı
Eskiden Zerotier kullanıyorduk; yıllarca ücretsiz kullandıktan sonra kullanıcı sayısı artınca ayda yaklaşık 5 dolar ödemeye başladık
Ancak ağ koşullarına göre relay gerekebilir
Açık kaynak alternatifler arasında Headscale ve Netbird var
Peer Relay’e geçilmiş olması, NAT ortamında self-host yapanlar için büyük bir kazanım
DERP sunucusunu elle kurma ihtiyacını ortadan kaldırarak UX’i iyileştiriyor
Peer Relay, mevcut subnet router ve exit node altyapısı yeniden kullanılarak geliştirildiği için uygulama yükü çok büyük olmadı
AWS gibi kısıtlayıcı NAT ortamlarında da kararlı bağlantı için gerekliydi
Sonuç olarak hem gecikme hem de kullanıcı deneyimi iyileşti
Peer Relay ile bu tür sorunların ihtimali daha da azalacak gibi görünüyor
Peer Relay’in UDP desteği sunması asıl önemli nokta
DERP TCP tabanlı olduğu için oyun yayını ya da sesli iletişimde latency sorunu yaşanıyordu
Peer Relay UDP kullandığından gerçek zamanlı trafik için çok daha uygun
Ayrı bir DERP instance’ı kurmadan mevcut subnet router üzerinde doğrudan etkinleştirilebilmesi de güzel
Bu tür yapay zeka yorumları topluluk güvenine zarar verir, kaçınılmalı
Birden fazla relay olduğunda Tailscale’in otomatik olarak en düşük gecikmeli düğümü seçip seçmediğini merak ediyorum
Gerçek bir CGNAT ortamında Tailscale çok işime yaradı
Google Cloud Run üzerinde bir yapay zeka görsel sistemini çalıştırıyorum ve ISP port yönlendirmeyi engelliyordu
Tailscale sayesinde Cloud Run konteyneri ile kameralar aynı LAN’daymış gibi haberleşebildi
Peer Relay’in, konteyner sık sık yeniden başlatıldığında ortaya çıkan gecikme sorunlarını da azaltmasını umuyorum
Ancak ephemeral (geçici) node ortamlarında relay seçiminin nasıl işlediğini merak ediyorum
Hâlihazırda elle kurduğum bir WireGuard ağı kullanıyorum ama Tailscale’in arka planda tam olarak ne yaptığını merak ediyorum
DNS, yönlendirme, güvenlik duvarı gibi pek çok şeyi otomatik ayarlayan bu tür “sihirli” özellikler beni tedirgin ediyor
Resmi belgeleri okudum ama ayrıntı az
Karmaşık ağ yapılandırmalarında da sorunsuz çalışıp çalışmadığını bilmek isterim
Linux tarafında çok farklı yapılandırma kalıpları olduğu için iş karmaşık
İlgili blog yazısında da anlatılıyor
Başlıca davranışlar şöyle
/etc/resolv.confdüzenleniyorÇok özelleştirilmiş ortamlarda sorun çıkabilir ama destekle çözülebilir
Sayfayı mobilde açtım ama kapatma düğmesi görünmediği için modalı kapatamadım
Ekran görüntüsüne bakılabilir
Sonradan buldum ama konumu tuhaftı