Default isolation of namespaces via config parameter #342

Closed
opened 2025-12-29 01:27:21 +01:00 by adam · 5 comments
Owner

Originally created by @EvilBlood on GitHub (Oct 1, 2022).

Hello everyone, I wanted to ask if there is a possibility of isolating namespaces via the config file, e.g. 'isolate_namespaces_default = true' which could be overridden using ACL.

Example UserA only sees his devices and UserB only sees his devices, but it is possible that a device from UserA is released for UserB via ACL.

My purpose for this feature is: I share a server with a few friends and we all want to switch our previous VPN solution to Headscale. For this we use an oidc backend which we also use for services. Currently I have to build a separate rule for each user in the ACL so that it works. It would be nice if there was the possibility that every user could do everything within his namespace by default without me creating a rule for him.

Originally created by @EvilBlood on GitHub (Oct 1, 2022). Hello everyone, I wanted to ask if there is a possibility of isolating namespaces via the config file, e.g. 'isolate_namespaces_default = true' which could be overridden using ACL. Example UserA only sees his devices and UserB only sees his devices, but it is possible that a device from UserA is released for UserB via ACL. My purpose for this feature is: I share a server with a few friends and we all want to switch our previous VPN solution to Headscale. For this we use an oidc backend which we also use for services. Currently I have to build a separate rule for each user in the ACL so that it works. It would be nice if there was the possibility that every user could do everything within his namespace by default without me creating a rule for him.
adam added the enhancement label 2025-12-29 01:27:21 +01:00
adam closed this issue 2025-12-29 01:27:21 +01:00
Author
Owner

@iSchluff commented on GitHub (Nov 9, 2022):

I think the proper solution would be implementing tailscale autogroups https://tailscale.com/kb/1018/acls/#autogroups in headscale.
Then you could just express it in a simple ACL definition

@iSchluff commented on GitHub (Nov 9, 2022): I think the proper solution would be implementing tailscale autogroups https://tailscale.com/kb/1018/acls/#autogroups in headscale. Then you could just express it in a simple ACL definition
Author
Owner

@juanfont commented on GitHub (May 10, 2023):

Please use ACLs.

@juanfont commented on GitHub (May 10, 2023): Please use ACLs.
Author
Owner

@EvilBlood commented on GitHub (May 10, 2023):

I would like to use the ACLs but unfortunately the autogroup function does not work yet. An example would be:
{
"action": "accept",
"src": ["autogroup:members"],
"dst": ["autogroup:self"],
}

@EvilBlood commented on GitHub (May 10, 2023): I would like to use the ACLs but unfortunately the autogroup function does not work yet. An example would be: { "action": "accept", "src": ["autogroup:members"], "dst": ["autogroup:self"], }
Author
Owner

@juanfont commented on GitHub (May 10, 2023):

Can you open a dedicated issue?

On Wed, May 10, 2023, 19:26 EvilBlood @.***> wrote:

I would like to use the ACLs but unfortunately the autogroup function does
not work yet. An example would be:
{
"action": "accept",
"src": ["autogroup:members"],
"dst": ["autogroup:self"],
}


Reply to this email directly, view it on GitHub
https://github.com/juanfont/headscale/issues/841#issuecomment-1542561080,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABMGQ2M5E2YBWZSYILUBMLXFPFSZANCNFSM6AAAAAAQ2LNVQ4
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

@juanfont commented on GitHub (May 10, 2023): Can you open a dedicated issue? On Wed, May 10, 2023, 19:26 EvilBlood ***@***.***> wrote: > I would like to use the ACLs but unfortunately the autogroup function does > not work yet. An example would be: > { > "action": "accept", > "src": ["autogroup:members"], > "dst": ["autogroup:self"], > } > > — > Reply to this email directly, view it on GitHub > <https://github.com/juanfont/headscale/issues/841#issuecomment-1542561080>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AABMGQ2M5E2YBWZSYILUBMLXFPFSZANCNFSM6AAAAAAQ2LNVQ4> > . > You are receiving this because you modified the open/close state.Message > ID: ***@***.***> >
Author
Owner

@Mansarde commented on GitHub (May 11, 2023):

I would like to use the ACLs but unfortunately the autogroup function does not work yet. An example would be: { "action": "accept", "src": ["autogroup:members"], "dst": ["autogroup:self"], }

You have to add the port to the dst, like so: "dst": ["autogroup:self:*"]
Then every member of your tailnet should be able to access their own devices.

@Mansarde commented on GitHub (May 11, 2023): > I would like to use the ACLs but unfortunately the autogroup function does not work yet. An example would be: { "action": "accept", "src": ["autogroup:members"], "dst": ["autogroup:self"], } You have to add the port to the `dst`, like so: `"dst": ["autogroup:self:*"]` Then every member of your tailnet should be able to access their own devices.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#342