Linux: endpoint routes via default gateway override existing routes
Les mainteneurs répondent en général sous 1 jour
@moubctez y travaille déjà.
Depuis le 26/10/2026.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 53/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- rust
- Domaine
- networking
Piste de recherche
Start by reading configure_peer_routing(), configure_endpoints(), and setup_default_route in the Linux routing code, then compare endpoint routing behavior on BSD/macOS and the 0.11.x implementation. Trace route installation and interface teardown on each platform; done means Linux adds no endpoint routes, other platforms add them only for peers with a default allowed IP, existing routes are preserved, and endpoint routes are removed on teardown.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description
This is a regression related to https://github.com/DefGuard/wireguard-rs/pull/142
configure_peer_routing on Linux calls configure_endpoints() for every peer that has an endpoint. For each one it installs <endpoint>/32 via <default gateway> using NLM_F_REPLACE in effect overwriting the pre-existing route for a given IP.
This breaks setups where one tunnel's endpoint is reachable only through another tunnel, because the secondary tunnel's gateway IP is incorrectly routed through the default gateway.
In 0.11.x Linux never added endpoint routes. BSD/macOS added them only when the peer's allowed IPs contained a default route.
The endpoint routes also don't appear to be removed when the interface is removed on Linux.
Proposed changes:
- Linux: no endpoint routes. The fwmark rules from setup_default_route already stop WireGuard's own packets from looping.
- Other platforms: add an endpoint route only when the peer's allowed IPs contain a default route, as in 0.11.x.
- Never replace an existing route (use NLM_F_EXCL instead of NLM_F_REPLACE), and remove the endpoint routes on teardown.
- Langage dominant
- Rust
- Étoiles
- 371
- Forks
- 42
- Merge moyen
- 1 j 2 h
- PR mergées (30 j)
- 55
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de DefGuard/client
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
-
Change wording on the configure missing MFA factors flowPeut-être pris @filipslezaklab l’a pris il y a 1 jour. Ouvertedesign
DefGuard/client#1320 · 2 personnes assignées ·
Les mainteneurs répondent en général sous 1 jour
-
Auto-update for Defguard DesktopOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
Les mainteneurs répondent en général sous 1 jour
-
feature
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
Les mainteneurs répondent en général sous 1 jour
-
[Feature]: Optional automatic VPN disconnect when connected to the corporate networkPeut-être pris @teon l’a pris il y a 4 jours. Ouvertefeature
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
DefGuard/client#1309 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de DefGuard/client
Issues similaires
-
docs(metrics): replace stale src/metrics.rs line anchors in dashboard-metrics.md with symbol namesOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
ci-cd desktop size:low telemetry-improvement telemetry-round-1
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
vfarcic/dot-agent-deck#2079 ·
Les mainteneurs répondent en général sous 1 jour
-
修改文件名时主键盘上的数字无法输入Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
qingjian-team/qingjian#894 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
rubys/roundhouse#1757 ·
-
[Feature] 侧边栏Agent HTTP请求UA适配Ouverteenhancement user-priority/P3
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
t8y2/dbx#14196 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour