Episode ini membongkar arsitektur Tailscale: konsep tailnet sebagai mesh network terenkripsi, pemisahan control plane dan data plane, mekanisme NAT traversal dengan fallback DERP, serta komponen inti seperti tailscaled, MagicDNS, dan node keys.

Di episode 1 kalian paham mengapa Tailscale ada. Sekarang kita masuk ke bagian paling penting secara teknis: bagaimana Tailscale bekerja di balik layar. Kalian tidak harus menghafal detail protokol, tapi memahami arsitekturnya akan menyelamatkan kalian di episode troubleshooting (18) dan saat merancang tailnet production (21).
Episode 2 membedah arsitektur utama Tailscale: konsep tailnet sebagai mesh network terenkripsi, pemisahan tegas antara control plane dan data plane, mekanisme NAT traversal dengan fallback DERP relay, serta komponen inti yang berjalan di setiap perangkat — daemon tailscaled, CLI tailscale, MagicDNS, dan node keys.
Tailnet adalah jaringan pribadi virtual yang menghubungkan semua perangkat milik satu organisasi. Setiap perangkat yang join disebut node. Semua node saling terhubung dalam mesh network: setiap node punya tunnel langsung ke node lain, bukan lewat hub pusat. Ini berarti koneksi antar dua node tetap bisa jalan meskipun node lain mati.
tailscale status
tailscale ipOutput tailscale ip menampilkan alamat IPv4 (100.x.x.x) dan IPv6 (fd7a:115c:a1e0::x) node kalian di dalam tailnet.
Dua konsep yang wajib dipahami:
Control plane: kunci, config, autentikasi (koordinasi saja)
Data plane: traffic terenkripsi antar node (WireGuard)
Node A <----------------------------> Node B
tunnel WireGuard langsungAlasan pemisahan ini: control plane bisa dioptimalkan untuk koordinasi cepat, sementara keamanan dan latensi traffic tetap bergantung pada jalur langsung antar node.
Dua perangkat di belakang NAT biasanya tidak bisa saling terhubung langsung. Tailscale mengatasi ini bertahap:
tailscale ping node-serverOutput seperti pong from node-server (100.101.102.103) via DERP(ams) berarti koneksi sedang lewat relay, sedangkan via direct berarti koneksi langsung berhasil.
Setiap node menjalankan dua program:
tailscale up, status, dan set.systemctl status tailscaled --no-pager
tailscale versionDi Linux, daemon ini dikelola systemd dan menyimpan state di /var/lib/tailscale/tailscaled.state.
MagicDNS adalah layanan DNS bawaan yang memberi setiap node hostname <nama>.<tailnet-name>.ts.net. Kalian tidak perlu mengingat IP 100.x.x.x — cukup panggil nama hostnya:
ssh devnull@node-server.tailnet-name.ts.netResolusi ini otomatis: setiap node di tailnet bisa saling menjangkau dengan nama. Detail lengkapnya kita bahas di episode 5 dan 10.
Setiap node punya node key (publik dan privat) yang dihasilkan otomatis saat pertama tailscale up. Node key inilah yang di-autentikasi ke control plane dan dipakai WireGuard untuk berenkripsi. Ada juga node key expiry: node keys punya masa berlaku (default 180 hari) agar perangkat yang tidak dipakai tidak menumpuk selamanya.
Di dalam tailnet, kalian bisa memberi tags pada node (misalnya tag:server, tag:workstation) dan mengatur ACL — daftar aturan siapa boleh mengakses apa. Control plane menyimpan dan menerapkan kebijakan ini, bukan data traffic. Ini dibahas mendalam di episode 6.
Dua kemampuan penting yang memakai arsitektur mesh:
Keduanya dibahas lengkap di episode 9.
Arsitektur Tailscale bisa diringkas dalam satu kalimat: control plane mengkoordinasikan kunci dan konfigurasi, data plane WireGuard membawa traffic terenkripsi langsung antar node, dan DERP relay siap siaga saat direct connection gagal.
tailscale up
|-- tailscaled daemon
|-- control plane: register node keys, dapat info peer
|-- NAT traversal -> koneksi langsung WireGuard
|-- fallback -> DERP relay
+-- MagicDNS: hostname .ts.net untuk akses mudahDengan arsitektur ini, Tailscale memecahkan masalah konektivitas di balik NAT tanpa mengorbankan enkripsi end-to-end.
Episode 2 membuka tabir arsitektur Tailscale: kalian sekarang tahu apa itu tailnet dan mesh network, kenapa control plane tidak pernah melihat data kalian, bagaimana NAT traversal dan DERP bekerja sama, serta komponen tailscaled, CLI, MagicDNS, dan node keys.
Inti yang harus dibawa pulang:
tailscaled adalah daemon, tailscale adalah CLI, MagicDNS memberi hostname .ts.net.Di episode 3 selanjutnya kita akan melakukan setup dan onboarding pertama secara lengkap — dari tailscale up yang membuka browser untuk autentikasi, menyelesaikan onboarding di admin console, hingga mengenal halaman Machines untuk menamai perangkat, mengatur key expiry, dan me-remove perangkat yang tidak terpakai.