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
| Aspek | VPN tradisional | Mesh VPN (Tailscale) |
|---|---|---|
| Topologi | Client ke server pusat | Setiap node bisa terhubung langsung |
| Konfigurasi | Manual, sertifikat, routing | Login dan otomatis |
| NAT traversal | Sering butuh public IP | Otomatis menembus NAT |
| Skalabilitas | Menambah node berarti konfigurasi | Node baru otomatis muncul |
| Contoh | OpenVPN, IPsec | Tailscale, 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
| Istilah | Arti |
|---|---|
| Tailnet | Jaringan privat Tailscale Anda |
| Node/device | Perangkat yang terhubung |
| MagicDNS | Nama DNS otomatis untuk node |
| ACL | Aturan akses antar-node |
| Tag | Label untuk node server |
| Exit node | Node yang menjadi gerbang keluar internet |
| Subnet router | Node yang membagikan jaringan lokal ke tailnet |
1. Instalasi Tailscale
Debian/Ubuntu
curl -fsSL https://tailscale.com/install.sh | sh
tailscale versionVerifikasi service
systemctl status tailscaled --no-pager2. Menghubungkan node
tailscale upPerintah akan menampilkan URL autentikasi. Buka di browser dan login (Google, GitHub, Microsoft, atau provider lain). Setelah berhasil, cek status:
tailscale status
tailscale ip -4Setiap 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| Opsi | Fungsi |
|---|---|
--accept-dns | Memakai MagicDNS |
--ssh | Mengaktifkan Tailscale SSH |
--hostname | Nama node di tailnet |
--advertise-routes | Membagikan subnet lokal |
--advertise-exit-node | Menjadikan node exit node |
3. MagicDNS
Dengan MagicDNS aktif, node bisa diakses dengan nama, bukan IP.
tailscale status
ping proxmox-lab
ssh deploy@web-ctNama 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-labGunakan hanya bila diperlukan, misalnya untuk keluar melalui IP kantor.
Praktik: menghubungkan laptop dan server
- Install Tailscale di laptop dan server Proxmox.
- Login dengan akun yang sama.
- Jalankan
tailscale statusdi kedua sisi. - Coba
pingmenggunakan IP100.xatau nama MagicDNS. - Coba SSH ke server lewat tailnet.
tailscale status
tailscale ping proxmox-lab
ssh root@proxmox-labTroubleshooting dasar
| Gejala | Cek |
|---|---|
| Node tidak muncul | tailscale status, login ulang |
| Ping gagal | ACL, firewall host, atau node offline |
| Koneksi lambat | Cek tailscale ping, mungkin lewat DERP |
| Nama tidak resolve | MagicDNS belum aktif |
| SSH ditolak | Tailscale SSH/ACL atau sshd |
tailscale netcheck
tailscale ping --verbose proxmox-lab
journalctl -u tailscaled -n 50Ringkasan
- Tailscale adalah mesh VPN berbasis WireGuard dengan NAT traversal otomatis.
- Node mendapat IP
100.xdan dapat diakses lewat MagicDNS. - ACL dan tag mengatur akses secara terpusat.
- Tidak perlu public IP atau port forwarding untuk menghubungkan perangkat.
Selanjutnya
Gunakan Tailscale untuk SSH di Menggunakan Tailscale untuk SSH dan Remote Server Tanpa Public IP.
Linux Server Hardening dan Secure Configuration
Menerapkan baseline hardening Linux: update, hardening SSH, least privilege, minimalisasi service, sysctl, audit, dan backup.
Menggunakan Tailscale untuk SSH dan Remote Server Tanpa Public IP
Praktik mengakses SSH server di balik NAT atau CGNAT menggunakan Tailscale, MagicDNS, Tailscale SSH, dan ACL.