Kamu sudah berhasil menginstal Cloudflare WARP di dalam LXC container Proxmox, warp-cli connect berjalan tanpa error, status menunjukkan Connected — tapi begitu kamu cek internet, tidak ada koneksi sama sekali. Ping gagal, curl timeout, seolah internet benar-benar mati.
Kalau kamu mengalami masalah ini, kamu tidak sendirian. Ini adalah masalah klasik yang sering dialami pengguna warp-cli di lingkungan LXC, dan solusinya ternyata cukup spesifik: /dev/net/tun perlu di-passthrough ke dalam container.
Kenapa Bisa Terjadi? #
Cloudflare WARP bekerja dengan membuat TUN interface — sebuah virtual network interface yang digunakan untuk mengarahkan seluruh traffic melalui jaringan Cloudflare. Di sistem biasa (VM atau bare metal), proses ini berjalan mulus karena kernel punya akses penuh ke /dev/net/tun.
Masalahnya, LXC container secara default berjalan dalam lingkungan yang terisolasi dan tidak memiliki akses ke device node tersebut. Ketika warp-cli mencoba membuat TUN interface, operasinya gagal secara senyap — WARP melaporkan Connected, tapi tunnel-nya tidak benar-benar berfungsi karena interface TUN tidak pernah terbentuk.
Gejalanya antara lain:
warp-cli status→ Connectedcurl https://cloudflare.com/cdn-cgi/trace→ curl: (6) Could not resolve host atau timeoutping 1.1.1.1→ Network unreachableip a→ Tidak ada interfaceCloudflareWARPyang muncul
Solusi: Passthrough /dev/net/tun ke LXC
#
Ada dua cara untuk melakukan ini. Cara termudah dan paling aman adalah lewat Web GUI Proxmox, tanpa perlu mengedit file konfigurasi secara manual.
Cara 1: Via Web GUI Proxmox (Direkomendasikan) #
- Buka Proxmox Web UI di browser kamu (
https://IP_PROXMOX:8006). - Di panel kiri, pilih LXC container yang bermasalah.
- Masuk ke menu Resources.
- Klik tombol Add → pilih Device Passthrough.
- Di kolom path, masukkan
/dev/net/tun. - Klik Add untuk menyimpan.
- Restart container kamu.
Langkah ini diuji pada Proxmox VE 9.1.5. Tampilan menu bisa sedikit berbeda di versi yang lebih lama.
Setelah container restart, coba hubungkan WARP kembali:
warp-cli connectLalu verifikasi:
curl https://cloudflare.com/cdn-cgi/trace
ip a | grep CloudflareWARPKalau interface CloudflareWARP sudah muncul dan curl berhasil mengembalikan response, berarti masalah sudah teratasi.
Cara 2: Edit File Konfigurasi LXC Secara Manual #
Jika kamu tidak menggunakan GUI atau ingin melakukannya via CLI, edit file konfigurasi LXC secara langsung di Proxmox host.
Shutdown container terlebih dahulu, kemudian edit file konfigurasinya:
nano /etc/pve/lxc/<ID_CONTAINER>.confTambahkan dua baris berikut di bagian paling bawah:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=fileGanti <ID_CONTAINER> dengan ID numerik LXC kamu (misalnya 100, 101, dst.).
Selanjutnya, jika container kamu berjalan sebagai unprivileged (yang merupakan default dan lebih aman), pastikan ownership /dev/net/tun di host sudah benar:
# Jalankan di Proxmox host, BUKAN di dalam container
chown 100000:100000 /dev/net/tunVerifikasi hasilnya:
ls -l /dev/net/tun
# Output yang diharapkan:
# crw-rw-rw- 1 100000 100000 10, 200 ...Start kembali container dan uji koneksi WARP seperti biasa.
Verifikasi Akhir #
Setelah container berjalan kembali, lakukan pengecekan berikut di dalam LXC:
# 1. Hubungkan WARP
warp-cli connect
# 2. Cek status
warp-cli status
# 3. Pastikan interface TUN terbentuk
ip a | grep -A2 CloudflareWARP
# 4. Tes koneksi internet via WARP
curl https://cloudflare.com/cdn-cgi/trace | grep warp
# Harusnya menampilkan: warp=onJika warp=on sudah muncul, selamat — WARP kamu sudah berjalan sempurna di dalam LXC!
Kenapa Tidak Cukup Hanya Install warp-cli? #
Ini pertanyaan yang wajar. Banyak tutorial instalasi WARP di Linux hanya membahas proses instalasi package-nya saja, tanpa menyebut kebutuhan TUN device untuk lingkungan container. Padahal, TUN/TAP adalah komponen inti dari cara kerja WARP maupun VPN berbasis tunnel lainnya (OpenVPN, WireGuard dalam beberapa konfigurasi, dll.).
Di bare metal atau VM penuh, kernel langsung menyediakan akses ke /dev/net/tun. Di LXC, isolasi kernel membuat device ini tidak otomatis tersedia — sehingga perlu di-expose secara eksplisit oleh administrator Proxmox.
Kesimpulan #
| Masalah | Penyebab | Solusi |
|---|---|---|
| warp-cli Connected tapi no internet | /dev/net/tun tidak tersedia di LXC |
Passthrough /dev/net/tun via Proxmox GUI atau edit .conf |
Interface CloudflareWARP tidak muncul |
TUN device tidak bisa dibuat | Tambahkan lxc.cgroup2.devices.allow dan lxc.mount.entry |
| Error permission saat unprivileged LXC | UID mapping container vs host | chown 100000:100000 /dev/net/tun di Proxmox host |
Kalau kamu juga menggunakan WARP untuk keperluan lain di homelab seperti mengakses layanan internal, jangan lupa sesuaikan WARP mode-nya (misalnya mode proxy untuk kasus tertentu) menggunakan warp-cli set-mode.
Semoga artikel ini membantu. Kalau masih ada kendala, tinggalkan komentar di bawah — saya akan coba bantu.
Referensi: Cloudflare WARP Connector - Proxmox LXC (Reddit r/CloudFlare)