Pahami apa yang dikoordinasikan
Control plane mengelola pendaftaran node dan mendistribusikan informasi jaringan. Lalu lintas data dapat menggunakan koneksi peer langsung atau relay tergantung konektivitas. Menjalankan koordinator tidak berarti setiap paket melewatinya.
Buat pendaftaran secara sengaja
Lindungi API administratif dan gunakan metode pendaftaran berumur pendek atau dengan cakupan yang sesuai. Hapus perangkat yang hilang atau sudah tidak dipakai. Kemampuan bergabung ke mesh tidak berarti akses ke setiap layanan.
Tinjau ACL dan rute
Terapkan aturan hak istimewa minimum antara pengguna dan node. Rute subnet yang diiklankan dan node keluar memperluas jaringan yang dapat dijangkau dan memerlukan persetujuan eksplisit. Uji lalu lintas yang ditolak sebaik menguji lalu lintas yang diizinkan.
Simpan materi pemulihan
Cadangkan konfigurasi, status, dan kunci sesuai prosedur versi yang didukung. Pertahankan cara untuk mengelola VPS jika mesh gagal. Verifikasi kompatibilitas klien dan catatan peningkatan sebelum mengubah bidang kontrol.
Registrasi, perutean, dan kebijakan adalah pemeriksaan terpisah
Headscale mengoordinasikan klien Tailscale yang kompatibel; koneksi langsung dan jalur relay DERP memiliki perilaku jaringan yang berbeda. Router subnet mengiklankan rentang, server kontrol menyetujuinya, dan klien harus menerima rute tersebut. Aktifkan penerusan pada node perutean dan jaga rentang yang diiklankan tetap sempit. Rute yang disetujui tetap memerlukan kebijakan akses yang membatasi siapa yang boleh menggunakan tujuan dan port mana.
- Periksa daftar rute server kontrol
- Uji dari perangkat yang diizinkan
- Ulangi pengujian yang sama dari perangkat yang seharusnya ditolak
headscale nodes list-routesDokumentasi resmi: Rute Headscale
Jangan menaruh satu-satunya jalur pemulihan di dalam mesh
Pertahankan cara kedua untuk mencapai konsol server atau rute administrator yang sangat terbatas. Uji apa yang terjadi ketika koordinator, relay, atau klien tidak tersedia. Pertahankan status bidang kendali dan kunci sesuai versi yang terpasang. Mesh privat dapat menyederhanakan akses, tetapi tidak boleh menjadi dependensi tak terdokumentasi yang mencegah perbaikannya sendiri.
Perbaiki identitas bidang kendali dan jalur pemulihan
Pilih nama HTTPS yang stabil, rilis Headscale yang didukung, dan klien Tailscale yang kompatibel. Baca contoh konfigurasi yang disertakan dengan rilis tersebut secara tepat; konfigurasi yang disalin dari rilis berbeda dapat gagal validasi atau secara diam-diam menjelaskan kebijakan yang berbeda. Persistensikan basis data control-plane dan kunci yang diperlukan. Jaga API administratif tetap privat dan pertahankan konsol terpisah atau rute SSH terbatas, sehingga kehilangan mesh tidak membuat koordinatornya mustahil diperbaiki.
- Gunakan sertifikat yang valid untuk nama bidang kendali publik.
- Jaga kunci pendaftaran tetap berumur pendek dan dengan cakupan yang sesuai.
- Perlakukan desain relay dan namespace DNS sebagai pilihan eksplisit.
Dokumentasi resmi: Deployment kontainer Headscale
Daftarkan satu perangkat sebelum mengumumkan jaringan
Nyalakan server menggunakan instruksi upstream dan daftarkan satu pengguna/perangkat uji melalui metode pendaftaran yang didokumentasikan. Konfirmasi perangkat mencapai URL kontrol yang diharapkan dan muncul dengan identitas yang dimaksud. Periksa status klien dan uji satu layanan privat sebelum menambahkan rute exit-node atau subnet. Jalur DERP dapat mempertahankan konektivitas saat jalur langsung tidak tersedia; itu tidak menunjukkan bahwa koordinator meneruskan setiap paket.
- Mulai dengan perangkat dan layanan yang dapat Anda hapus dengan aman.
- Periksa apakah lalu lintas peer bersifat langsung atau diteruskan.
- Lindungi endpoint relay dan kontrol sesuai deployment yang dipilih.
Dokumentasi resmi: Referensi penerapan Headscale
Setujui perutean dan otorisasi secara terpisah
Untuk akses subnet, aktifkan penerusan pada node perutean, iklankan rentang yang sempit, setujui di server kontrol, dan pastikan klien tujuan menerimanya. Hindari jaringan yang tumpang tindih yang membuat rute balik ambigu. Rute yang disetujui bukanlah kebijakan akses: tentukan siapa yang dapat terhubung ke tujuan dan port mana, termasuk perangkat tamu. Uji koneksi yang diizinkan dan koneksi yang ditolak secara identik sebelum memperluas mesh.
# Run on the control server; syntax follows the installed release:
headscale nodes list-routes
# Client-side inspection:
tailscale statusDokumentasi resmi: Subnet dan rute keluar Headscale
Temukan lapisan yang rusak sebelum mengubah kebijakan
Jika pendaftaran gagal, periksa DNS, HTTPS, dan URL server. Jika perangkat bergabung tetapi subnet tidak dapat dijangkau, periksa iklan, persetujuan, penerimaan rute klien, penerusan, dan jalur kembali. Jika hanya satu layanan yang gagal, periksa alamat bind, firewall host, dan kebijakan mesh-nya. Pertahankan cadangan basis data/konfigurasi yang konsisten dan uji peningkatan versi dengan klien sekali pakai sebelum mengubah satu-satunya control plane.