Proyek Headscale Mengembangkan Server Terbuka untuk Jaringan VPN Terdistribusi Tailscale

Proyek Headscale sedang mengembangkan implementasi terbuka komponen server jaringan Tailscale VPN, yang memungkinkan Anda membuat jaringan VPN yang mirip dengan Tailscale di fasilitas Anda sendiri, tanpa terikat dengan layanan pihak ketiga. Kode Headscale ditulis dalam Go dan didistribusikan di bawah lisensi BSD. Proyek ini sedang dikembangkan oleh Juan Font dari Badan Antariksa Eropa.

Tailscale memungkinkan Anda untuk menggabungkan sejumlah host yang tersebar secara geografis ke dalam satu jaringan, dibangun seperti jaringan mesh, di mana setiap node berinteraksi dengan node lain secara langsung (P2P) atau melalui node tetangga, tanpa mengirimkan lalu lintas melalui server eksternal terpusat dari VPN pemberi. Akses berbasis ACL dan kontrol rute didukung. Untuk membangun saluran komunikasi saat menggunakan penerjemah alamat (NAT), dukungan disediakan untuk mekanisme STUN, ICE dan DERP (analog dengan TURN, tetapi berdasarkan HTTPS). Jika saluran komunikasi antar node tertentu diblokir, jaringan dapat membangun kembali routing untuk mengarahkan lalu lintas melalui node lain.

Proyek Headscale Mengembangkan Server Terbuka untuk Jaringan VPN Terdistribusi Tailscale

Tailscale berbeda dengan proyek Nebula, juga dimaksudkan untuk membuat jaringan VPN terdistribusi dengan perutean mesh, dengan menggunakan protokol Wireguard untuk mengatur transfer data antar node, sedangkan Nebula menggunakan pengembangan proyek Tinc, yang menggunakan algoritma AES-256 untuk mengenkripsi paket. -GSM (Wireguard menggunakan cipher ChaCha20, yang dalam pengujian menunjukkan throughput dan daya tanggap yang lebih tinggi).

Proyek serupa lainnya sedang dikembangkan secara terpisah - Innernet, di mana protokol Wireguard juga digunakan untuk pertukaran data antar node. Berbeda dengan Tailscale dan Nebula, Innernet menggunakan sistem pemisahan akses yang berbeda, tidak didasarkan pada ACL dengan tag yang diikat ke masing-masing node, tetapi pada pemisahan subnet dan alokasi rentang alamat IP yang berbeda, seperti pada jaringan Internet biasa. Selain itu, alih-alih menggunakan bahasa Go, Innernet menggunakan bahasa Rust. Tiga hari yang lalu, pembaruan Innernet 1.5 diterbitkan dengan dukungan traversal NAT yang ditingkatkan. Ada juga proyek Netmaker yang memungkinkan Anda menggabungkan jaringan dengan topologi berbeda menggunakan Wireguard, tetapi kodenya disediakan di bawah SSPL (Server Side Public License), yang tidak terbuka karena adanya persyaratan diskriminatif.

Tailscale didistribusikan menggunakan model freemium, artinya penggunaan gratis untuk individu dan akses berbayar untuk bisnis dan tim. Komponen klien tailscale, dengan pengecualian aplikasi grafis untuk Windows dan macOS, dikembangkan sebagai proyek terbuka di bawah lisensi BSD. Perangkat lunak server yang berjalan di sisi Tailscale adalah hak milik, menyediakan otentikasi saat menghubungkan klien baru, mengoordinasikan manajemen kunci, dan mengatur komunikasi antar node. Proyek Headscale mengatasi kekurangan ini dan menawarkan implementasi komponen backend Tailscale yang independen dan terbuka.

Proyek Headscale Mengembangkan Server Terbuka untuk Jaringan VPN Terdistribusi Tailscale

Headscale mengambil alih fungsi pertukaran kunci publik node, dan juga melakukan operasi penetapan alamat IP dan mendistribusikan tabel perutean antar node. Dalam bentuknya yang sekarang, Headscale mengimplementasikan semua kemampuan dasar server manajemen, kecuali dukungan untuk MagicDNS dan Smart DNS. Secara khusus, fungsi mendaftarkan node (termasuk melalui web), mengadaptasi jaringan untuk menambah atau menghapus node, memisahkan subnet menggunakan namespace (satu jaringan VPN dapat dibuat untuk beberapa pengguna), mengatur akses bersama node ke subnet di namespace yang berbeda. , kontrol perutean (termasuk menetapkan node keluar untuk mengakses dunia luar), pemisahan akses melalui ACL, dan operasi layanan DNS.

Sumber: opennet.ru

Tambah komentar