Saya baru sekarang memahami tunnel Cloudflare Zero Trust
(david.coffee)- Menjelaskan arsitektur yang menghubungkan jaringan privat dan mengontrol akses layanan dengan memanfaatkan Cloudflare Zero Trust dan Warp tanpa masalah NAT atau firewall
- Melalui Argo Tunnel, jaringan privat atau layanan lokal dapat diekspos ke domain publik, atau dibangun sebagai jaringan privat yang hanya bisa diakses saat terhubung lewat Warp
- Tailscale cepat karena berbasis P2P, tetapi memiliki keterbatasan di lingkungan NAT; Cloudflare merutekan semua trafik melalui jaringan edge untuk menyediakan koneksi yang stabil
- Cloudflared bertugas membuat tunnel, sementara Warp Client menangani koneksi jaringan dan penerapan kebijakan; alur trafik dan kontrol akses dibangun dengan Tunnels, Routes, Targets
- Dengan menetapkan Access Policy yang rinci melalui login email, GitHub, dan lain-lain, dapat dibangun lingkungan jaringan yang aman yang melewati atau membatasi proses login berdasarkan apakah Warp terhubung atau tidak
Gambaran umum Cloudflare Zero Trust dan Warp
- Mulai mempelajari Cloudflare Zero Trust + Warp karena penetrasi NAT Tailscale gagal
- Melalui tunnel Zero Trust, berbagai fungsi dapat dimanfaatkan seperti menghubungkan jaringan privat, mempublikasikan layanan, membangun jaringan IP privat, hingga mempublikasikan layanan lokal secara sementara
- Semua trafik diteruskan melalui jaringan Cloudflare tanpa masalah NAT, dan kebijakan akses yang terperinci memungkinkan kontrol akses antara pengguna, bot, dan server
- Saat koneksi SSH, didukung login berbasis autentikasi Zero Trust tanpa port publik
Cloudflare Zero Trust vs Tailscale
- Tailscale mencoba koneksi P2P dengan melewati NAT dan firewall, dan memakai server relay jika tidak memungkinkan
- Cloudflare mengirim semua trafik selain Warp-to-Warp melalui server edge Cloudflare, sehingga tidak ada masalah NAT tetapi ada sedikit latensi
Perbedaan Cloudflared dan Warp
- Warp Client: alat untuk menghubungkan klien ke jaringan Cloudflare dan menerapkan kebijakan
- Umumnya dijalankan di klien, tetapi juga bisa digunakan di server
- Mendukung koneksi P2P melalui routing Warp-to-Warp
- Cloudflared: alat untuk membuat tunnel dan menambahkannya ke jaringan Zero Trust
- Dijalankan di server untuk menyediakan titik masuk jaringan
- Dapat terhubung ke resource Zero Trust lain dengan perintah
cloudflared access - Bisa membuat tunnel sekali pakai untuk pengujian
Struktur Tunnels, Routes, Targets
- Tunnels: titik keluaran trafik yang dideploy dengan
cloudflared- Contoh: dipasang pada perangkat yang selalu menyala di jaringan rumah (192.168.1.1/24)
- Di file konfigurasi (
/etc/cloudflared/config.yml), ditentukan tujuan routing saat permintaan masuk - Contoh:
gitlab.widgetcorp.tech→localhost:80,gitlab-ssh→localhost:22
- Contoh eksposur publik:
homeassistant.mydomain.com→ dirutekan ke192.168.1.3- Jika
CNAMEdi Cloudflare DNS diarahkan ke alamat tunnel, akses dimungkinkan tanpa Warp
- Routes: mendefinisikan rentang IP tertentu akan dikirim ke tunnel mana
- Contoh: seluruh
192.168.1.1/24atau satu IP192.168.1.3/32 - Saat Warp terhubung, permintaan ke IP tersebut diteruskan melalui jaringan Cloudflare ke tunnel
- IP virtual yang tidak benar-benar ada (misalnya 10.128.1.1) juga dapat dirutekan
- Contoh: seluruh
- Targets: mendefinisikan unit infrastruktur yang akan dilindungi
- Contoh:
homeassistant.mydomain.com→192.168.1.3/32 - Kebijakan akses dapat diberikan pada target agar hanya pengguna tertentu yang bisa mengakses
- Contoh:
Access Policies: kontrol akses
- Setelah tunnel, route, dan target dikonfigurasi, hak akses diatur dengan Access Policy
- Komponen kebijakan
- Include: kondisi yang mengizinkan akses (OR)
- Require: kondisi yang wajib dipenuhi (AND)
- Action: Allow / Deny / Bypass / Service Auth
- Contoh 1 – kontrol akses berbasis email
- Hanya alamat email tertentu yang diizinkan mengakses
- Autentikasi juga bisa dibatasi ke metode login GitHub
- Contoh 2 – melewati login saat Warp terhubung
- Dengan selector Gateway, layar login bisa dilewati saat terhubung ke Zero Trust Warp
- Jika Warp tidak terhubung, login GitHub diwajibkan
Deployment dan pendaftaran klien Warp
- Atur kebijakan pendaftaran di Settings → Warp Client
- Mengizinkan autentikasi GitHub dan hanya email tertentu untuk pendaftaran
- Jika WARP auth ID diatur, selector Gateway dapat digunakan
- Definisikan perilaku klien di Profile Settings
- Dapat mengatur protokol (MASQUE/WireGuard), mode layanan, IP yang dikecualikan dari routing, dan lain-lain
- Mendukung instalasi otomatis Cloudflare CA, pemberian IP CGNAT unik, dan pengaturan pemeriksaan status perangkat (Device Posture)
- Setelah login di klien Warp, koneksi ke jaringan Zero Trust selesai
- Setelah itu, permintaan ke
192.168.1.3dirutekan melalui tunnel
- Setelah itu, permintaan ke
Ringkasan hasil implementasi
- Pendaftaran klien Warp dilakukan dengan kebijakan login berbasis GitHub dan email
- Tunnel dalam jaringan privat meneruskan permintaan
homeassistant.mydomain.comke192.168.1.3 - Trafik ke
192.168.1.3hanya dapat diakses melalui tunnel saat Warp terhubung - Menyediakan dua metode: akses publik berbasis DNS dan akses privat berbasis Warp
- Saat Warp terhubung, login dilewati; saat tidak terhubung, autentikasi GitHub diwajibkan
Hal tambahan yang tidak dibahas
- Routing Warp-to-Warp
- Pembuatan IP privat khusus internal Zero Trust
- Konfigurasi kebijakan autentikasi SSH
- Jenis aplikasi selain Self-Hosted
Tidak ada informasi tambahan dalam teks asli
1 komentar
Komentar Hacker News
Cloudflare bertindak sebagai titik terminasi TLS, jadi kurang menguntungkan untuk penggunaan pribadi
Jika memakai Tailscale Funnel, sertifikat dipasang langsung di endpoint saya, sedangkan Cloudflare mendekripsi lalu lintas di tengah lalu mengenkripsinya kembali
Saya tidak terlalu tahu tingkat privasi jaringan pribadi WARP, tetapi untuk tunneling internet saya rasa penurunan privasi cukup besar
Selain itu, struktur koneksi P2P + fallback relay bisa berjalan tanpa perantara pihak ketiga, jadi menurut saya jauh lebih ideal
Strukturnya menggunakan mesin teman sebagai exit node berbasis WebRTC, dan hanya mendukung P2P tanpa server TURN/relay
Tingkat keberhasilan koneksi memang rendah tergantung lingkungan NAT, tetapi karena trafik tidak melewati server pihak ketiga, jaminan privasi jauh lebih jelas
Ini juga bisa disusun dengan Caddy, tetapi tetap memerlukan port forwarding
Keunggulannya adalah enkripsi end-to-end serta performa dan keandalan lewat lebih dari 100 PoP
Hanya peer yang berpartisipasi yang mengekspos endpoint, jadi lebih unggul dari sisi keamanan dan privasi
Bisa di-host sendiri atau memakai layanan resminya
Saya memakai Netbird di rumah dan untuk penggunaan pribadi
Saya memasangnya di Synology NAS, semua laptop, desktop, dan ponsel keluarga, dan cukup nyaman dipakai seperti desktop jarak jauh dalam lingkungan Tmux
Saya berhenti membaca saat melihat kalimat “semua trafik melewati jaringan Cloudflare”
Hyprspace berhasil menembus semua NAT yang pernah saya temui, dan bekerja baik tanpa infrastruktur perusahaan besar
Tulisan ini terasa seperti panduan konfigurasi yang sangat bagus
Cloudflare seharusnya bisa mendokumentasikan ini dan memakainya sebagai panduan resmi
Saya membaca tulisan dari seseorang yang mempelajari Cloudflare Zero Trust + Warp karena frustrasi saat Tailscale gagal mendapatkan koneksi P2P di lingkungan NAT
Tetapi Cloudflare sejak awal bahkan tidak mencoba P2P, sehingga pada akhirnya ini berarti berpindah ke model kepercayaan Cloudflare
Motivasinya agak sulit dipahami, tetapi tulisannya sendiri tertata dengan baik
Perusahaan kami juga sepenuhnya remote, dan performa meningkat setelah pindah dari Tailscale ke Cloudflare
Jika iya, perbedaan model kepercayaannya tidak terlalu besar, tetapi Cloudflare unggul dari sisi kecepatan karena kekuatan utamanya memang performa relay
Meski begitu, kemampuan NAT hole punching Tailscale sangat bagus, jadi kalau bisa saya tetap lebih memilih koneksi langsung
Saya memakai tuns.sh untuk mengekspos layanan pribadi
Karena berbasis SSH tunnel, saya suka karena bisa langsung dipakai tanpa instalasi
Baik tulisan maupun komentarnya sama-sama bermanfaat
Hanya saja gambar di isi artikel rusak dan menghasilkan error 404 — misalnya: targets-config-screen.png
Senang akhirnya ada kritik terhadap masalah emas CF
Saya rasa perlu ada diskusi yang menyoroti masalah pada model Zero Trust
Fakta bahwa akun Cloudflare gratis tidak bisa dipakai menjalankan server Plex adalah kelemahan yang fatal
Ketentuan terkait bisa dilihat di sini
Saya memakai Emby dan Jellyfin berbasis IPv6 dengan teman-teman tanpa masalah
Tidak seperti trafik web biasa, satu film saja bisa menimbulkan biaya bandwidth ratusan kali lebih besar
Laptop kerja pacar saya tidak bisa dipasangi Tailscale, jadi cara ini berguna
Ada pertanyaan apakah memakai Cloudflare berarti terkena vendor lock-in
Saya rasa setidaknya Tailscale tidak punya ketergantungan seperti itu
Saya kira itu proyek open source, ternyata bukan