Paket 1 · Fondasi DevOpsModul F — Tailscale & Private Access

VPN, Mesh Network, dan Tailscale Fundamentals

Memahami perbedaan VPN tradisional dan mesh VPN, arsitektur Tailscale, serta cara memasang dan menghubungkan perangkat ke tailnet.

Mengakses server tanpa public IP sering menjadi tantangan. Tailscale menyediakan jaringan privat berbasis WireGuard yang mudah dipasang dan tidak memerlukan port forwarding.

VPN tradisional vs mesh VPN

AspekVPN tradisionalMesh VPN (Tailscale)
TopologiClient ke server pusatSetiap node bisa terhubung langsung
KonfigurasiManual, sertifikat, routingLogin dan otomatis
NAT traversalSering butuh public IPOtomatis menembus NAT
SkalabilitasMenambah node berarti konfigurasiNode baru otomatis muncul
ContohOpenVPN, IPsecTailscale, NetBird, ZeroTier

Mesh network berarti antar-perangkat dapat berkomunikasi langsung (peer-to-peer) bila jaringan memungkinkan, tanpa selalu melewati satu server pusat.

Tailscale dan WireGuard

Tailscale dibangun di atas WireGuard, protokol VPN modern yang ringan dan cepat. Tailscale menambahkan:

  • Control plane untuk mendistribusikan kunci dan konfigurasi.
  • NAT traversal otomatis.
  • MagicDNS untuk nama perangkat.
  • ACL untuk mengatur siapa boleh mengakses apa.
  • DERP relay bila koneksi langsung tidak memungkinkan.

Data tetap terenkripsi

Relay DERP hanya membantu melewati NAT. Lalu lintas data tetap terenkripsi end-to-end dengan WireGuard; server Tailscale tidak membaca isi trafik Anda.

Istilah penting

IstilahArti
TailnetJaringan privat Tailscale Anda
Node/devicePerangkat yang terhubung
MagicDNSNama DNS otomatis untuk node
ACLAturan akses antar-node
TagLabel untuk node server
Exit nodeNode yang menjadi gerbang keluar internet
Subnet routerNode yang membagikan jaringan lokal ke tailnet

1. Instalasi Tailscale

Debian/Ubuntu

curl -fsSL https://tailscale.com/install.sh | sh
tailscale version

Verifikasi service

systemctl status tailscaled --no-pager

2. Menghubungkan node

tailscale up

Perintah akan menampilkan URL autentikasi. Buka di browser dan login (Google, GitHub, Microsoft, atau provider lain). Setelah berhasil, cek status:

tailscale status
tailscale ip -4

Setiap node mendapat alamat dari rentang 100.64.0.0/10 (CGNAT range yang dikelola Tailscale).

Opsi tailscale up

tailscale up --accept-dns=true --ssh --hostname=proxmox-lab
OpsiFungsi
--accept-dnsMemakai MagicDNS
--sshMengaktifkan Tailscale SSH
--hostnameNama node di tailnet
--advertise-routesMembagikan subnet lokal
--advertise-exit-nodeMenjadikan node exit node

3. MagicDNS

Dengan MagicDNS aktif, node bisa diakses dengan nama, bukan IP.

tailscale status
ping proxmox-lab
ssh deploy@web-ct

Nama biasanya berbentuk nama-node atau nama-node.tailnet-name.ts.net.

4. ACL (Access Control List)

ACL mengatur siapa dapat mengakses apa. Contoh kebijakan di admin console:

{
  "acls": [
    { "action": "accept", "src": ["group:admin"], "dst": ["tag:server:*"] },
    { "action": "accept", "src": ["group:developer"], "dst": ["tag:server:22,80,443"] }
  ],
  "tagOwners": {
    "tag:server": ["group:admin"]
  }
}

Terapkan prinsip least privilege: developer hanya boleh mengakses port aplikasi, admin boleh SSH.

5. Tag dan key expiry

  • Tag menandai node sebagai server, misalnya tag:server, agar aturan ACL lebih rapi.
  • Key expiry membatasi masa berlaku kunci node. Untuk server produksi, pertimbangkan menonaktifkan expiry agar tidak tiba-tiba terputus, tetapi tetap kelola akses lewat ACL.

6. Exit node (opsional)

Exit node mengarahkan seluruh trafik internet perangkat melalui node tertentu.

# Di node yang menjadi exit node
tailscale up --advertise-exit-node

# Di client
tailscale up --exit-node=proxmox-lab

Gunakan hanya bila diperlukan, misalnya untuk keluar melalui IP kantor.

Praktik: menghubungkan laptop dan server

  1. Install Tailscale di laptop dan server Proxmox.
  2. Login dengan akun yang sama.
  3. Jalankan tailscale status di kedua sisi.
  4. Coba ping menggunakan IP 100.x atau nama MagicDNS.
  5. Coba SSH ke server lewat tailnet.
tailscale status
tailscale ping proxmox-lab
ssh root@proxmox-lab

Troubleshooting dasar

GejalaCek
Node tidak muncultailscale status, login ulang
Ping gagalACL, firewall host, atau node offline
Koneksi lambatCek tailscale ping, mungkin lewat DERP
Nama tidak resolveMagicDNS belum aktif
SSH ditolakTailscale SSH/ACL atau sshd
tailscale netcheck
tailscale ping --verbose proxmox-lab
journalctl -u tailscaled -n 50

Ringkasan

  • Tailscale adalah mesh VPN berbasis WireGuard dengan NAT traversal otomatis.
  • Node mendapat IP 100.x dan dapat diakses lewat MagicDNS.
  • ACL dan tag mengatur akses secara terpusat.
  • Tidak perlu public IP atau port forwarding untuk menghubungkan perangkat.

On this page