NetBird Self-Hosted, Alternatif Cloudflare Tunnel untuk Homelab

Sebelumnya, Cloudflare Tunnel menjadi salah satu solusi yang saya andalkan untuk kebutuhan tersebut. Dengan tunnel, layanan yang berada di jaringan lokal dapat diakses melalui internet tanpa harus melakukan port forwarding secara langsung. Cara ini sangat praktis, terutama untuk layanan berbasis web. Namun, semakin banyak layanan yang dijalankan di homelab, kebutuhan saya mulai berkembang. Saya tidak hanya membutuhkan akses ke aplikasi web dari internet, tetapi juga membutuhkan jaringan privat yang dapat menghubungkan laptop, smartphone, server, virtual machine, serta perangkat lain yang berada di jaringan rumah. Dari kebutuhan tersebut, saya kemudian mencoba menggunakan NetBird secara self-hosted.
NetBird merupakan platform jaringan berbasis zero-trust yang menggunakan WireGuard sebagai fondasi koneksinya. Berbeda dengan konsep tunnel yang hanya berfokus pada meneruskan akses dari internet menuju sebuah aplikasi, NetBird memungkinkan sejumlah perangkat menjadi bagian dari sebuah jaringan overlay. Setiap perangkat yang terhubung dapat berkomunikasi melalui jaringan virtual yang terenkripsi. Pendekatan ini membuat NetBird menarik untuk digunakan sebagai fondasi jaringan pribadi, khususnya bagi pengguna homelab yang memiliki beberapa server dan perangkat tetapi tidak ingin seluruh layanan administrasinya dibuka ke internet.
Deployment NetBird yang saya gunakan ditempatkan pada sebuah VPS dan dijalankan secara self-hosted. Server tersebut menggunakan sistem operasi Ubuntu LTS dengan arsitektur ARM64, dua virtual CPU, dan memori sekitar 12 GB. Spesifikasi tersebut relatif ringan untuk kebutuhan deployment pribadi dan masih menyediakan ruang yang cukup untuk menjalankan komponen pendukung lainnya.
Bagi saya, perubahan paling terasa setelah menggunakan NetBird adalah cara mengakses homelab dari luar rumah. Sebelumnya, akses dari luar jaringan biasanya membutuhkan kombinasi VPN, port forwarding, tunnel, atau konfigurasi jaringan tertentu. Dengan NetBird, perangkat seperti laptop dan smartphone dapat menjadi bagian dari jaringan privat yang sama. Ketika perangkat tersebut terhubung ke NetBird, server yang berada di rumah dapat diakses melalui jaringan virtual tanpa harus mengekspos panel administrasi secara langsung ke internet.
Contohnya ketika sedang bekerja di luar rumah. Laptop yang digunakan untuk pekerjaan dapat terhubung ke jaringan NetBird, kemudian mengakses server, layanan web internal, SSH, maupun panel administrasi yang memang tidak perlu tersedia untuk publik. Hal yang sama dapat dilakukan menggunakan smartphone ketika sedang berada di jaringan seluler atau Wi-Fi publik. Selama perangkat sudah terdaftar dan memiliki izin yang sesuai, akses ke resource privat tetap dapat dilakukan tanpa harus membuka port baru pada router rumah.
Konsep tersebut sangat berbeda dengan sekadar membuat sebuah website dapat diakses dari internet. NetBird memberikan lapisan jaringan privat yang memungkinkan perangkat-perangkat tertentu berkomunikasi satu sama lain. Karena menggunakan WireGuard, komunikasi antar-peer dirancang agar terenkripsi. NetBird juga memiliki mekanisme untuk mengatur koneksi antarperangkat sehingga dalam kondisi tertentu koneksi dapat berlangsung secara peer-to-peer, sementara relay dapat digunakan ketika koneksi langsung tidak memungkinkan.
Kemampuan tersebut menjadi semakin menarik ketika digunakan bersama fitur Reverse Proxy. Salah satu alasan utama saya mencoba NetBird self-hosted adalah karena platform ini tidak hanya menyediakan jaringan privat, tetapi juga menyediakan kemampuan untuk mempublikasikan layanan internal menggunakan Reverse Proxy. Dengan demikian, layanan yang berada di jaringan pribadi dapat tetap diakses dari internet tanpa harus membuka port layanan tersebut langsung pada router rumah.
Secara sederhana, alurnya dapat dibayangkan seperti pengguna internet mengakses sebuah domain, kemudian permintaan diterima oleh Reverse Proxy NetBird dan diteruskan melalui jaringan NetBird menuju server internal tempat aplikasi berjalan. Dari sisi pengguna, yang terlihat hanyalah alamat domain biasa. Sementara aplikasi yang sebenarnya tetap berada di belakang jaringan privat. Pendekatan seperti ini cukup menarik untuk layanan self-hosted karena server aplikasi tidak harus memiliki port publik yang dapat diakses secara langsung.
Di sinilah NetBird mulai terasa seperti alternatif yang lebih luas dibandingkan sekadar Cloudflare Tunnel. Cloudflare Tunnel sangat praktis ketika kebutuhan utamanya adalah menerbitkan aplikasi web yang berada di jaringan lokal. Sementara NetBird memberikan dua sisi sekaligus, yaitu jaringan privat untuk perangkat yang dipercaya dan Reverse Proxy untuk layanan yang memang perlu dibuka kepada publik.
Saya juga menyukai fleksibilitas penggunaan custom domain. Layanan yang dipublikasikan melalui Reverse Proxy dapat menggunakan domain milik sendiri sehingga tidak harus bergantung pada alamat atau domain bawaan dari suatu platform. Untuk sebuah homelab yang digunakan bersamaan dengan website pribadi, aplikasi internal, dan berbagai layanan self-hosted, kemampuan menggunakan domain sendiri membuat struktur layanan menjadi lebih rapi.
NetBird juga mendukung pengelolaan sertifikat TLS melalui ACME sehingga layanan yang dipublikasikan dapat menggunakan HTTPS. Dalam dokumentasinya, NetBird menjelaskan penggunaan Let's Encrypt untuk provisioning sertifikat secara otomatis pada Reverse Proxy. Artinya, pengguna tidak harus melakukan proses penerbitan sertifikat secara manual setiap kali membuat layanan baru, selama konfigurasi domain dan DNS telah dilakukan dengan benar.
Bagi saya, kemampuan tersebut sangat berguna karena homelab biasanya tidak hanya menjalankan satu aplikasi. Ketika server mulai digunakan untuk menjalankan CMS, knowledge base, aplikasi catatan, file management, dashboard, layanan monitoring, dan berbagai aplikasi lainnya, jumlah subdomain juga dapat bertambah. Dengan Reverse Proxy, seluruh layanan tersebut dapat dikelola melalui satu arsitektur akses yang lebih teratur.
Hal lain yang menarik adalah kemampuan NetBird untuk melakukan routing menuju jaringan lokal. Tidak semua perangkat di rumah bisa dipasangi aplikasi NetBird. Printer jaringan, kamera, access point, perangkat IoT, maupun perangkat jaringan tertentu biasanya tidak menyediakan client VPN seperti komputer atau smartphone. Dalam kondisi tersebut, perangkat tertentu yang berada di jaringan lokal dapat digunakan sebagai routing peer sehingga perangkat yang terhubung melalui NetBird dapat menjangkau subnet lokal.
Artinya, ketika sedang berada di luar rumah, saya tidak hanya dapat mengakses server yang menjalankan NetBird. Dengan konfigurasi routing yang tepat, perangkat yang berada di jaringan lokal dan tidak menjalankan NetBird juga dapat dijangkau melalui gateway tersebut. Konsep ini sangat berguna untuk kebutuhan administrasi jaringan karena perangkat seperti router, access point, printer, dan perangkat lain tidak perlu dimodifikasi satu per satu.
Dalam praktiknya, hal tersebut membuat jaringan rumah terasa seperti memiliki akses jarak jauh yang lebih lengkap. Saya dapat membawa laptop keluar rumah dan tetap memiliki jalur menuju jaringan pribadi tanpa harus membuka seluruh jaringan tersebut ke internet. Perbedaannya adalah akses diberikan melalui jaringan zero-trust dan policy yang telah ditentukan, bukan dengan menjadikan seluruh jaringan rumah terbuka dari internet.
Pengaturan akses juga menjadi bagian penting dari NetBird. Dalam jaringan pribadi yang hanya terdiri dari beberapa perangkat, memberikan akses penuh mungkin masih terasa sederhana. Namun ketika perangkat mulai bertambah, pendekatan tersebut menjadi kurang ideal. NetBird memungkinkan administrator membuat group dan policy untuk menentukan perangkat mana yang dapat berkomunikasi dengan perangkat lainnya.
Misalnya, perangkat kerja dapat diberikan akses ke server tertentu, sedangkan perangkat mobile hanya diberikan akses ke aplikasi tertentu. Server produksi dapat dipisahkan dari perangkat pengembangan. Perangkat tamu juga dapat diberikan akses yang sangat terbatas tanpa harus memberikan akses ke seluruh jaringan. Pendekatan tersebut sejalan dengan prinsip zero-trust, yaitu akses diberikan berdasarkan kebutuhan, bukan semata-mata karena perangkat sudah berhasil masuk ke jaringan.
Bagi pengguna homelab, konsep ini mungkin terlihat sederhana pada awalnya. Namun ketika jumlah layanan semakin banyak, pengaturan semacam ini menjadi semakin penting. Saya tidak ingin sebuah perangkat yang digunakan untuk aktivitas sehari-hari secara otomatis memiliki akses penuh ke seluruh server hanya karena perangkat tersebut terhubung ke VPN.
NetBird juga dapat membantu menyederhanakan penggunaan jaringan melalui DNS internal. Daripada selalu mengingat alamat IP virtual setiap perangkat, server dan resource tertentu dapat diakses menggunakan nama yang lebih mudah diingat. Hal ini terasa cukup penting ketika jumlah server, VM, container, dan perangkat mulai bertambah.
Pengalaman tersebut membuat pengelolaan homelab menjadi lebih mirip jaringan internal perusahaan. Perbedaannya, infrastruktur tersebut saya kelola sendiri dengan skala yang jauh lebih kecil. Laptop, smartphone, server, VPS, dan perangkat jaringan dapat menjadi bagian dari satu ekosistem jaringan yang saling terhubung berdasarkan policy yang telah dibuat.
Ada satu alasan lain mengapa pendekatan self-hosted menarik bagi saya, yaitu kontrol terhadap infrastruktur. Ketika menggunakan layanan tunnel yang dikelola pihak ketiga, sebagian fungsi jaringan bergantung pada kebijakan dan karakteristik layanan tersebut. Dengan self-hosting, control plane NetBird berada pada server yang saya kelola sendiri. Saya dapat menentukan lokasi server, melakukan konfigurasi sendiri, mengatur domain, melakukan backup, memonitor penggunaan resource, serta memperbarui sistem sesuai kebutuhan.
Namun, self-hosted tentu bukan berarti semuanya otomatis lebih aman. Justru tanggung jawab pengelolaan menjadi berada di tangan administrator. VPS harus diperbarui, dashboard administrasi harus dilindungi, kredensial harus dijaga, DNS harus dikonfigurasi dengan benar, dan akses jaringan harus dibatasi sesuai kebutuhan. Jika server self-hosted tidak dikelola dengan baik, risiko keamanan tetap ada.
Karena itu, penggunaan NetBird self-hosted bagi saya bukan sekadar mengganti satu layanan dengan layanan lainnya. Ini lebih kepada perubahan cara berpikir mengenai jaringan. Sebelumnya saya lebih banyak memikirkan bagaimana sebuah aplikasi dapat diakses dari internet. Sekarang saya dapat memisahkan kebutuhan menjadi dua bagian. Layanan yang memang membutuhkan akses publik dapat ditempatkan di belakang Reverse Proxy, sedangkan layanan administrasi dan resource internal tetap berada di jaringan privat NetBird.
Pendekatan ini juga membuat saya tidak harus membuka banyak port pada router rumah. Semakin sedikit port yang harus diekspos, semakin sederhana pula permukaan akses yang perlu diperhatikan. Untuk kebutuhan homelab, hal tersebut cukup penting karena server biasanya menjalankan banyak aplikasi sekaligus dan tidak semuanya membutuhkan akses publik.
Dari sisi performa, WireGuard juga menjadi salah satu alasan mengapa NetBird menarik. WireGuard dikenal sebagai protokol VPN modern yang dirancang dengan arsitektur yang relatif sederhana dan performa tinggi. NetBird kemudian menggunakan WireGuard sebagai lapisan konektivitas antar-peer, sementara sistem NetBird menyediakan manajemen perangkat, policy, routing, dan berbagai fitur pengelolaan jaringan di atasnya.
Bagi saya yang cukup sering menggunakan server Linux, virtual machine, dan perangkat jaringan, konsep ini terasa lebih natural dibandingkan hanya menggunakan tunnel untuk masing-masing aplikasi. Saya bisa memiliki satu jaringan overlay untuk kebutuhan administrasi, kemudian menggunakan Reverse Proxy ketika sebuah aplikasi memang perlu tersedia secara publik.
Kebutuhan transfer file juga menjadi salah satu pertimbangan. Pada layanan tunnel pihak ketiga, pengguna harus memperhatikan karakteristik dan batasan layanan yang digunakan. Dengan Reverse Proxy yang berjalan pada infrastruktur sendiri, kapasitas transfer lebih bergantung pada bandwidth VPS, jalur jaringan, kemampuan server tujuan, serta konfigurasi proxy yang digunakan. Jadi bukan berarti bandwidth menjadi tidak terbatas, tetapi kontrol terhadap infrastruktur dan kapasitasnya berada pada pengguna.
Hal tersebut menarik terutama ketika homelab digunakan untuk aplikasi yang menangani file berukuran besar. Layanan seperti file management, cloud storage pribadi, atau aplikasi yang digunakan untuk mengunggah dan mengunduh data dapat ditempatkan di belakang Reverse Proxy selama spesifikasi dan bandwidth infrastrukturnya mencukupi.
Pada akhirnya, saya tidak melihat NetBird sebagai pengganti Cloudflare Tunnel dalam arti yang benar-benar satu banding satu. Keduanya mempunyai fokus dan arsitektur yang berbeda. Cloudflare Tunnel sangat kuat untuk kebutuhan publikasi aplikasi tanpa membuka port pada jaringan lokal, sedangkan NetBird lebih luas karena membangun jaringan overlay zero-trust dan kemudian menyediakan Reverse Proxy sebagai salah satu bagian dari ekosistemnya.
Bagi pengguna homelab yang hanya membutuhkan satu aplikasi untuk diakses dari internet, solusi tunnel sederhana mungkin sudah cukup. Namun, ketika kebutuhan mulai berkembang menjadi akses ke banyak server, perangkat, VM, subnet lokal, layanan internal, dan aplikasi publik, pendekatan jaringan seperti NetBird menjadi lebih menarik.
Bagi saya pribadi, penggunaan NetBird self-hosted memberikan satu hal yang sebelumnya terasa terpisah: akses privat dan publik dapat dikelola dalam satu arsitektur. Ketika sedang bekerja di luar rumah, laptop dan smartphone dapat masuk ke jaringan privat. Ketika sebuah aplikasi harus tersedia untuk publik, Reverse Proxy dapat digunakan dengan domain sendiri. Ketika ada perangkat lokal yang tidak dapat menjalankan client VPN, routing peer dapat menjadi penghubungnya.
Pada akhirnya, alasan utama saya menggunakan NetBird bukan semata-mata karena ingin meninggalkan Cloudflare Tunnel. Saya lebih tertarik karena kebutuhan homelab sudah berkembang dari sekadar mempublikasikan website menjadi kebutuhan membangun jaringan pribadi yang dapat diakses dari mana saja.
Dengan NetBird self-hosted, VPS bukan hanya menjadi tempat menjalankan satu aplikasi. Infrastruktur tersebut menjadi bagian dari jaringan yang menghubungkan perangkat, server, dan layanan secara lebih terstruktur. Selama konfigurasi, keamanan, dan policy dikelola dengan benar, pendekatan ini memberikan fleksibilitas yang cukup besar bagi pengguna yang ingin memiliki kendali lebih besar atas homelab dan layanan self-hosted miliknya sendiri.
Untuk saya, inilah daya tarik utama NetBird: bukan sekadar membuat server rumah bisa diakses dari internet, tetapi membangun sebuah jaringan pribadi yang tetap dapat digunakan meskipun saya sedang berada jauh dari rumah.