Tailscale Private Network untuk Proxmox, VM, dan LXC
Menjadikan Proxmox sebagai gateway Tailscale, membagikan subnet internal VM/LXC, dan mengakses seluruh lab tanpa public IP.
Daripada memasang Tailscale di setiap VM/LXC, kita bisa menjadikan host Proxmox sebagai subnet router. Host membagikan jaringan internal ke tailnet, sehingga semua VM/LXC dapat diakses dari laptop.
Arsitektur
Laptop (tailnet 100.x)
│
▼
Proxmox host (tailscale + subnet router)
│
├── vmbr0 192.168.1.50/24 (LAN)
└── vmbr1 10.10.10.1/24 (internal VM/LXC)
├── LXC web 10.10.10.11
└── VM db 10.10.10.12Dengan konfigurasi ini, laptop bisa mengakses 10.10.10.11 dan 10.10.10.12 tanpa NAT atau
port forwarding tambahan.
1. Instal Tailscale di host Proxmox
Proxmox berbasis Debian, sehingga installer Tailscale dapat digunakan.
curl -fsSL https://tailscale.com/install.sh | sh
systemctl status tailscaled --no-pagerHubungkan host:
tailscale up --advertise-routes=10.10.10.0/24 --accept-dns=false| Opsi | Alasan |
|---|---|
--advertise-routes | Membagikan subnet internal ke tailnet |
--accept-dns=false | Menghindari konflik DNS pada host Proxmox |
Jika juga ingin mengakses LAN 192.168.1.0/24, tambahkan route:
tailscale up --advertise-routes=10.10.10.0/24,192.168.1.0/24 --accept-dns=false2. Aktifkan IP forwarding
Subnet router harus meneruskan paket antar-interface.
cat > /etc/sysctl.d/99-tailscale.conf <<'EOF'
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.all.src_valid_mark = 1
EOF
sysctl --systemCek:
sysctl net.ipv4.ip_forward3. Setujui route di admin console
Route yang diiklankan belum aktif sampai disetujui.
- Buka Tailscale Admin Console → Machines.
- Pilih node Proxmox.
- Buka menu Route settings.
- Setujui
10.10.10.0/24(dan192.168.1.0/24bila dipakai).
Alternatif lewat CLI admin (dengan API key):
tailscale route approve 10.10.10.0/24Route approval adalah kontrol keamanan
Jangan menyetujui subnet yang tidak Anda butuhkan. Subnet router yang terlalu luas dapat membuka jaringan kantor/rumah ke seluruh tailnet.
4. Aktifkan subnet routing di client
Di laptop:
sudo tailscale up --accept-routesCek rute:
ip route | grep 10.10.10
tailscale status
ping 10.10.10.11Jika ping berhasil, akses SSH:
ssh deploy@10.10.10.115. Opsi: install Tailscale di dalam LXC
Untuk LXC tertentu, Tailscale bisa dipasang langsung di dalam container. Ini berguna bila Anda tidak ingin bergantung pada subnet router host.
Prasyarat LXC:
nesting=1keyctl=1(umumnya)- Akses ke
/dev/net/tun
Contoh:
pct set 200 --features nesting=1,keyctl=1
pct exec 200 -- bash -c 'curl -fsSL https://tailscale.com/install.sh | sh'
pct exec 200 -- tailscale up --ssh --hostname=web-ctJika muncul error terkait /dev/net/tun, pastikan modul TUN tersedia di host:
lsmod | grep tun
modprobe tunPilih salah satu pola
Subnet router lebih mudah untuk banyak VM/LXC. Tailscale di dalam guest lebih mandiri dan cocok bila Anda ingin kontrol akses per-container. Hindari keduanya sekaligus pada node yang sama tanpa alasan jelas.
6. MagicDNS dan penamaan
Aktifkan MagicDNS di admin console. Setelah itu, node dapat diakses dengan nama:
ssh root@proxmox-lab
ssh deploy@web-ctUntuk perangkat di subnet yang tidak menjalankan Tailscale, akses tetap memakai IP internal
(10.10.10.11), kecuali Anda mengatur DNS tambahan.
7. ACL untuk lab
Contoh kebijakan:
{
"tagOwners": {
"tag:proxmox": ["group:admin"],
"tag:lab": ["group:admin"]
},
"acls": [
{ "action": "accept", "src": ["group:admin"], "dst": ["tag:proxmox:*"] },
{ "action": "accept", "src": ["group:admin"], "dst": ["tag:lab:22,80,443"] }
],
"ssh": [
{ "action": "accept", "src": ["group:admin"], "dst": ["tag:proxmox"], "users": ["root"] }
]
}8. Troubleshooting
| Gejala | Cek |
|---|---|
| Route tidak aktif | Approval di admin console |
| Ping subnet gagal | ip_forward, --accept-routes, firewall |
| Hanya host bisa diakses | Route belum disetujui atau client belum --accept-routes |
| LXC tidak bisa install Tailscale | nesting, /dev/net/tun |
| Koneksi lewat DERP | tailscale ping, tailscale netcheck |
| DNS konflik | --accept-dns=false di host |
Cek di host:
tailscale status
tailscale debug prefs
sysctl net.ipv4.ip_forward
ip routePraktik: akses penuh lab
- Buat bridge internal
vmbr1dengan10.10.10.1/24. - Pasang LXC dengan IP
10.10.10.11. - Install Tailscale di host Proxmox.
- Jalankan
tailscale up --advertise-routes=10.10.10.0/24 --accept-dns=false. - Aktifkan IP forwarding.
- Setujui route di admin console.
- Di laptop, jalankan
tailscale up --accept-routes. - Uji
ping 10.10.10.11danssh deploy@10.10.10.11.
Ringkasan
- Proxmox dapat menjadi subnet router Tailscale untuk seluruh VM/LXC.
- Aktifkan IP forwarding dan setujui route di admin console.
- Client perlu
--accept-routesagar bisa menjangkau subnet. - Tailscale di dalam LXC memerlukan dukungan TUN dan fitur container yang sesuai.
Selanjutnya
Terbitkan layanan ke internet di Domain, DNS, dan Cloudflare Fundamentals.
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.
Domain, DNS, dan Cloudflare Fundamentals
Membeli dan mengelola domain, memahami nameserver serta record DNS, dan menghubungkan domain ke Cloudflare.