Bagi praktisi IT, sysadmin , maupun pegiat homelab , mengekspos aplikasi internal (seperti dashboard Proxmox, Portainer, Nextcloud, atau ...
Bagi praktisi IT, sysadmin, maupun pegiat homelab, mengekspos aplikasi internal (seperti dashboard Proxmox, Portainer, Nextcloud, atau API staging) ke internet sering kali menjadi tantangan besar. Pendekatan konvensional menggunakan Port Forwarding pada router modem ISP memiliki banyak kelemahan kritis: IP publik rumahan yang dinamis, risiko di-blokir oleh ISP karena Carrier-Grade NAT (CGNAT), dan yang paling berbahaya adalah kerentanan terhadap port scanning otomatis oleh botnet dari Shodan atau Censys.
Sebagai solusi modern, Cloudflare menyediakan teknologi Cloudflare Tunnel (sebelumnya dikenal sebagai Argo Tunnel). Layanan ini memungkinkan server lokal Anda terhubung langsung ke jaringan global Cloudflare melalui koneksi terowongan keluar (outbound tunnel) terenkripsi, tanpa perlu membuka satu pun port masuk (inbound port) pada firewall atau router Anda.
1. Konsep Kerja Zero Trust & Cloudflare Tunnel
Cloudflare Tunnel bekerja menggunakan agen daemon ringan bernama cloudflared yang diinstal pada server Linux Anda. Alur kerjanya sangat aman dan terisolasi:
- Koneksi Outbound Saja: Daemon
cloudflaredhanya membuka koneksi keluar (port 7844 UDP/TCP via protokol QUIC/HTTP2) ke empat titik PoP (Point of Presence) Cloudflare terdekat. - Perlindungan IP Origin: Alamat IP publik server Anda tidak pernah terekspos ke pengunjung web. Pengunjung hanya berinteraksi dengan Anycast IP milik Cloudflare yang dilindungi oleh DDoS protection dan Web Application Firewall (WAF).
- Bypass CGNAT: Anda dapat mempublikasikan server meskipun berada di balik jaringan ISP seluler 4G/5G atau koneksi fiber optik tanpa IP publik statis.
2. Langkah 1: Instalasi Cloudflared di Ubuntu Server 24.04 LTS
Cloudflare menyediakan repositori paket Debian/Ubuntu resmi untuk memastikan daemon selalu menerima pembaruan keamanan otomatis:
# Tambahkan GPG key resmi Cloudflare
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg > /dev/null
# Tambahkan repositori apt cloudflared
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared noble main" | sudo tee /etc/apt/sources.list.d/cloudflared.list
# Perbarui paket dan pasang cloudflared
sudo apt update && sudo apt install -y cloudflared
# Verifikasi versi terpasang
cloudflared --version
3. Langkah 2: Autentikasi dan Pembuatan Terowongan (Tunnel)
Sebelum membuat tunnel, hubungkan server dengan domain aktif yang dikelola di dashboard Cloudflare Anda:
# Jalankan login otorisasi akun
cloudflared tunnel login
Perintah di atas akan menampilkan URL otorisasi. Buka tautan tersebut di peramban, pilih domain target Anda, dan unduh sertifikat cert.pem yang otomatis disimpan di direktori ~/.cloudflared/.
Selanjutnya, buat tunnel baru dengan nama deskriptif (misalnya homelab-tunnel):
# Membuat tunnel baru
cloudflared tunnel create homelab-tunnel
# Catat Tunnel ID (UUID) yang dihasilkan pada output terminal
4. Langkah 3: Konfigurasi File Ingress Routing
Buat file konfigurasi deklaratif pada ~/.cloudflared/config.yml untuk memetakan domain publik ke port layanan lokal:
tunnel: <MASUKKAN-UUID-TUNNEL-ANDA>
credentials-file: /home/ubuntu/.cloudflared/<MASUKKAN-UUID-TUNNEL-ANDA>.json
ingress:
# Rute 1: Dashboard Web App Internal
- hostname: app.domainanda.id
service: http://localhost:8080
# Rute 2: Layanan API Staging
- hostname: api.domainanda.id
service: http://localhost:3000
# Rule Fallback Wajib (Catch-all 404)
- service: http_status:404
5. Langkah 4: Registrasi DNS Route & Menjalankan Service Systemd
Daftarkan CNAME record DNS di Cloudflare agar mengarah ke tunnel tersebut, kemudian pasang daemon sebagai background service sistem:
# Daftarkan entri DNS ke tunnel
cloudflared tunnel route dns homelab-tunnel app.domainanda.id
# Pasang cloudflared sebagai service systemd
sudo cloudflared service install
# Jalankan dan aktifkan service saat boot
sudo systemctl enable --now cloudflared
# Periksa status koneksi
sudo systemctl status cloudflared
Kesimpulan
Dengan menerapkan Cloudflare Tunnel pada Ubuntu Server 24.04 LTS, Anda mendapatkan jalur akses remote yang tangguh, terlindungi dari serangan DDoS, dan sepenuhnya bebas dari kompromi port forwarding router. Solusi ini menjadi fondasi arsitektur jaringan yang ideal untuk infrastruktur modern dan homelab mandiri.
COMMENTS