Agar Proxmox dan VM Ubuntu bisa diakses dari jaringan luar (misalnya dari rumah kamu via internet), dan kamu sudah punya VPS dengan IP publik 103.87.66.240, maka solusi paling mudah dan aman adalah:
🔐 Topologi Paling Mudah dan Aman: VPS sebagai Bastion Reverse SSH Tunnel (terbalik)
Kita akan gunakan fitur Reverse SSH Tunnel dari Proxmox dan VM Ubuntu ke VPS. Jadi walaupun mereka ada di belakang NAT (IP lokal), mereka akan “membuka pintu” ke VPS, dan kamu tinggal masuk lewat VPS.
🗺️ Skema Topologi
Internet (Rumah/Laptop Kamu)
│
ssh -p 2222 user@103.87.66.240
│
+----------▼----------+
| VPS |
| IP: 103.87.66.240 |
+----------┬----------+
│
Reverse SSH Tunnel │
┌────────────────────┐ │ ┌────────────────────┐
│ Proxmox (lokal) │──┘ │ VM Ubuntu (lokal)│───┐
│ 192.168.123.51 │ 192.168.100.10 │ │
└────────────────────┘ │ (IP lokal)
│
tapi bisa diakses via VPS!
✅ Langkah-Langkah Konfigurasi
1. Buat user di VPS (misalnya tunnel)
Di VPS:
sudo adduser tunnel
Kamu bisa gunakan password atau upload SSH public key.
—
2. Di Proxmox (host), buat tunnel ke VPS:
Contoh: Proxmox akan buka port 2222 di VPS yang terhubung ke port 22 di Proxmox:
ssh -f -N -R 2222:localhost:22 tunnel@103.87.66.240
Artinya: siapa pun yang SSH ke VPS:2222 → akan dialihkan ke port 22 di Proxmox lokal.
🛠️ Penjelasan opsi:
-
-f → background
-
-N → tidak jalankan command
-
-R 2222:localhost:22 → remote port forwarding (reverse tunnel)
—
3. Di VM Ubuntu, juga buat tunnel ke VPS (misalnya pakai port 2223):
ssh -f -N -R 2223:localhost:22 tunnel@103.87.66.240
—
4. Dari mana saja, kamu bisa akses dari internet:
ssh tunnel@103.87.66.240 -p 2222 ← Masuk ke Proxmox
ssh tunnel@103.87.66.240 -p 2223 ← Masuk ke VM Ubuntu
🧠 Bonus: Autostart SSH Reverse Tunnel saat Boot
Agar tunnel aktif otomatis saat Proxmox atau VM dinyalakan:
-
Tambahkan di /etc/rc.local (jika tersedia), atau
-
Buat systemd service:
Misalnya untuk Proxmox:
sudo nano /etc/systemd/system/reverse-ssh-proxmox.service
Isi:
[Unit]
Description=Reverse SSH Tunnel to VPS
After=network-online.target
Wants=network-online.target
[Service]
User=root
ExecStart=/usr/bin/ssh -N -R 2222:localhost:22 tunnel@103.87.66.240
Restart=always
[Install]
WantedBy=multi-user.target
Aktifkan:
sudo systemctl daemon-reexec
sudo systemctl enable reverse-ssh-proxmox
sudo systemctl start reverse-ssh-proxmox
—
🔒 Keamanan
-
VPS hanya buka port 2222 dan 2223 (bisa batasi via firewall)
-
Akses ke VPS bisa dibatasi hanya dari IP tertentu (rumah kamu)
-
Bisa pasang fail2ban / UFW di VPS
—
Berikutnya nanti akan kita lanjut bahas:
-
Otomatisasi scriptnya
-
Tambahkan backup tunnel jika putus
-
Konfigurasi nginx di VPS agar bisa akses web Proxmox / Ubuntu via subdomain (misalnya proxmox.domainmu.com)