SSD Nodes Learn 🎉 VPS dari $5.50/bln
Panduan Matt ConnorOleh Matt Connor · Dikemas kini 2026-08-13

Cara Self-host Pelayan VPN NetBird pada VPS

Ketahui cara memasang pelayan NetBird pada VPS anda sendiri. Panduan ini merangkumi konfigurasi DNS, TLS, skrip quickstart, kunci setup untuk peer, dan perbandingan dengan Headscale.

Kelebihan self-hosting pelayan VPN NetBird

Self-hosting pelayan VPN NetBird meletakkan control plane pada VPS milik anda: bahagian yang menyimpan senarai peer, menentukan mesin mana yang boleh mencapai mesin lain, serta membantu dua peer mencari satu sama lain di sebalik NAT (network address translation). Terowong itu sendiri masih menggunakan WireGuard, yang disulitkan secara terus antara mesin anda. Perubahannya ialah tiada syarikat luar yang memegang inventori peranti atau aliran log masuk anda.

NetBird berada di antara dua perkara yang mungkin anda sudah ketahui. Ia adalah mesh overlay, jadi peer berhubung antara satu sama lain dan bukannya menghantar segala-galanya melalui satu gateway. Ia juga boleh di-self-host sepenuhnya dari hujung ke hujung, yang meletakkannya sebagai pesaing kepada Headscale, pelayan kawalan Tailscale yang di-self-host. Jika anda hanya pernah menjalankan terowong gateway tunggal, baca perbezaan antara WireGuard biasa dan mesh overlay terlebih dahulu, kerana model mental tersebut menjadikan kandungan halaman ini berguna.

Jika apa yang anda sebenarnya mahukan ialah satu pelayan yang menjadi titik keluar bagi semua trafik anda, mesh adalah lebih kompleks daripada yang diperlukan untuk tugasan tersebut. VPN WireGuard biasa pada satu VPS atau exit node Tailscale melakukan perkara itu dengan usaha penyelenggaraan yang jauh lebih rendah.

Perkara yang sebenarnya dijalankan oleh stack

Susun atur ini telah berubah baru-baru ini, dan kebanyakan penulisan lama menerangkan susun atur yang terdahulu. Setakat Ogos 2026, pada keluaran v0.76.2, skrip quickstart menulis fail Compose dengan tiga servis secara lalai.

  • netbird-server membawa API pengurusan, servis signal, relay dengan pendengar STUN terbenam, dan penyedia identiti terbenam. Dalam keluaran lama, komponen ini merupakan kontena yang berasingan dan penyedia identiti merupakan pemasangan Zitadel berasingan yang perlu anda bina terlebih dahulu.
  • dashboard ialah konsol web admin.
  • traefik menamatkan TLS (transport layer security) dan meminta sijil daripada Let's Encrypt pada permulaan pertama.

Dua lagi servis wujud dan kekal dimatikan kecuali anda menyatakan ya pada gesaan. Servis NetBird Proxy menerbitkan servis dalaman pada hostname awam. CrowdSec menapis trafik yang menyalahgunakan. Kedua-duanya tidak diperlukan untuk membina mesh yang berfungsi, dan kedua-duanya menggunakan memori pada kotak kecil.

Jika anda datang daripada wg-easy dalam satu kontena Docker, ini merupakan peningkatan dalam jumlah bahagian. Apa yang anda peroleh ialah polisi akses dan akaun setiap pengguna, serta peer yang bersambung terus antara satu sama lain dan bukannya melalui satu gateway.

Perkara yang diperlukan sebelum bermula

Nama domain awam adalah wajib. Dashboard, API dan relay semuanya menggunakan HTTPS pada port 443, dan Traefik mendapatkan sijil daripada Let's Encrypt menggunakan HTTP challenge, yang memerlukan nama domain yang boleh diselesaikan (resolve) kepada VPS ini daripada internet awam. Alamat IP sahaja tidak akan berfungsi dalam aliran ini.

Cipta satu rekod A, netbird.example.com yang menghala ke alamat IPv4 awam VPS, dan tunggu sehingga ia aktif sebelum menjalankan sebarang arahan.

