Headscale, sebuah implementasi open source dari Tailscale

Beberapa hari yang lalu kita membahas di blog ini tentang Firezone, yang merupakan utilitas luar biasa untuk membuat server VPN berbasis WireGuard.

Dan sekarang, pada kesempatan ini, kita akan membahas utilitas yang sangat mirip yang disebut "Headscale," yang merupakan proyek yang dikembangkan sebagai implementasi sumber terbuka dari komponen server VPN Tailscale , yang memungkinkan Anda untuk membuat VPN seperti Tailscale di lokasi Anda sendiri, tanpa terikat pada layanan pihak ketiga.

Tailscale memungkinkan penggabungan sejumlah host yang tersebar secara geografis ke dalam sebuah jaringan , yang dibangun menyerupai jaringan mesh, di mana setiap node berkomunikasi dengan node lain secara langsung (P2P) atau melalui node tetangga, tanpa mengirimkan lalu lintas melalui server eksternal terpusat dari penyedia VPN.

Selain mendukung kontrol rute dan akses berbasis ACL , dan memungkinkan pembentukan saluran komunikasi dalam kondisi penggunaan Network Address Translation (NAT), sistem ini mendukung mekanisme STUN, ICE, dan DERP (analog dengan TURN, tetapi berbasis HTTPS). Jika saluran komunikasi antara node tertentu diblokir, jaringan dapat mengalihkan lalu lintas melalui node lain.

Tailscale berbeda dari proyek Nebula , yang juga dirancang untuk membuat jaringan VPN terdistribusi dengan perutean mesh, menggunakan protokol Wireguard untuk mengatur transfer data antar node, sementara Nebula menggunakan pengembangan dari proyek Tinc, yang menggunakan algoritma AES-256 untuk mengenkripsi paket GSM (Wireguard menggunakan enkripsi ChaCha20, yang dalam pengujian menunjukkan kinerja dan responsivitas yang lebih tinggi).

Proyek serupa lainnya, Innernet, sedang dikembangkan secara terpisah, di mana protokol Wireguard juga digunakan untuk bertukar data antar node. Berbeda dengan Tailscale dan Nebula, Innernet menggunakan sistem pemisahan akses yang berbeda berdasarkan ACL; label tidak dihubungkan ke node dan subnet individual untuk memisahkan dan mengisolasi rentang alamat IP yang berbeda, seperti pada jaringan internet konvensional.

Juga, Innernet menggunakan Rust alih-alih Go dan perlu disebutkan bahwa Innernet 1.5 dengan dukungan traversal NAT yang ditingkatkan dirilis beberapa hari yang lalu. Ada juga proyek Netmaker, yang memungkinkan Anda untuk menghubungkan jaringan dengan topologi berbeda menggunakan Wireguard, tetapi kodenya disediakan di bawah SSPL (Lisensi Publik Sisi Server), yang tidak terbuka karena adanya persyaratan diskriminatif.

Tailscale didistribusikan menggunakan model freemium, menawarkan akses gratis untuk individu dan akses berbayar untuk bisnis dan tim. Komponen klien Tailscale, kecuali aplikasi grafis untuk Windows dan macOS, dikembangkan sebagai proyek sumber terbuka di bawah lisensi BSD.

Perangkat lunak server pihak ketiga Tailscale, yang mengautentikasi klien baru , mengoordinasikan manajemen kunci , dan mengatur komunikasi antar node, bersifat hak milik. Proyek Headscale mengatasi masalah ini dan menyediakan implementasi sumber terbuka yang independen dari komponen server Tailscale.

Headscale menjalankan fungsi pertukaran kunci publik antar node dan juga melakukan operasi penugasan alamat IP dan distribusi tabel routing antar node.

Dalam bentuknya saat ini, Headscale mengimplementasikan semua fitur inti dari server manajemen, kecuali dukungan untuk MagicDNS dan Smart DNS. Secara spesifik, ia mendukung pendaftaran node (termasuk melalui web), menyesuaikan jaringan untuk menambah atau menghapus node, pembagian subnet menggunakan namespace (memungkinkan pembuatan VPN untuk banyak pengguna), mengatur akses node bersama ke subnet di namespace yang berbeda, kontrol routing (termasuk menetapkan node keluar untuk mengakses dunia luar), akses bersama melalui ACL, dan eksekusi DNS.

Kode Headscale ditulis dalam Go dan didistribusikan di bawah lisensi BSD. Proyek ini sedang dikembangkan oleh Juan Font dari European Space Agency.

Terakhir, jika Anda tertarik untuk mempelajari lebih lanjut, Anda dapat menemukan detailnya di tautan berikut.


Tambahkan sebagai sumber pilihan di Google