tailscale: Fix preferred_by matching all addresses with exit node

Exit node peers carry default routes (0.0.0.0/0, ::/0) in their allowed
IPs, so including them in routePrefixes made PreferredAddress report
every address as preferred.
This commit is contained in:
世界
2026-08-04 22:17:04 +08:00
parent 3d85cbd7f0
commit cc1c891400

View File

@@ -834,6 +834,9 @@ func (t *Endpoint) onReconfig(cfg *wgcfg.Config, routerCfg *router.Config, dnsCf
var builder netipx.IPSetBuilder var builder netipx.IPSetBuilder
for _, peer := range cfg.Peers { for _, peer := range cfg.Peers {
for _, allowedIP := range peer.AllowedIPs { for _, allowedIP := range peer.AllowedIPs {
if allowedIP.Bits() == 0 {
continue
}
builder.AddPrefix(allowedIP) builder.AddPrefix(allowedIP)
} }
} }