Troubleshooting¶
Common issues and solutions for WireBuddy.
Connection Issues¶
Peer Can't Connect to VPN¶
Symptoms: WireGuard client shows "Inactive" or can't establish handshake.
Solutions:
-
Verify server interface is running:
-
Check firewall allows UDP traffic:
-
Verify endpoint is reachable:
-
Check time sync: WireGuard requires accurate clocks on both ends:
-
Verify keys match: Regenerate peer config if unsure
No Internet Access Through VPN¶
Symptoms: VPN connects but no internet access.
Solutions:
-
Verify IP forwarding is enabled:
-
Check NAT/masquerading:
-
Add NAT rule if missing:
-
Verify DNS is set correctly in client config
-
Check AllowedIPs includes
0.0.0.0/0
DNS Issues¶
DNS Queries Not Being Blocked¶
Solutions:
-
Verify client is using WireBuddy DNS:
-
Check blocklists are loaded:
- Navigate to DNS → Statistics
-
Verify "Blocked Domains" count > 0
-
Update blocklists:
-
Settings → DNS → Update Blocklists
-
Clear client DNS cache:
DNS Resolution Slow¶
Solutions:
- Increase cache size: Settings → DNS → Cache Size
- Enable prefetching: Settings → DNS → Performance
- Check upstream DNS latency:
- Switch to faster upstream resolvers
Performance Issues¶
High CPU Usage¶
Solutions:
-
Check for crypto workload:
-
Reduce Unbound thread count: Settings → DNS → Performance
- Check for runaway processes:
High Memory Usage¶
Solutions:
- Reduce DNS cache size: Settings → DNS → Cache
- Limit TSDB retention: Settings → General → Metrics Retention
- Check for memory leaks:
Docker Issues¶
Container Won't Start¶
Solutions:
-
Check logs:
-
Verify network mode:
-
Check required capabilities:
-
Verify secret key is set:
Permission Denied Errors¶
Solutions:
-
Fix data directory permissions:
-
Check SELinux context:
Database Issues¶
Database Locked¶
Symptoms: sqlite3.OperationalError: database is locked
Solutions:
-
Check for multiple processes:
-
Restart WireBuddy:
-
Verify no backup process is running
Corrupted Database¶
Symptoms: Errors reading/writing database
Solutions:
-
Check database integrity:
-
Restore from backup:
-
Rebuild database (last resort):
Authentication Issues¶
Forgot Admin Password¶
Solutions:
-
Reset via CLI:
-
Or reset database (nuclear option)
MFA Token Not Working¶
Solutions:
-
Verify time sync:
-
Use recovery codes if available
- Disable MFA via database:
Passkey Not Working¶
Solutions:
- Verify browser support: Chrome 109+, Firefox 119+, Safari 16+
- Try different authenticator: Security key vs. platform authenticator
- Re-register passkey
- Fall back to password + TOTP
Web Interface Issues¶
502 Bad Gateway¶
Solutions:
-
Check WireBuddy is running:
-
Verify port 8000 is listening:
-
Check reverse proxy config
- Review WireBuddy logs
CSRF Token Errors¶
Solutions:
- Clear browser cookies
- Verify reverse proxy forwards headers:
X-Forwarded-For,X-Real-IP - Check
WIREBUDDY_TRUST_PROXYsetting
Session Expired Frequently¶
Solutions:
- Increase session timeout: Settings → Security → Session Timeout
- Check browser isn't blocking cookies
- Verify reverse proxy preserves sessions
Monitoring Issues¶
Traffic Stats Not Showing¶
Solutions:
-
Enable conntrack accounting:
-
Verify conntrack is loaded:
-
Restart WireBuddy:
GeoIP Not Working¶
Solutions:
-
Verify GeoLite2 databases exist:
-
Update GeoIP databases: Settings → General → Update GeoIP
- Check for errors in logs:
Getting Help¶
If you can't resolve your issue:
-
Check logs:
-
Enable debug logging:
-
Search existing issues: GitHub Issues
- Open a new issue: Include:
- WireBuddy version
- Docker version
- Host OS and version
- Relevant logs
-
Steps to reproduce
-
Join community discussions