Headscale, Tailscale'in açık kaynaklı bir uygulaması

Birkaç gün önce blogumuzda WireGuard tabanlı VPN sunucuları oluşturmak için mükemmel bir araç olan Firezone'dan bahsetmiştik.

Şimdi ise, Tailscale VPN sunucu bileşeninin açık kaynaklı bir uygulaması olarak geliştirilen ve üçüncü taraf hizmetlere bağlı kalmadan kendi tesislerinizde Tailscale benzeri VPN'ler oluşturmanıza olanak tanıyan "Headscale" adlı çok benzer bir araçtan bahsedeceğiz.

Tailscale, coğrafi olarak dağılmış keyfi sayıda sunucuyu , her düğümün diğer düğümlerle doğrudan (P2P) veya komşu düğümler aracılığıyla iletişim kurduğu, VPN sağlayıcısının merkezi harici sunucuları üzerinden trafik iletmeyen, ağ örgüsü benzeri bir ağda birleştirmeye olanak tanır.

ACL tabanlı yönlendirme ve erişim kontrolünü desteklemenin ve Ağ Adresi Çevirisi (NAT) kullanım koşulları altında iletişim kanallarının kurulmasını sağlamanın yanı sıra , sistem STUN, ICE ve DERP mekanizmalarını (TURN'e benzer, ancak HTTPS tabanlı) destekler. Belirli düğümler arasındaki iletişim kanalı engellenirse, ağ trafiği diğer düğümler üzerinden yeniden yönlendirebilir.

Tailscale , yine ağ yönlendirmeli dağıtılmış VPN ağları oluşturmak için tasarlanmış olan Nebula projesinden farklıdır . Nebula, düğümler arasında veri aktarımını düzenlemek için Wireguard protokolünü kullanırken, Nebula ise GSM paketlerini şifrelemek için AES-256 algoritmasını kullanan Tinc projesinden geliştirmeler kullanır (Wireguard ise testlerde daha yüksek performans ve yanıt hızı gösteren ChaCha20 şifrelemesini kullanır).

Benzer bir başka proje olan Innernet ise ayrı olarak geliştirilmekte olup, düğümler arasında veri alışverişi için Wireguard protokolü kullanılmaktadır. Tailscale ve Nebula'nın aksine, Innernet, ACL'lere dayalı farklı bir erişim ayırma sistemi kullanmaktadır; geleneksel internet ağlarında olduğu gibi, farklı IP adresi aralıklarını ayırmak ve izole etmek için etiketler tek tek düğümlere ve alt ağlara bağlanmamaktadır.

Ayrıca Innernet, Go yerine Rust kullanıyor ve birkaç gün önce geliştirilmiş NAT geçiş desteğine sahip Innernet 1.5'in piyasaya sürüldüğünü belirtmekte fayda var. Wireguard kullanarak farklı topolojilere sahip ağları bağlamanıza izin veren bir Netmaker projesi de var, ancak kodu, ayrımcı gereksinimlerin varlığı nedeniyle açık olmayan SSPL (Sunucu Tarafı Kamu Lisansı) kapsamında sağlanıyor.

Tailscale, bireyler için ücretsiz, işletmeler ve ekipler için ise ücretli erişim sunan bir freemium modeliyle dağıtılmaktadır . Windows ve macOS için grafik uygulamaları hariç, Tailscale istemci bileşenleri BSD lisansı altında açık kaynak projeleri olarak geliştirilmiştir.

Tailscale'in yeni istemcilerin kimlik doğrulamasını yapan , anahtar yönetimini koordine eden ve düğümler arasındaki iletişimi düzenleyen dış kaynaklı sunucu yazılımı tescillidir. Headscale projesi bu sorunu ele alarak Tailscale sunucu bileşenlerinden bağımsız açık kaynaklı bir uygulama sunmaktadır.

Headscale, düğümler arasında açık anahtar alışverişi işlevlerini üstlenir ve ayrıca düğümler arasında IP adresi atama ve yönlendirme tablosu dağıtımı işlemlerini gerçekleştirir.

Headscale , mevcut haliyle, MagicDNS ve Smart DNS desteği hariç , bir yönetim sunucusunun tüm temel özelliklerini uygulamaktadır . Özellikle, düğümleri kaydetmeyi (web üzerinden de dahil), ağa düğüm eklemeyi veya kaldırmayı uyarlamayı, ad alanları kullanarak alt ağlara ayırmayı (birden fazla kullanıcı için VPN oluşturmaya olanak tanır), farklı ad alanlarındaki alt ağlara paylaşımlı düğüm erişimini düzenlemeyi, yönlendirme kontrolünü (dış dünyaya erişmek için giden düğümleri atama dahil), ACL'ler aracılığıyla paylaşımlı erişimi ve DNS yürütmeyi destekler.

Headscale kodu Go'da yazılmıştır ve BSD lisansı altında dağıtılmaktadır. Proje, Avrupa Uzay Ajansı'ndan Juan Font tarafından geliştiriliyor.

Son olarak, daha fazla bilgi edinmek isterseniz, ayrıntıları aşağıdaki bağlantıda bulabilirsiniz.


Google'da tercih edilen kaynak olarak ekleyin.