dig +short netbird.example.com

Arahan tersebut mesti memaparkan alamat pelayan anda. Menjalankan pemasang sebelum DNS disebarkan (propagate) akan menyebabkan permintaan sijil gagal pada permulaan pertama, dan kegagalan pengesahan yang berulang akan terkena had kadar (rate limits) Let's Encrypt, yang memaksa anda menunggu selama satu jam untuk mencuba semula.

Tiga port mesti boleh dicapai dari internet: TCP 80 untuk cabaran sijil dan pengalihan (redirect) ke HTTPS, TCP 443 untuk dashboard, API, trafik signal dan relay, serta UDP 3478 untuk STUN.

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3478/udp
sudo ufw reload
sudo ufw status

Buka port tersebut pada firewall rangkaian pembekal anda juga. Ini merupakan kawalan berasingan dalam kebanyakan panel VPS, dan ia adalah punca mengapa pelayan yang konfigurasi ufw status-nya kelihatan betul masih menolak sambungan.

STUN (session traversal utilities for NAT) ialah cara peer mengetahui alamat awam dan port yang diberikan oleh NAT mereka sendiri, supaya dua peer boleh cuba membina terowong terus. Sekat UDP 3478 dan peer masih boleh bersambung melalui relay pada TCP 443, jadi tiada apa yang kelihatan rosak. Anda sebaliknya akan mendapat Connection type: Relayed pada setiap peer, dan semua trafik akan melalui VPS anda dan bukannya terus antara peer.

Dari segi perisian, anda memerlukan Docker dengan pemalam Compose v2, serta jq dan curl. Skrip akan menyemak kesemuanya dan berhenti jika salah satu daripadanya tiada. Jika Docker baru dipasang pada pelayan ini, pastikan Docker Compose berfungsi pada VPS terlebih dahulu.

Port jika anda melangkau reverse proxy yang disertakan

Menjalankan sistem tanpa Traefik bermakna servis individu terdedah secara terus, dan senarai port akan bertambah:

  • TCP 80, pengalihan HTTP
  • TCP 443, HTTPS
  • TCP 33073, pengurusan gRPC
  • TCP 10000, signal gRPC
  • TCP 33080, relay melalui WebSocket atau QUIC
  • UDP 3478, STUN

Pilih cara ini hanya jika pelayan anda sudah mengendalikan TLS untuk tujuan lain. Jika tidak, penggunaan Traefik yang disertakan adalah lebih mudah dengan peraturan yang lebih sedikit dan kurang risiko kesilapan.

Pasang pelayan NetBird dengan skrip permulaan pantas

Satu baris arahan yang didokumentasikan menyalurkan keluaran terkini terus ke dalam shell:

curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started.sh | bash

Sebaliknya, tetapkan versi (pin) skrip tersebut. latest sering berubah, jadi arahan yang sama yang dijalankan dalam selang dua minggu akan menghasilkan dua pemasangan yang berbeza, dan tiada rekod pada cakera yang mencatatkan versi mana yang menulis konfigurasi anda. Muat turun keluaran bertanda (tagged release), baca kandungannya, kemudian jalankannya.

mkdir -p ~/netbird
cd ~/netbird
curl -fsSL -o getting-started.sh \
  https://github.com/netbirdio/netbird/releases/download/v0.76.2/getting-started.sh
less getting-started.sh
bash getting-started.sh

Skrip tersebut akan meminta nama domain terlebih dahulu:

Enter the domain you want to use for NetBird (e.g. netbird.my-domain.com):

Kemudian ia bertanya bagaimana TLS akan dikendalikan:

Which reverse proxy will you use?
  [0] Traefik (recommended - automatic TLS, included in Docker Compose)
  [1] Existing Traefik (labels for external Traefik instance)
  [2] Nginx (generates config template)
  [3] Nginx Proxy Manager (generates config + instructions)
  [4] External Caddy (generates Caddyfile snippet)
  [5] Other/Manual (displays setup documentation)
