2 poin oleh GN⁺ 2025-04-04 | 1 komentar | Bagikan ke WhatsApp
  • Headscale adalah proyek alternatif open source yang dibuat agar fungsi server kontrol Tailscale dapat di-host sendiri
  • Tailscale adalah solusi VPN modern berbasis WireGuard yang memungkinkan pembentukan jaringan overlay yang tetap berfungsi di lingkungan NAT
  • Server Control Tailscale asli adalah perangkat lunak tertutup, tetapi Headscale dikembangkan sebagai perangkat lunak server yang dapat dipasang secara bebas untuk menggantikannya
  • Klien Windows, macOS, dan iOS masih memerlukan GUI Tailscale

Tujuan dan karakteristik Headscale

  • Headscale hanya mendukung satu tailnet (jaringan privat virtual) agar dapat digunakan oleh individu dan organisasi open source kecil
  • Solusi yang cocok bagi pengguna yang ingin menjalankan server sendiri dan penggemar perangkat lunak bebas
  • Cakupan desain dibuat sempit agar pemeliharaan dan pengelolaan lebih mudah

Fitur utama

  • Pertukaran kunci publik WireGuard antar node klien
  • Alokasi alamat IP untuk tiap node serta pengaturan batas
  • Fitur berbagi mesin antar pengguna
  • Pengelolaan iklan rute node
  • Daftar fitur resmi dapat dilihat di sini

Sistem operasi klien yang didukung

  • Daftar sistem operasi dan klien yang kompatibel dengan Headscale dapat dilihat di dokumentasi resmi

Panduan instalasi dan menjalankan

  • Reverse proxy maupun eksekusi berbasis container tidak direkomendasikan secara resmi
  • Untuk cara menjalankan dan konfigurasi, lihat dokumentasi resmi

Komunitas dan kontribusi

Lingkungan pengembangan dan gaya kode

  • Alat utama yang dibutuhkan untuk pengembangan:
    • Go versi terbaru
    • Buf (generator Protobuf)
    • Lingkungan pengembangan dapat disiapkan dengan Nix (nix develop)
  • Gaya kode:
    • Kode Go: menggunakan golangci-lint, golines, gofumpt
    • Kode Proto: menggunakan buf, clang-format
    • File lain: dirapikan dengan prettier
  • Sebelum commit, kode wajib dirapikan dengan make lint, make fmt

Build dan pengujian

  • Jika kode Protobuf diubah, perlu menghasilkan ulang kode Go: make generate
  • Menjalankan pengujian: make test
  • Build:
    • nix build
    • atau gunakan perintah make build

Informasi lain

  • Presentasi tentang Headscale di FOSDEM 2023: tonton video
  • Proyek ini tidak memiliki hubungan langsung dengan Tailscale Inc., tetapi ada kontributor dari Tailscale yang ikut berpartisipasi, sementara code review dan penentuan arah proyek tetap dilakukan secara independen

