Skip to content

[Bug] Subnet routes are pushed to clients when not in allowed ACL #2365

Closed
@Nathanael-Mtd

Description

@Nathanael-Mtd

Is this a support request?

  • This is not a support request

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

When we allow only one route from subnet router node for clients, all routes from that subnet router nodes are pushed to clients.

Expected Behavior

Only push routes allowed by ACLs, not every subnet node router routes.

Steps To Reproduce

  1. Add a node and announce multiple subnet (example : 10.10.10.0/24, 10.10.11.0/24, 10.10.12.0/24)
  2. Add ACL to only allow one subnet 10.10.12.0/24 for a client
  3. Check routing table from client (ip route show table 52 on linux) and all routes should appear

Environment

- OS: Ubuntu 24.04 for Headscale server and clients (but same issue for Windows clients)
- Headscale version: 0.24.0
- Tailscale version: 1.78.1

Runtime environment

  • Headscale is behind a (reverse) proxy
  • Headscale runs in a container

Anything else?

Netmap dump from the client with tag:headscale (cleaned and redacted for some parts) : netmap-hs.json

ACL config (important parts) : acl-redacted.json

Routes output :

user@ks-headscale:~$ ip route show table 52
10.108.0.0/24 dev tailscale0
10.108.1.0/24 dev tailscale0
10.108.2.0/24 dev tailscale0
REDACTED.66 dev tailscale0
REDACTED.67 dev tailscale0
100.64.0.1 dev tailscale0
100.64.0.4 dev tailscale0
100.64.0.9 dev tailscale0
100.64.0.11 dev tailscale0
100.64.0.16 dev tailscale0
100.64.0.27 dev tailscale0
100.64.0.68 dev tailscale0
100.100.100.100 dev tailscale0

The 5 first routes you can see is the ones announced from subnet router node, ACL allow only trafic to REDACTED.67 but other routes are present.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions