[Bug]: Predefined traffic sets default route on macOS

Offen
#1,331 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
52/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
rust
Bereich
networking

Rechercherichtung

Start by tracing how the macOS client configures routes when connecting with predefined traffic; the issue identifies netstat -rn as the way to observe the result but names no source files or tests. Compare the routes before and after connecting and investigate why a default route appears. Done when predefined traffic installs only the location’s configured routes and leaves the default route unchanged.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug
Summary

When choosing predefined traffic and connecting to the VPN, a default route is set (visible via netstat -rn).
We assumed that predefined traffic only routes the subnets defined in our location. A customer who relies on Defguard can't work properly, because his other active WireGuard tunnels can't function while Defguard hijacks the traffic.

Steps to reproduce
  1. Check routes via netstat -rn (especially default routes).
  2. Connect via predefined traffic.
  3. Check routes via netstat -rn again.
  4. There is now a default route on the Defguard interface.
Expected behavior

No default route is set, only the routes defined in the location for predefined traffic.

Workaround by a customer: Create a VM on macOS, install the Defguard client in it and use the VM as a router. Only allow the routes that are required for using Defguard.

Actual behavior

A default route is set, which prevents customers and potentially colleagues from using multiple VPNs at the same time as Defguard.

Defguard version

All version on the latest 2.1 stable build

Environment details

macOS (any tested version after 2024)

Deployment / install method

Docker / Docker Compose

Relevant logs / output

Relevant configuration (redacted)

Vorherrschende Sprache
Rust
Sterne
373
Forks
42
Ø Merge
20 Std. 54 Min.
Gemergte PRs (30 T.)
51

Entwicklungsumgebung

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus DefGuard/client

Alle Issues in DefGuard/client

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.