1 komentar

 
GN⁺ 2025-04-04
Komentar Hacker News
  • Setiap beberapa bulan saya kembali mengunjungi repositori ini untuk mengecek apakah tailnet lock sudah berfungsi atau apakah audit keamanan sudah dilakukan. Sayangnya, belum ada kemajuan pada keduanya, sehingga saya jadi ragu apakah sistem ini bisa dipercaya sebagai bagian inti dari infrastruktur

    • Premis utama Tailscale SaaS adalah membuat tunnel di sekitar firewall dan memungkinkan pengguna mengelola, secara intuitif dan terintegrasi, siapa yang dapat melakukan routing melalui tunnel tersebut
    • Headscale tampaknya berhasil menangani bagian bypass firewall dan NAT traversal dengan baik. Namun, saya ragu apakah ia bisa memberikan keamanan yang cukup untuk menutupi apa yang dibypass, atau justru hanya akan menjadi alat yang mengganggu administrator jaringan lokal
    • Terlihat cukup berani untuk sama sekali tidak mengaudit kode server dalam implementasi Tailscale, sambil tidak menyediakan cara bagi pengguna untuk memahami atau menolak apa yang diperintahkan server kontrol kepada klien
  • Jika Anda tertarik untuk self-host server orkestrasi, Anda bisa melihat Netbird. Alat ini sangat mirip, tetapi servernya tersedia sebagai open source. Jadi Anda bisa memiliki server kontrol self-host dengan semua fitur versi berbayar serta GUI yang bagus

  • Akan bagus jika Headscale mengizinkan peering/federasi antar-instans (bahkan setelah pengerjaan ulang ACL). Salah satu masalah utamanya adalah konflik alamat

    • Usulan: fokus pada overlay network khusus IPv6 dalam rentang Unique Local Address (ULA), lalu membagi 121 bit sisanya menjadi 20 bit untuk alamat perangkat (~1 juta perangkat) dan 101 bit untuk hash kunci publik server. Tambahkan kunci publik dari instans lain, lalu gunakan kebijakan dan ACL untuk mengelola komunikasi antarnode
    • Saya rasa ini ide yang bagus, tetapi ketika saya mengangkat masalah ini pada 2023, maintainer kradalby mengatakan bahwa ini berada di luar cakupan tautan isu GitHub
  • Nama proyeknya, Headscale, seharusnya ditambahkan ke judul

    • Headscale sudah beberapa kali muncul di HN
  • Penasaran apakah ini berjalan di Plan 9

  • Saya suka Headscale. Kami sudah menerapkannya di production dan hasilnya sangat baik

  • Saya penasaran seberapa besar risiko perangkat saya ikut terdampak jika server koordinasi Tailscale dikompromikan sementara tailnet lock aktif

  • Untuk banyak use case (akses mobile, GUI di macOS), klien resmi Tailscale bergantung pada kemampuan untuk mengatur server kontrol

    • Jika penyusutan fitur yang tak terelakkan mulai terjadi di Tailscale, kemampuan ini akan hilang
    • Saya mengatakan ini sebagai pelanggan Tailscale yang saat ini sangat puas, meskipun saya sudah beberapa kali kecewa di masa lalu ketika perusahaan lain dijual atau kehabisan pendanaan VC
  • Saya penasaran nilai tambah apa yang diberikan pengaturan ini dibanding konfigurasi wireguard + openwrt

  • Pernyataan "Terlihat cukup berani untuk sama sekali tidak mengaudit kode server dalam implementasi Tailscale, sambil tidak menyediakan cara bagi pengguna untuk memahami atau menolak apa yang diperintahkan server kontrol kepada klien" menyiratkan bahwa hanya dengan membuka source code server kontrol Headscale saja belum menjadi syarat yang cukup agar pengguna dapat "memahami atau menolak apa yang diperintahkan server kontrol kepada klien"

    • Jika menggunakan server kontrol Headscale, pengguna dapat "memahami atau menolak semua yang diperintahkan server kontrol kepada klien". Ini bisa dicapai dengan membaca, mengedit, dan mengompilasi source code
    • Jika menggunakan server kontrol Tailscale, pengguna hanya dapat "memahami atau menolak apa yang diperintahkan server kontrol kepada klien" dalam batas yang diizinkan oleh perusahaan Tailscale. Pengguna dilarang mengedit atau mengompilasi source code
    • Tidak semua pengguna ingin memiliki opsi untuk membaca, mengedit, dan mengompilasi software pihak ketiga yang mereka gunakan. Sebagian pengguna mungkin puas bergantung pada jaminan berkelanjutan dari perusahaan yang didanai VC Silicon Valley. Bagi pengguna yang menginginkan proyek 100% open source, Headscale bisa berguna
    • Penulis Headscale menyebut server koordinasi Tailscale sebagai "pada dasarnya Dropbox bersama untuk kunci publik"