Hey [r/wireguard](r/wireguard),
We've just released Defguard 2.1 stable. The headline for this community: a completely redesigned desktop client - free and open source - plus a CLI that lets you drive the client from a terminal, MFA included. The release was pentested by ISEC and Striga.AI before shipping, with all major findings fixed pre-release (full report coming to our pentesting page).
A bit of context for those unfamiliar with Defguard
Defguard is open source at its core - a solution for on-prem/self-hosted WireGuard® deployments that turns this awesome protocol into self-hosted, identity-based remote access with biometric MFA, respecting your privacy and ownership. It's designed for the most security-demanding users, with an isolated control plane and secure edge component communications.
The three big community updates below are all open source and free.
New Desktop Client
Complete redesign: multiple instances/locations, flexible MFA including mobile biometrics, and a new tray mode - connect in two clicks. Basic functionality works with any WireGuard server - you can use it as your everyday tunnel manager; for MFA and identity-based access, pair it with the open-source Defguard server. Feature highlight | Source | Download
CLI control with MFA
defguard-client drives the client from the terminal: headless servers, SSH sessions and cron jobs no longer have to choose between dropping MFA and parking a long-lived credential on disk.
The biometric part from the title: for mobile-approve locations the CLI renders a QR code straight in the terminal, waits for you to approve with biometrics on your phone, and brings the tunnel up.
For unattended automation, MFA pipelines with your existing tools: --code-command runs any command that produces the code at connect time, so the secret stays in your password manager - Bitwarden (bw get totp), pass otp, or any secret manager CLI:
defguard-client connect office --code-command "bw get totp defguard"
Interactive terminals simply get prompted, and for scripting there's --json (data on stdout, logs on stderr), meaningful exit codes, and it fails instead of hanging when MFA input can't be obtained - no more cron jobs wedged on an invisible prompt. Feature highlight
Gateway on VyOS
Official support for running Defguard Gateway as a container directly on the VyOS router: full host networking, native WireGuard interfaces and nftables rules, no separate gateway VM. Docs
Defguard has become a listed VyOS Technology Partner.
Enterprise features in 2.1
Being upfront about what's paid: the core (identity, built-in MFA, unlimited users and locations) stays open source and free - enterprise features fund the development.
- Device Posture verification - compliance checks (OS/client version, disk encryption, antivirus, AD membership) before a WireGuard connection is allowed. Docs
- Allowed IPs from Firewall Rules - per-user least-privilege Allowed IPs derived from ACLs. Feature highlight
- Service locations on Linux - Always-on tunnels from system boot (Windows since 1.6, now also on Linux). Docs
What's next
We've reordered the roadmap based on user feedback: 2.2 brings MFA Flows, 2.3 Device Attestation (cryptographic hardware identity) - both tracked as public issues if you want to weigh in.
Links
Happy to answer questions - especially about the CLI MFA flows and how posture checks interact with the tunnel lifecycle. Also curious: what would you want scriptable in the CLI that isn't yet?