NetBird client on Linux
Linux-specific steps for the NetBird client. For everything cross-platform (client status, the debug bundle, GRPC and ICE debugging, login failures, and reaching resources), start from Troubleshooting client issues.
Set the log level permanently
The temporary log level resets when the daemon restarts. To make it permanent on Linux, use one of the following.
systemd
The default systemd unit reads environment variables from /etc/sysconfig/netbird:
sudo mkdir -p /etc/sysconfig
echo 'NB_LOG_LEVEL=debug' | sudo tee -a /etc/sysconfig/netbird
sudo systemctl restart netbird
Other init systems
sudo netbird service stop
sudo netbird service uninstall
sudo netbird service install --log-level debug # or trace
sudo netbird service start
Docker
Set NB_LOG_LEVEL=debug on the container:
docker run --rm --name PEER_NAME --hostname PEER_NAME --cap-add=NET_ADMIN --cap-add=SYS_ADMIN --cap-add=SYS_RESOURCE -d \
-e NB_SETUP_KEY=<SETUP KEY> -e NB_LOG_LEVEL=debug -v netbird-client:/var/lib/netbird netbirdio/netbird:latest
Host-based firewall
NetBird manages its own rules, but UFW, firewalld, or endpoint security software can conflict and silently drop traffic. See Ports & Firewalls: Host-based firewalls for UFW and firewalld symptoms, remediation, and diagnostic commands.

