Closed
Description
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
- Add a node and announce multiple subnet (example : 10.10.10.0/24, 10.10.11.0/24, 10.10.12.0/24)
- Add ACL to only allow one subnet 10.10.12.0/24 for a client
- 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.