Enter choice [0-5] (default: 0):

Pilih [0]. Pilihan 2 hingga 5 menulis cebisan konfigurasi dan menyerahkan urusan penyambungan kepada anda; ini adalah tindakan yang betul pada pelayan yang sudah menjalankan proksi, tetapi salah pada pelayan yang baharu. Pilihan 0 kemudian akan meminta alamat e-mel Let's Encrypt, yang digunakan untuk notis tamat tempoh sijil.

Pilih tidak (no) untuk perkhidmatan NetBird Proxy pada pemasangan pertama. Ia memerlukan dua lagi rekod DNS, proxy.netbird.example.com dan wildcard *.proxy.netbird.example.com, dan ia tidak memberikan fungsi tambahan untuk mesh biasa. Pilih tidak juga untuk CrowdSec. Kedua-duanya boleh ditambah kemudian.

Skrip ini menulis ke dalam direktori semasa: docker-compose.yml, config.yaml dengan mod 600, dashboard.env, dan traefik-dynamic.yaml apabila anda memilih Traefik yang dibundelkan. Anggap direktori tersebut sebagai data keadaan (state) yang perlu disimpan, kerana config.yaml menyimpan kunci yang menyulitkan data di dalam storan. Kehilangan kunci ini tidak dapat dipulihkan dengan pemasangan semula.

docker compose ps
docker compose logs -f netbird-server

Setiap perkhidmatan harus membaca running, dan log pelayan sepatutnya menjadi stabil dan bukannya memulakan semula dalam gelung. Pantau sijil secara berasingan:

docker compose logs traefik | grep -i acme

ACME (automatic certificate management environment) ialah protokol yang digunakan oleh Traefik untuk mendapatkan sijil. Ralat di sini hampir selalu berpunca daripada DNS atau port 80 yang tertutup.

Mencipta akaun pentadbir pertama

Buka https://netbird.example.com. Pada pemasangan baharu, paparan akan terus ke halaman persediaan dan bukannya borang log masuk. Masukkan alamat e-mel, nama, dan kata laluan, kemudian klik Create Account. Akaun tersebut akan menjadi pentadbir pertama, dan halaman akan mengubah hala ke borang log masuk.

Akaun itu disimpan dalam stor pengguna NetBird sendiri, yang dikuasakan oleh penyedia identiti yang terbenam di dalam kontena netbird-server. Tiada perkhidmatan luaran yang terlibat. Ini merupakan perubahan terbesar berbanding NetBird yang dihoskan sendiri setahun yang lalu, di mana pemasangan yang berfungsi memerlukan penyediaan Zitadel atau Keycloak terlebih dahulu serta penyalinan empat nilai OIDC (OpenID Connect) ke dalam setup.env sebelum sebarang proses boleh bermula.

Jika anda menerima amaran sijil pelayar dan bukannya halaman persediaan, bermakna sijil tersebut gagal dikeluarkan. Selesaikan masalah itu sebelum meneruskan langkah seterusnya, kerana papan pemuka berkomunikasi dengan API melalui nama hos yang sama dan akan gagal dengan cara yang mengelirukan jika sijil tidak sah.

Sertai peer pertama anda

Pasang klien pada mana-mana mesin Linux, termasuk VPS itu sendiri jika anda mahukannya dalam mesh:

curl -fsSL https://pkgs.netbird.io/install.sh | sh

Pada Debian dan Ubuntu, skrip tersebut mengkonfigurasi repositori pakej NetBird dan kemudian memasang klien melalui apt, jadi pengurus pakej akan menguruskan pemasangan tersebut. Jika anda tidak selesa menyalurkan skrip terus ke shell, simpan dahulu dengan curl -fsSL -o install.sh https://pkgs.netbird.io/install.sh dan baca kandungannya sebelum menjalankan sh install.sh. Walau apa pun, sahkan apa yang telah dipasang:

apt-cache policy netbird

netbird ialah klien baris perintah dan daemon. netbird-ui ialah aplikasi dulang desktop, dan pelayan tanpa kepala (headless) tidak memerlukannya.

