Field notes

Build log / reading mode

Cloudflare Tunnel vs Port Forwarding: Cara Akses Server Tanpa Public IP

Pelajari cara Cloudflare Tunnel membantu mengakses server dan aplikasi internal tanpa membuka port router atau membutuhkan public IPv4 secara langsung.

Jika Anda pernah membuat server sendiri di rumah atau kantor, kemungkinan besar pernah berhadapan dengan pertanyaan:

Bagaimana server lokal bisa diakses dari internet?

Cara tradisional biasanya menggunakan port forwarding.

Internet
   ↓
Public IP
   ↓
Router Port 443
   ↓
192.168.1.10:443
   ↓
Web Server

Metode ini masih banyak digunakan.

Namun sekarang terdapat alternatif menarik yaitu Cloudflare Tunnel.

Apa Itu Cloudflare Tunnel?

Cloudflare Tunnel memungkinkan server lokal membuat koneksi keluar menuju jaringan Cloudflare menggunakan aplikasi:

cloudflared

Arsitekturnya:

User
  ↓
Cloudflare
  ↓
Encrypted Tunnel
  ↓
cloudflared
  ↓
Local Server

Server tidak harus menerima koneksi internet secara langsung pada port tertentu.

Bagaimana Port Forwarding Bekerja?

Misalnya terdapat server:

192.168.1.100

Router dikonfigurasi:

WAN Port 443
      ↓
192.168.1.100:443

Ketika user dari internet mengakses public IP, router meneruskan koneksi menuju server internal.

Risiko Membuka Port ke Internet

Jika Anda membuka:

443  → Web Server
22   → SSH
3389 → RDP

service tersebut dapat menerima traffic langsung dari internet.

Server berpotensi menerima:

  • Port scanning
  • Brute force
  • Vulnerability scanning
  • Bot traffic
  • Exploit attempt

Port forwarding bukan otomatis tidak aman.

Namun administrator harus memahami service apa yang sedang diekspos.

Keuntungan Cloudflare Tunnel

Tidak Membutuhkan Incoming Port

Anda tidak perlu membuat rule seperti:

WAN :443 → LAN :443

Server membuat koneksi keluar menuju Cloudflare.

Berguna Saat Menggunakan CGNAT

Banyak ISP menggunakan Carrier-Grade NAT atau CGNAT.

Pada kondisi tersebut, pelanggan belum tentu memiliki public IPv4 yang dapat digunakan untuk port forwarding.

Cloudflare Tunnel dapat menjadi alternatif untuk beberapa skenario karena koneksi dibuat dari sisi internal.

Origin Tidak Harus Dipublikasikan

Arsitektur menjadi:

User
   ↓
Cloudflare
   ↓
Tunnel
   ↓
Origin Server

User tidak perlu terhubung langsung ke IP origin.

Bisa Dikombinasikan dengan Zero Trust

Untuk aplikasi internal:

User
↓
Authentication
↓
Access Policy
↓
Cloudflare Tunnel
↓
Internal Application

Akses dapat dikontrol berdasarkan identity pengguna.

Cloudflare Tunnel vs VPN

Cloudflare Tunnel dan VPN tidak selalu menggantikan satu sama lain.

Tunnel cocok untuk:

  • Web application
  • Dashboard internal
  • Development server
  • Monitoring
  • Internal documentation
  • Self-hosted application

VPN lebih cocok jika user membutuhkan akses luas terhadap jaringan internal.

Contohnya:

10.10.0.0/16

Contoh Penggunaan Homelab

Misalnya terdapat:

Proxmox
192.168.10.10

Grafana
192.168.10.20

Internal Web
192.168.10.30

Anda dapat membuat hostname seperti:

grafana.example.com
app.example.com

kemudian mengarahkannya melalui Tunnel.

Cloudflare Tunnel Tidak Otomatis Membuat Server Aman

Ini bagian penting.

Aplikasi di belakang Tunnel tetap harus diamankan.

Gunakan:

  • Authentication
  • Authorization
  • MFA atau passkey
  • Least privilege
  • Patch management
  • Logging
  • Firewall
  • Backup

Jangan membuat:

admin.example.com

mengarah langsung ke panel administrator tanpa authentication.

Pertimbangkan High Availability

Untuk service penting, jangan bergantung pada satu instance cloudflared.

             ┌── cloudflared-01
Cloudflare ──┤
             └── cloudflared-02

Dengan lebih dari satu connector, kegagalan satu host tidak langsung memutus seluruh koneksi.

Kesimpulan

Port forwarding masih memiliki tempatnya.

Namun untuk mempublikasikan aplikasi tertentu, outbound tunnel dapat mengurangi kebutuhan untuk membuka service secara langsung ke internet.

Tetap kombinasikan Tunnel dengan authentication, firewall, patching, monitoring, dan least privilege.