22 Agustus 2026
Cloudflare Tunnel untuk Ingress
Solusi membuka akses publik untuk service homelab di balik CG-NAT tanpa port forwarding, menggunakan Cloudflare Dashboard connector.
Ketika membangun homelab di rumah, salah satu kendala terbesar adalah koneksi internet yang berada di balik CG-NAT (Carrier-Grade NAT). Kondisi ini membuat port forwarding tidak dapat dilakukan karena IP publik tidak dimiliki secara langsung. Untuk akses pribadi antar perangkat internal, Tailscale sudah menjadi solusi yang sangat baik. Namun, ketika ada service atau website yang ingin dibagikan ke publik atau teman, solusi lain dibutuhkan. Di sinilah Cloudflare Tunnel menjadi jawaban.
Mengapa Cloudflare Tunnel
Cloudflare Tunnel membuka koneksi keluar (outbound) dari host ke jaringan edge Cloudflare. Permintaan dari pengguna internet akan diterima oleh edge Cloudflare lalu diteruskan melalui tunnel tersebut ke service di dalam homelab.
Dengan metode outbound ini:
- Tidak perlu membuat aturan port forwarding di router.
- Tidak perlu mengekspos IP publik rumah.
- Layanan tetap dapat diakses publik secara aman.
Arsitektur Akses
[ Internet Client ] ---> [ Cloudflare Edge (DNS & Access) ]
|
( Outbound Tunnel Connection )
v
[ Homelab Host (cloudflared) ] ---> [ Internal Service ]
Jalur private (Tailscale) dan jalur public ingress (Cloudflare Tunnel) berjalan secara terpisah sesuai peruntukannya.
Cara Konfigurasi: CLI vs Cloudflare Dashboard
Awalnya, pembuatan tunnel dilakukan secara manual melalui terminal dengan berkas config.yml di server. Namun, metode ini cukup merepotkan karena setiap penambahan domain atau service mengharuskan SSH ke server dan mengubah berkas konfigurasi secara manual.
Cara yang lebih praktis adalah mengelola tunnel langsung dari Cloudflare Dashboard:
- Masuk ke Cloudflare Dashboard dan pilih domain yang dimiliki.
- Buka menu Networks -> Connectors -> Cloudflare Tunnels.
- Buat tunnel baru dan jalankan biner
cloudflareddengan token yang diberikan dashboard. - Tambahkan pemetaan Public Hostname ke service internal (misal:
http://localhost:8080) langsung melalui antarmuka UI web.
Penting: Konfigurasi via CLI (
config.yml) dan via Cloudflare Dashboard bersifat mutually exclusive. Pengaturan yang dibuat di Dashboard tidak akan muncul diconfig.ymllokal, dan sebaliknya. Sangat disarankan untuk memilih salah satu metode sebagai single source of truth agar tidak membingungkan saat mengelola layanan.
Instalasi Biner cloudflared
Untuk menjalankan connector, biner cloudflared tetap perlu dipasang pada host:
Verifikasi biner setelah dipasang:
cloudflared --version
Jalankan service dengan token yang didapat dari Dashboard Cloudflare:
cloudflared service install <TOKEN_DARI_DASHBOARD>
Keamanan
- Kredensial dan token connector bersifat rahasia. Jangan pernah memasukkannya ke dalam repository publik.
- Cloudflare Tunnel bertindak sebagai pintu masuk, bukan autentikasi aplikasi. Pastikan aplikasi asal tetap memiliki autentikasi sendiri atau lindungi dengan Cloudflare Access jika diperlukan.
Backup dan Recovery
Pemulihan Cloudflare Tunnel saat terjadi bencana (disaster recovery) sangat mudah jika menggunakan metode Dashboard:
- Cukup simpan token connector dan catatan pemetaan hostname di tempat terenkripsi.
- Jika host/VM mati, pasang biner
cloudflareddi host baru dan jalankan kembali service menggunakan token yang sama. Seluruh route di Dashboard akan otomatis terhubung kembali tanpa perlu setup ulang dari nol.
Troubleshooting
| Gejala | Penyebab Umum | Solusi |
|---|---|---|
| Domain publik error 502 / Bad Gateway | Service internal mati atau port di hostname target salah | Cek service lokal dan pastikan URL origin di Dashboard sesuai |
| Tunnel status Disconnected | Host kehilangan koneksi internet atau service cloudflared berhenti |
Cek koneksi internet host dan status systemctl status cloudflared |
| Reconnect berulang | Masalah jaringan keluar / throttling | Periksa log dengan journalctl -u cloudflared -f |
Kesimpulan
Cloudflare Tunnel adalah solusi praktis untuk membagikan service homelab ke publik di balik jaringan CG-NAT tanpa harus mengacak-acak port forwarding di router. Menggunakan Cloudflare Dashboard sebagai pusat konfigurasi membuat manajemen hostname jauh lebih simpel dan mudah dirawat.