Sekarang, halakan klien ke pelayan anda:

sudo netbird up --management-url https://netbird.example.com

Jangan abaikan --management-url, jika tidak klien akan mendaftar dengan perkhidmatan hos NetBird kerana itu adalah tetapan lalai yang dikompilasi. Perintah tersebut masih berjaya, mesin masih mendapat alamat, tetapi papan pemuka (dashboard) yang anda hos sendiri akan kekal kosong. Ini adalah kesilapan yang sering dilakukan oleh hampir semua orang.

Perintah tersebut akan memaparkan URL untuk dibuka dalam pelayar bagi melengkapkan log masuk. Selepas itu:

netbird status
ip addr show wt0

Baca empat baris daripada netbird status: Management: Connected, Signal: Connected, baris Relays: yang melaporkan setiap relay yang tersedia, dan NetBird IP: dalam julat overlay. wt0 ialah antara muka WireGuard yang dicipta oleh NetBird, dan ia sepatutnya membawa alamat yang sama.

Menyertai mesin kedua tanpa pengawasan menggunakan setup key

Log masuk pelayar tidak berfungsi untuk mesin yang tiada pelayar dan tidak dipantau oleh pengguna. Setup key ialah token pra-pengesahan yang mendaftarkan mesin tanpa langkah interaktif. Cipta satu dalam papan pemuka di bawah Setup Keys.

Terdapat dua jenis. Kunci sekali guna (one-off key) mengesahkan tepat satu mesin dan kemudian luput. Kunci boleh guna semula (reusable key) mendaftarkan banyak mesin, dengan had bilangan yang boleh ditetapkan. Kedua-duanya memerlukan tempoh luput, dan kedua-duanya boleh menetapkan rakan setara (peer) baharu secara automatik ke dalam kumpulan, supaya peraturan akses pada kumpulan tersebut terpakai sebaik sahaja mesin itu muncul.

sudo netbird up --setup-key <SETUP-KEY> \
  --management-url https://netbird.example.com \
  --hostname build-runner-01

--hostname menetapkan nama yang dipaparkan dalam papan pemuka. Tanpanya, rakan setara akan menggunakan nama mesin itu sendiri, dan sekumpulan entri yang semuanya bernama ubuntu tidak membantu sesiapa pun.

Untuk kontena dan ejen binaan jangka hayat pendek, tandakan kunci sebagai ephemeral semasa anda menciptanya. Rakan setara yang didaftarkan dengan kunci ephemeral akan dialih keluar secara automatik sebaik sahaja ia berada di luar talian selama lebih daripada 10 minit, yang memastikan senarai rakan setara tidak dipenuhi dengan entri yang tidak aktif.

Satu had yang perlu difahami sebelum anda merancang menggunakan setup key: meluputkan atau memadam kunci akan menghentikan pendaftaran baharu, dan ia tidak memutuskan sambungan mesin yang telah mendaftar dengannya. Mengalih keluar akses mesin bermakna mengalih keluar rakan setara tersebut.

Adakah anda masih memerlukan penyedia identiti yang berasingan?

Untuk pemasangan berskala kecil, jawapannya tidak. Storan pengguna terbina dalam mengurus akaun yang dicipta daripada papan pemuka, dan ini sudah memadai untuk sebilangan kecil pengguna.

Anda memerlukan penyedia identiti luaran apabila anda sudah memilikinya dan tidak mahu menguruskan senarai pengguna kedua. NetBird menerima mana-mana penyedia yang menggunakan protokol OIDC. Daftarkan klien OIDC sulit dalam penyedia anda, kemudian tambahkannya dalam papan pemuka NetBird dengan empat nilai: nama, client ID, client secret dan issuer. NetBird akan memberikan anda URL ubah hala (redirect URL) untuk ditampal semula ke dalam penyedia tersebut. Integrasi khusus tersedia untuk Google, Microsoft Entra ID, Okta, Zitadel, Keycloak, Authentik dan Pocket ID, manakala perkhidmatan lain boleh dimasukkan sebagai OIDC generik. Jika anda sudah menjalankan Authentik sebagai single sign-on yang dihoskan sendiri, ini adalah laluan yang mengekalkan satu senarai akaun dan bukannya dua.

