ZenXray VPN

Panduan Cloudflared Zero Trust di OpenWRT

Cara termudah mengatur tunnel aman dengan Cloudflare Zero Trust untuk mengakses layanan lokal tanpa port forwarding

Kembali ke Beranda

Prasyarat

Yang Perlu Disiapkan:
  • Router dengan OpenWRT (Armbian/x86/ARM)
  • Akses SSH/LuCI ke router
  • Domain terdaftar di Cloudflare (gratis)
  • Akun Cloudflare dengan akses Zero Trust

1Setup Cloudflare Zero Trust Tunnel

1.1 Login ke Cloudflare Dashboard

Buka https://dash.cloudflare.com dan login ke akun Anda.

1.2 Buat Tunnel Baru
  1. Pilih domain Anda dari dashboard
  2. Klik "Zero Trust" di sidebar kiri
  3. Pilih "Networks" → "Tunnels"
  4. Klik "Create a tunnel"
  5. Pilih "Cloudflared"
  6. Beri nama tunnel (contoh: "openwrt-home")
  7. Klik "Save tunnel"
Catat Token: Setelah tunnel dibuat, Anda akan mendapat token yang panjang dimulai dengan "eyJ...". Token ini diperlukan untuk instalasi di OpenWRT.
1.3 Konfigurasi Public Hostname

Di halaman tunnel yang baru dibuat:

  1. Klik tab "Public Hostname"
  2. Klik "Add a public hostname"
  3. Isi konfigurasi:
    • Subdomain: nas (atau nama lain)
    • Domain: pilih domain Anda
    • Service Type: HTTP
    • URL: localhost:8080 (sesuai service Anda)
  4. Klik "Save hostname"
Contoh Konfigurasi:
nas.domain.comlocalhost:5000 (Synology)
router.domain.comlocalhost:80 (LuCI)
pihole.domain.comlocalhost:8080 (Pi-hole)

2Instalasi Cloudflared di OpenWRT

2.1 Login SSH ke OpenWRT
ssh [email protected]
2.2 Install Cloudflared Package

Update package list dan install cloudflared:

opkg update
opkg install cloudflared
Jika package tidak tersedia: Download manual sesuai arsitektur perangkat Anda dari GitHub releases cloudflare/cloudflared.
2.3 Autentikasi dengan Token

Gunakan token yang didapat dari langkah 1.2:

cloudflared service install eyJhIjoixxxxx...TOKEN_ANDA_DI_SINI
Penting: Ganti "TOKEN_ANDA_DI_SINI" dengan token lengkap yang Anda dapatkan dari Cloudflare dashboard.
2.4 Enable dan Start Service
/etc/init.d/cloudflared enable
/etc/init.d/cloudflared start
2.5 Verifikasi Status
/etc/init.d/cloudflared status
logread | tail -n 20 | grep cloudflared

3Testing dan Troubleshooting

3.1 Test Akses Domain

Buka browser dan akses domain yang sudah dikonfigurasi:

Contoh: https://nas.domain.com
3.2 Troubleshooting Umum

# Restart service
/etc/init.d/cloudflared restart

# Cek log error
logread | grep cloudflared

# Cek koneksi lokal
netstat -tlnp | grep :80

  • Pastikan DNS Cloudflare sudah propagasi (tunggu 5-10 menit)
  • Cek konfigurasi hostname di Cloudflare dashboard
  • Pastikan service target berjalan di port yang benar
  • Test akses lokal: curl http://localhost:PORT

Download manual sesuai arsitektur:

# Untuk ARM64
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64 -O /usr/bin/cloudflared

# Untuk ARMv7
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm -O /usr/bin/cloudflared

# Set permission
chmod +x /usr/bin/cloudflared

Tips dan Konfigurasi Lanjutan

Keamanan
  • Aktifkan Cloudflare Access untuk proteksi tambahan
  • Gunakan Cloudflare WAF untuk filtering
  • Set IP whitelist jika diperlukan
Performance
  • Enable Cloudflare caching untuk static content
  • Gunakan Argo Smart Routing (berbayar)
  • Monitor metrics di Zero Trust dashboard
Multiple Services

Untuk menambah service baru, cukup tambahkan hostname di Cloudflare dashboard:

Contoh konfigurasi multiple:
• router.domain.com → localhost:80 (LuCI)
• nas.domain.com → localhost:5000 (NAS)
• media.domain.com → localhost:8096 (Jellyfin)
• monitor.domain.com → localhost:3000 (Grafana)
Selesai! Tunnel Cloudflare Zero Trust Anda sudah aktif. Semua koneksi sekarang aman dan terenkripsi melalui jaringan Cloudflare tanpa perlu membuka port di router.