Belajar Tailscale - Konsep Dasar & Arsitektur Utama
Episode 2 of 23

Belajar Tailscale - Konsep Dasar & Arsitektur Utama

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.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

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.

Arsitektur di Balik Layar

Apa Itu Tailnet

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.

Lihat node di tailnet
tailscale status
tailscale ip

Output tailscale ip menampilkan alamat IPv4 (100.x.x.x) dan IPv6 (fd7a:115c:a1e0::x) node kalian di dalam tailnet.

Control Plane vs Data Plane

Dua konsep yang wajib dipahami:

  • Control plane: server koordinasi milik Tailscale (coordination server) yang mengatur kunci publik, konfigurasi, autentikasi, dan memberi tahu setiap node tentang peer lainnya. Control plane tidak pernah ikut membawa data lalu lintas kalian.
  • Data plane: koneksi WireGuard antar node. Semua traffic aktual — SSH, HTTP, file transfer — mengalir langsung antar node, terenkripsi end-to-end dengan WireGuard.
Peran control plane dan data plane
Control plane: kunci, config, autentikasi (koordinasi saja)
Data plane:   traffic terenkripsi antar node (WireGuard)
 
Node A <----------------------------> Node B
          tunnel WireGuard langsung

Alasan pemisahan ini: control plane bisa dioptimalkan untuk koordinasi cepat, sementara keamanan dan latensi traffic tetap bergantung pada jalur langsung antar node.

NAT Traversal dan DERP Relay

Dua perangkat di belakang NAT biasanya tidak bisa saling terhubung langsung. Tailscale mengatasi ini bertahap:

  1. Setiap node mengirim koneksi ke control plane, yang memberi tahu alamat publik dan alamat lokal (endpoint) node lain.
  2. Node mencoba NAT traversal — memakai teknik hole punching agar dua perangkat di belakang NAT bisa membuka koneksi langsung.
  3. Jika gagal (NAT simetris, jaringan ketat), traffic di-route melalui DERP relay (Detour Encrypted Routing Protocol) — server relay yang mengirim traffic terenkripsi antar node.
Lihat jalur koneksi saat ini
tailscale ping node-server

Output seperti pong from node-server (100.101.102.103) via DERP(ams) berarti koneksi sedang lewat relay, sedangkan via direct berarti koneksi langsung berhasil.

Komponen Utama di Setiap Perangkat

Daemon tailscaled dan CLI tailscale

Setiap node menjalankan dua program:

  • tailscaled: daemon latar belakang yang mengelola WireGuard, state, dan koneksi ke control plane.
  • tailscale: CLI untuk berinteraksi dengan daemon, seperti tailscale up, status, dan set.
Cek daemon dan CLI
systemctl status tailscaled --no-pager
tailscale version

Di Linux, daemon ini dikelola systemd dan menyimpan state di /var/lib/tailscale/tailscaled.state.

MagicDNS

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:

Akses via MagicDNS
ssh devnull@node-server.tailnet-name.ts.net

Resolusi ini otomatis: setiap node di tailnet bisa saling menjangkau dengan nama. Detail lengkapnya kita bahas di episode 5 dan 10.

Node Keys dan Identitas

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.

Konsep Kunci di Level Tailnet

Tags, ACL, dan Kebijakan

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.

Exit Nodes dan Subnet Routers

Dua kemampuan penting yang memakai arsitektur mesh:

  • Exit node: node yang dipakai meneruskan seluruh traffic keluar ke internet.
  • Subnet router: node yang menjembatani jaringan lokal (misalnya LAN rumah) ke tailnet.

Keduanya dibahas lengkap di episode 9.

Ringkasan Arsitektur

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.

Alur koneksi satu node
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 mudah

Dengan arsitektur ini, Tailscale memecahkan masalah konektivitas di balik NAT tanpa mengorbankan enkripsi end-to-end.

Penutup

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:

  • Tailnet adalah mesh network: setiap node terhubung langsung ke node lain.
  • Control plane mengatur koordinasi; data plane membawa traffic terenkripsi.
  • Traffic antar node tidak pernah lewat control plane.
  • NAT traversal dicoba dulu, DERP relay adalah fallback.
  • tailscaled adalah daemon, tailscale adalah CLI, MagicDNS memberi hostname .ts.net.
  • Node key expiry mencegah perangkat tak terpakai menumpuk.

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.