Log masuk tempatan kekal tersedia selepas anda menambah penyedia, dan setiap penyedia yang dikonfigurasikan akan muncul pada halaman log masuk. Pastikan satu akaun pentadbir tempatan dengan kata laluan yang kuat. Konfigurasi OIDC yang rosak tidak akan menghalang anda daripada mengakses sistem.

NetBird atau Headscale: control plane manakah yang patut anda jalankan?

Kedua-duanya membuang dependency yang sama, iaitu pelayan kawalan (control server) berpusat yang biasanya dihubungi oleh klien anda. Projek ini mempunyai bentuk yang berbeza.

Headscale melaksanakan semula control server Tailscale, dan anda terus menggunakan klien rasmi Tailscale. Tiada konsol web rasmi. Anda mengurus pengguna dan pre-authentication keys dengan arahan headscale terhadap fail konfigurasi. Antara muka web komuniti memang wujud, namun ia bukan sebahagian daripada projek tersebut. Ini sesuai untuk mereka yang mahukan status sistem dalam fail dan perubahan disimpan dalam version control.

NetBird membekalkan keseluruhan produk: kliennya sendiri, papan pemuka (dashboard) sendiri, identity provider terbenam, dan polisi akses yang disunting melalui pelayar web. Ini bermakna lebih banyak komponen yang perlu diurus pada VPS anda, namun ia jauh lebih mudah untuk diserahkan kepada rakan sekerja yang tidak akan membuka terminal.

Jalankan Headscale jika anda sudah melabur dalam klien Tailscale atau anda mahukan control plane yang paling kecil. Jalankan NetBird jika ramai orang perlu mengurus peer dan anda mahukan konsol serta SSO tanpa perlu memasangnya secara berasingan.

Sejauh mana saiz VPS minimum yang boleh menjalankan ini?

Keperluan minimum yang didokumentasikan ialah 1 CPU dan 2 GB memori. Nota NetBird sendiri meletakkan had minimum semasa sekitar 1 GB RAM memandangkan pengurusan pengguna kini bersifat setempat, berbanding 2 GB hingga 4 GB yang diperlukan oleh susun atur lama apabila penggunaan penuh Zitadel menjadi sebahagian daripada tindanan tersebut. Beli 2 GB. Ruang tambahan ini membolehkan proses naik taraf menarik imej baharu sementara imej lama masih berada pada cakera.

Terdapat tiga perkara yang selamat untuk ditinggalkan pada pelayan kecil. Tolak perkhidmatan NetBird Proxy, yang wujud untuk menerbitkan perkhidmatan dalaman pada hostname awam dan tiada kaitan dengan penyambungan antara peer. Tolak CrowdSec, yang lebih wajar ditambah pada pelayan yang terdedah kemudian hari berbanding pada hari pertama. Kekalkan storan SQLite lalai dalam volum netbird_data, dan beralih kepada PostgreSQL hanya apabila anda memecahkan penggunaan merentasi beberapa mesin atau mencapai konkurensi sebenar, yang didokumentasikan sebagai migrasi yang boleh anda lakukan kemudian.

Relay adalah satu-satunya komponen yang tidak boleh anda gugurkan. Dua peer yang NAT-nya menetapkan port berbeza bagi setiap destinasi tidak akan dapat mewujudkan terowong terus, jadi relay adalah satu-satunya laluan yang membolehkan mereka berfungsi. Melumpuhkannya hanya menjimatkan sedikit memori dan menyebabkan sambungan terputus dengan cara yang sukar dikesan.

Apabila satu pelayan tidak lagi mencukupi, relay adalah perkara pertama yang perlu dipindahkan keluar. Relay kendiri berjalan dengan NB_LISTEN_ADDRESS, NB_EXPOSED_ADDRESS, NB_AUTH_SECRET dan NB_ENABLE_STUN. Rahsia kongsi (shared secret) mestilah sama pada relay dan pada pelayan utama, atau klien akan gagal untuk mengesahkan diri kepadanya.

