Kalau kamu mengelola server Linux tanpa GUI (headless), mendaftarkannya ke Cloudflare Zero Trust tidak bisa dilakukan dengan cara biasa. Tidak ada browser, tidak ada klik tombol “Connect”. Tapi bukan berarti tidak bisa — proses ini sepenuhnya bisa dilakukan lewat terminal menggunakan warp-cli dan token autentikasi yang di-generate dari dashboard Zero Trust.
Artikel ini membahas cara melakukannya dari awal sampai akhir, termasuk konfigurasi tambahan untuk Local Domain Fallback dan Split Tunnel supaya perangkat di jaringan LAN tetap bisa diakses normal.
Prasyarat #
Sebelum mulai, pastikan hal-hal berikut sudah terpenuhi:
- Server Linux sudah terinstall
cloudflare-warp(WARP client). Kalau belum, ikuti panduan resmi dari Cloudflare. - Kamu punya akses ke Cloudflare Zero Trust dashboard dengan akun yang sudah dikonfigurasi organisasi (nama org / team name).
- Server bisa mengakses internet.
Langkah 1: Inisiasi Registrasi WARP #
Pertama, jalankan perintah berikut di terminal server untuk memulai proses registrasi ke organisasi Zero Trust kamu:
warp-cli registration new <namaorg>Ganti <namaorg> dengan team name organisasi kamu di Cloudflare Zero Trust. Ini adalah nama yang muncul di URL dashboard — misalnya kalau URL kamu zrvteam.cloudflareaccess.com, maka team name-nya adalah zrvteam.
Perintah ini akan menghasilkan output yang mengarahkan kamu ke URL autentikasi. Tapi karena server headless, kamu tidak bisa membuka browser di sana.
Langkah 2: Login dan Ambil Token dari Browser #
Di komputer lain (laptop atau PC yang punya browser), buka URL berikut:
https://<namaorg>.cloudflareaccess.com/warpLogin menggunakan akun yang terdaftar di organisasi Zero Trust kamu (bisa lewat Google, email OTP, atau identity provider lain yang sudah dikonfigurasi).
Setelah login berhasil, kamu akan melihat sebuah tombol atau halaman konfirmasi yang menampilkan token dalam format seperti ini:
com.cloudflare.warp://<namaorg>.cloudflareaccess.com/auth?token=...Salin seluruh string tersebut, mulai dari com.cloudflare.warp:// sampai akhir. Token ini bersifat sementara dan biasanya hanya berlaku beberapa menit.

Langkah 3: Daftarkan Token di Server #
Kembali ke terminal server, jalankan perintah berikut dengan menempelkan token yang sudah disalin tadi:
warp-cli --accept-tos registration token "com.cloudflare.warp://<namaorg>.cloudflareaccess.com/auth?token=..."Pastikan seluruh token ditaruh dalam tanda kutip ganda ("). Kalau token valid dan belum kadaluarsa, server akan langsung terdaftar ke organisasi Zero Trust kamu.
Verifikasi statusnya dengan:
warp-cli statusOutputnya harus menunjukkan Connected atau Registered.
Langkah 4: Konfigurasi Local Domain Fallback (Opsional tapi Penting) #
Kalau kamu punya domain internal — misalnya home.zrv.my.id yang di-resolve oleh DNS server lokal — kamu perlu mengkonfigurasi Local Domain Fallback supaya WARP tidak melewatkan query DNS domain tersebut ke Cloudflare, melainkan tetap diarahkan ke DNS server lokal.
Caranya lewat dashboard Cloudflare Zero Trust:
- Masuk ke Settings > WARP Client > Device profiles.
- Pilih profile yang digunakan server kamu, lalu klik Edit.
- Scroll ke bagian Local Domain Fallback.
- Klik Add domain, isi:
- Domain:
home.noorkhafidzin.com(sesuaikan dengan domain internal kamu) - DNS Servers:
10.1.1.200, 10.1.1.1(IP DNS server lokal kamu, dipisah koma)
- Domain:
- Simpan.
Dengan konfigurasi ini, semua query untuk *.home.noorkhafidzin.com akan dikirim ke DNS lokal, bukan ke resolver Cloudflare.
Langkah 5: Konfigurasi Split Tunnel untuk IP LAN #
Secara default, WARP akan me-tunnel semua traffic — termasuk traffic ke IP lokal seperti 10.1.1.x. Ini bisa jadi masalah kalau kamu ingin server tetap bisa berkomunikasi langsung dengan perangkat di jaringan LAN tanpa lewat tunnel.
Untuk mengecualikan subnet LAN dari tunnel (mode Exclude):
- Di halaman profile yang sama, cari bagian Split Tunnels.
- Pastikan mode-nya Exclude (bukan Include).
- Klik Add IP/CIDR, masukkan
10.1.1.0/24(atau subnet LAN kamu yang sesuai). - Simpan.
Setelah konfigurasi ini aktif, traffic ke 10.1.1.0/24 akan bypass tunnel dan langsung lewat interface jaringan lokal.
Catatan: Perubahan konfigurasi di dashboard Zero Trust biasanya butuh beberapa saat untuk propagasi ke device. Kalau perubahan belum terasa, coba jalankan
warp-cli disconnect && warp-cli connectdi server.
Troubleshooting Umum #
Token expired atau tidak valid
Token autentikasi punya masa berlaku yang sangat singkat. Kalau perintah registration token gagal, ulangi langkah 1 dan 2 untuk mendapatkan token baru.
WARP status tetap Disconnected
Pastikan service warp-svc berjalan:
sudo systemctl status warp-svc
sudo systemctl start warp-svcDNS lokal tidak resolve setelah WARP aktif
Cek apakah Local Domain Fallback sudah tersimpan dengan benar di profile yang aktif. Pastikan juga WARP sedang connected, karena Local Domain Fallback hanya aktif saat tunnel sedang berjalan.
Ringkasan #
| Langkah | Perintah / Lokasi |
|---|---|
| Inisiasi registrasi | warp-cli registration new <namaorg> |
| URL autentikasi | https://<namaorg>.cloudflareaccess.com/warp |
| Daftarkan token | warp-cli --accept-tos registration token "com.cloudflare.warp://..." |
| Cek status | warp-cli status |
| Local Domain Fallback | Zero Trust Dashboard > Device Profiles > Edit |
| Split Tunnel exclude | Zero Trust Dashboard > Device Profiles > Split Tunnels |
Dengan cara ini, server headless kamu bisa terdaftar ke Cloudflare Zero Trust sepenuhnya lewat CLI tanpa perlu sentuh mouse sama sekali. Kombinasi dengan Local Domain Fallback dan Split Tunnel memastikan traffic LAN dan DNS internal tetap berjalan normal di sisi tunnel.