NetBird combines zero-configuration peer-to-peer networking with a centralized access control layer. This platform allows you to build a secure private network for professional or personal use while bypassing the complexities typically associated with traditional VPNs.
Technically, NetBird functions as an overlay network built on top of WireGuard. It automatically establishes encrypted tunnels between devices, removing the need to open ports, manage convoluted firewall rules, or maintain a dedicated VPN gateway. Access policies remain granular and are managed through a single web console, ensuring secure remote access remains functional regardless of your underlying infrastructure.
curl -fsSL https://pkgs.netbird.io/install.sh | sh
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg -y
curl -sSL https://pkgs.netbird.io/debian/public.key | sudo gpg --dearmor --output /usr/share/keyrings/netbird-archive-keyring.gpg
echo 'deb [signed-by=/usr/share/keyrings/netbird-archive-keyring.gpg] https://pkgs.netbird.io/debian stable main' | sudo tee /etc/apt/sources.list.d/netbird.list
sudo apt-get update
# For the CLI only:
sudo apt-get install netbird
# For CLI and GUI:
sudo apt-get install netbird-ui
sudo tee /etc/yum.repos.d/netbird.repo <<EOF
[netbird]
name=netbird
baseurl=https://pkgs.netbird.io/yum/
enabled=1
gpgcheck=0
gpgkey=https://pkgs.netbird.io/yum/repodata/repomd.xml.key
repo_gpgcheck=1
EOF
# For the CLI only:
sudo yum install netbird
# For CLI and GUI:
sudo yum install libappindicator-gtk3 libappindicator netbird-ui
# For Fedora 40 or earlier / Amazon Linux 2023 (DNF 4):
sudo dnf config-manager --add-repo /etc/yum.repos.d/netbird.repo
# For Fedora 41 or later (DNF 5):
sudo dnf config-manager addrepo --from-repofile=/etc/yum.repos.d/netbird.repo
# For the CLI only:
sudo dnf install netbird
# For CLI and GUI:
sudo dnf install libappindicator-gtk3 libappindicator netbird-ui
Note: On recent GNOME versions, you may require the AppIndicator extension:
sudo dnf install gnome-shell-extension-appindicator
sudo gnome-extensions enable [email protected]
Under X11, restart GNOME Shell by pressing Alt+F2, typing r, and hitting Enter. Wayland users must log out and back in.
sudo zypper addrepo https://pkgs.netbird.io/yum/ netbird
# For MicroOS (immutable with SELinux):
transactional-update pkg in netbird
reboot
# For Tumbleweed or Leap:
zypper in netbird
configuration.nix:{ config, pkgs, ... }:
{
services.netbird.enable = true; # Enables the service and CLI
environment.systemPackages = [ pkgs.netbird-ui ]; # Optional GUI
}
sudo nixos-rebuild switch
curl -L -o ./netbird_<VERSION>.tar.gz https://github.com/netbirdio/netbird/releases/download/v<VERSION>/netbird_<VERSION>_<OS>_<Arch>.tar.gz
Replace VERSION, OS (linux/darwin/windows), and Arch with the values corresponding to your system.
tar xzf ./netbird_<VERSION>.tar.gz
sudo mv netbird /usr/bin/netbird
sudo chown root:root /usr/bin/netbird
sudo chmod +x /usr/bin/netbird
sudo netbird service install
sudo netbird service start
If installed via a package manager, use the standard system update commands. For manual script installations, use:
netbird down
curl -fsSLO https://pkgs.netbird.io/install.sh
chmod +x install.sh
./install.sh --update
netbird up
C:\Program Files\NetBird and registers a background daemon service.curl -fsSL https://pkgs.netbird.io/install.sh | sh
.pkg file. The application is placed in /Applications and the daemon service is configured automatically.sudo netbird service stop
sudo netbird service uninstall
brew unlink netbird
# For the CLI only:
brew install netbirdio/tap/netbird
# For CLI and GUI:
brew install --cask netbirdio/tap/netbird-ui
For CLI-only installations, initialize the service:
sudo netbird service install
sudo netbird service start
Define your NB_SETUP_KEY and execute:
docker run --rm --name netbird-client --hostname netbird-peer --cap-add=NET_ADMIN --cap-add=SYS_ADMIN --cap-add=SYS_RESOURCE -d -e NB_SETUP_KEY=<SETUP_KEY> -v netbird-client:/etc/netbird netbirdio/netbird:latest
services:
netbird:
container_name: netbird
hostname: <HOSTNAME>
cap_add:
- NET_ADMIN
- SYS_ADMIN
- SYS_RESOURCE
network_mode: host
environment:
- NB_SETUP_KEY=<SETUP_KEY>
volumes:
- netbird-client:/etc/netbird
image: netbirdio/netbird:latest
volumes:
netbird-client:
name: netbird-client
In this example, we will connect a MacBook and an AWS EC2 Linux instance.
Install and connect your workstation:
netbird up in your terminal.Connect the EC2 Node:
curl -fsSL https://pkgs.netbird.io/install.sh | sh
netbird up --setup-key <YOUR_SETUP_KEY>
In the Peers section of the dashboard, both devices should now be listed as online. Verify the peer-to-peer connection via ping:
ping ec2-node.netbird.cloudping macbook.netbird.cloudpion/ice library) to discover potential connection paths for peer-to-peer links.
Open English Dictionary: 25,000+ LLM-Refined Word Entries for Deeper Chinese Understanding
DupCheck: Open-Source Image Duplication & Tampering Detection (Python)
What to Eat: AI Recipes and Meal Planning You Can Self-Host
Sunshine Streaming Host Specs: What Hardware You Actually Need
Web Codegen Scorer: Test AI-Generated Web Code Quality Before You Ship
Embedding Atlas: Interactive Visualization for Large-Scale Embeddings
MonkeyCode: Secure Private AI Coding with Integrated Security Scanning & Admin Controls
MemoryOS: Equip AI Agents with Persistent Recall via a Memory Hierarchy
MaskSearch: Training LLMs for Expert-Level Search Capabilities
Deep Search Lighting: Lightweight Web Search for LLMs
n8n Autoscaling: Scaling Workers via Redis Queue Without Kubernetes
How to Build a Meeting Prep Agent with Tavily and Google Calendar