Mod kegagalan dan perkara yang akan anda lihat

Papan pemuka menunjukkan amaran sijil. Traefik tidak memperoleh sijil. Jalankan docker compose logs traefik | grep -i acme. Terdapat dua punca. Sama ada dig +short netbird.example.com belum lagi menghalakan ke VPS ini, atau TCP 80 ditutup di suatu tempat antara Let's Encrypt dan kontena, biasanya pada firewall rangkaian pembekal dan bukannya pada ufw. Selesaikan punca masalah sebelum mencuba semula secara berulang, kerana pengesahan yang gagal dihadkan kadarnya dan anda akan disekat daripada mencuba semula selama satu jam.

Pelanggan menyatakan ia telah bersambung tetapi papan pemuka kosong. Pelanggan mendaftar dengan perkhidmatan hos NetBird, kerana --management-url tiada. Jalankan netbird status --detail dan baca baris Management:, yang menamakan pelayan yang sebenarnya dihubungi. Melihat Management: Connected to https://api.netbird.io:443 bermakna ia pergi ke awan. Jalankan sudo netbird down, kemudian sudo netbird up --management-url https://netbird.example.com sekali lagi.

Setiap peer menunjukkan Connection type: Relayed. Tiada terowong terus dibentuk, jadi semua trafik melintasi VPS anda dan menambah satu hop kependaman. Periksa UDP 3478 pada firewall VPS dan pada firewall pembekal, memandangkan STUN adalah perkara yang membolehkan peer mengetahui alamat awam dan portnya sendiri. netbird status --detail juga mencetak Direct: false dan jenis calon ICE (interactive connectivity establishment) bagi setiap peer, yang menunjukkan sejauh mana percubaan tersebut berjaya. Pada sesetengah rangkaian, relayed adalah satu-satunya hasil yang tersedia dan tiada apa-apa yang salah.

Peer menyertai tetapi tidak dapat mencapai apa-apa. Berada dalam mesh tidak bermakna dua peer boleh bercakap. Dasar akses menentukan perkara itu, dan kumpulan yang tiada dasar dilampirkan tidak mencapai apa-apa. Periksa dasar dalam papan pemuka sebelum anda mula menyahpepijat laluan dan firewall.

netbird status melaporkan masalah daemon. Perkhidmatan tidak berjalan. Gunakan sudo netbird service status dan sudo netbird service start. Log pelanggan berada di /var/log/netbird/client.log. Untuk sebarang perkara yang anda tidak pasti, netbird debug bundle --anonymize --system-info mengumpulkan log, status, laluan, tetapan DNS dan keadaan firewall ke dalam satu arkib.

Sandaran dan naik taraf

Dua perkara merangkumi keseluruhan pemasangan: direktori yang menyimpan docker-compose.yml dan config.yaml, serta Docker volume yang menyimpan pangkalan data dan kunci penyulitan. Lakukan sandaran untuk kedua-duanya secara serentak. config.yaml menyimpan kunci yang menyulitkan data di dalam stor, jadi salinan pangkalan data tanpa kunci tersebut akan menghasilkan data yang tidak boleh dibaca semasa pemulihan.

docker volume ls
docker compose down
sudo tar czf netbird-config.tgz -C ~ netbird
docker run --rm -v netbird_netbird_data:/data -v "$PWD":/backup \
  alpine tar czf /backup/netbird-data.tgz -C /data .
docker compose up -d

Compose meletakkan awalan nama volume dengan direktori projek, jadi volume yang didokumentasikan sebagai netbird_data biasanya muncul sebagai netbird_netbird_data. Jalankan docker volume ls terlebih dahulu dan gunakan nama yang dipaparkan, atau docker run di atas akan gagal dengan mencipta volume kosong secara senyap dan tidak mengarkibkan apa-apa. Simpan arkib di luar VPS. Jika anda sudah mempunyai alat sandaran, restic atau BorgBackup boleh mengendalikan bahagian luar tapak (offsite).

Naik taraf pelayan dilakukan dengan menarik imej (pull) dan mencipta semula (recreate):

docker compose pull
docker compose up -d
docker compose ps

Sebelum anda bergantung pada langkah tersebut, jalankan docker compose config | grep image:. Sebarang tag yang membaca latest harus ditetapkan kepada versi tertentu, atas sebab yang sama anda menetapkan skrip pemasangan: anda perlu tahu apa yang sedang berjalan, dan anda perlukan versi untuk kembali semula apabila naik taraf tidak berfungsi dengan betul. Pelanggan melakukan naik taraf melalui pengurus pakej yang digunakan untuk memasang mereka.

FAQ

Adakah saya memerlukan penyedia identiti sendiri untuk mengehos NetBird secara kendiri?

Tidak. Keluaran semasa menyertakan stor pengguna terbina dalam, jadi anda boleh mencipta akaun pentadbir pertama dalam pelayar di https://netbird.example.com dan menambah pengguna daripada papan pemuka selepas itu. Penyedia OIDC luaran adalah pilihan dan boleh ditambah kemudian dengan empat nilai: nama, client ID, client secret dan issuer. Panduan yang menyarankan anda untuk menggunakan Zitadel atau Keycloak sebelum NetBird menerangkan persediaan yang tidak lagi diperlukan, dan mengikutinya akan menyebabkan anda perlu menjalankan satu servis tambahan yang tidak perlu.

Mengapa semua peer saya menunjukkan Connection type: Relayed?

Sambungan terus tidak terbentuk, jadi trafik melalui relay pada VPS anda. Punca biasa ialah port UDP 3478 disekat, iaitu port STUN yang digunakan oleh peer untuk menemui alamat dan port awam mereka sendiri. Buka port tersebut pada firewall VPS dan pada firewall rangkaian berasingan penyedia anda, kemudian jalankan netbird status --detail sekali lagi dan baca baris Direct:. Pada rangkaian yang NAT-nya menetapkan port berbeza bagi setiap destinasi, relayed adalah satu-satunya hasil yang mungkin dan tiada apa-apa yang tersalah konfigurasi.

Pelanggan saya telah bersambung tetapi papan pemuka tidak menunjukkan sebarang peer. Apa yang berlaku?

Pelanggan tersebut mendaftar dengan servis hos NetBird dan bukannya pelayan anda, yang berlaku apabila --management-url tidak disertakan. netbird status --detail mencetak pelayan yang sedang berhubung dengannya pada baris Management:, jadi nilai seperti https://api.netbird.io:443 mengesahkannya. Jalankan sudo netbird down, kemudian sudo netbird up --management-url https://netbird.example.com, dan peer tersebut akan muncul dalam papan pemuka anda.

Bagaimanakah NetBird yang dihoskan sendiri berbeza daripada Headscale?

Kedua-duanya menggantikan pelayan kawalan berhos dengan pelayan yang anda jalankan sendiri. Headscale hanyalah satah kawalan: anda menguruskannya dengan arahan headscale dan fail konfigurasi, tiada konsol web rasmi, dan ia memacu pelanggan Tailscale rasmi. NetBird membekalkan pelanggan, papan pemuka pentadbir dan integrasi penyedia identiti sendiri dalam tindanan yang sama. Headscale lebih ringan untuk dijalankan dan menyimpan statusnya dalam fail. NetBird lebih mudah diberikan kepada pengguna yang tidak menggunakan terminal.

Berapakah saiz VPS yang diperlukan oleh pelayan NetBird yang dihoskan sendiri?

Minimum yang didokumenkan ialah 1 CPU dan 2 GB memori, dan 2 GB adalah angka yang perlu dibeli. Had praktikal telah turun kepada sekitar 1 GB dalam keluaran terkini kerana penyedia identiti kini dibenamkan dan bukannya penggunaan berasingan. Tolak servis proksi dan CrowdSec pilihan semasa pemasangan, dan kekal pada stor SQLite lalai sehingga anda benar-benar memerlukan PostgreSQL.