Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add --verify-clients environment variable to docker version #740

Open
vampywiz17 opened this issue Aug 15, 2022 · 13 comments
Open

add --verify-clients environment variable to docker version #740

vampywiz17 opened this issue Aug 15, 2022 · 13 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed no-stale-bot

Comments

@vampywiz17
Copy link

Feature request

PLease add option to set private option to embedded DERP server in docker container.

@vampywiz17 vampywiz17 added the enhancement New feature or request label Aug 15, 2022
@kradalby
Copy link
Collaborator

kradalby commented Sep 8, 2022

Hi, can you please try to reword and explain this feature request?

Edit: I think I understand, We would be very happy to take a PR for this, but we do not officially support the docker setup, so it will not be prioritised for now.

@kradalby kradalby added help wanted Extra attention is needed good first issue Good for newcomers labels Sep 8, 2022
@christian-heusel
Copy link
Contributor

.... but we do not officially support the docker setup, so it will not be prioritised for now.

@kradalby this is a general feature request, not specific for docker 😊
See https://tailscale.com/kb/1118/custom-derp-servers/#optional-restricting-client-access-to-your-derp-node for reference

@joejose97
Copy link

@juanfont

The tailscale derp server gets the valid client list by sending a GET request to http://local-tailscaled.sock/localapi/v0/status
I'm thinking of emulating what the tailscale client does by creating a http listener on the said socket.

If this is acceptable, I'll open a PR with the same.

@icb-
Copy link

icb- commented Oct 2, 2023

Emulating the tailscale control socket API doesn't sound very straightforward, and would come with some downsides (like not being able to easily run tailscale on the headscale system).

It may be better to see about factoring out how the DERP server validates node keys (https://github.com/tailscale/tailscale/blob/main/derp/derp_server.go#L1126-L1142) and make it possible to pull those from headscale rather than the tailscale client socket.

Maybe passing a Verifier function, rather than setting a boolean for whether to verify?

I don't know if that sort of change could be made in a way that would be accepted upstream, or if it would mean maintaining a fork of the derp server.

@mritd
Copy link

mritd commented Oct 21, 2023

@icb- After reading the derper code, it is feasible to simulate the API; I have created a branch and tested it; derper successfully completed the verification of the Client.

image
  • 1、Derper's verification of its client is mainly completed through the node public key in the status struct.
  • 2、Node public key is obtained from local socket api status request
  • 3、We only need to simulate a local status api and return the public keys of all nodes.
  • 4、After setting up client authentication, derper will automatically connect to this API to obtain the public keys of all nodes.

Copy link
Contributor

This issue is stale because it has been open for 90 days with no activity.

@github-actions github-actions bot added the stale label Jan 20, 2024
@christian-heusel
Copy link
Contributor

christian-heusel commented Jan 20, 2024

This is a feature request, therefore the stale bot is a bit out of place here 😄

@github-actions github-actions bot removed the stale label Jan 21, 2024
Copy link
Contributor

This issue is stale because it has been open for 90 days with no activity.

@github-actions github-actions bot added the stale label Apr 21, 2024
@6ixfalls
Copy link
Contributor

not stale

@github-actions github-actions bot removed the stale label Apr 22, 2024
@huanshiwushuang
Copy link

This is a very important feature and we look forward to implementing it soon

Copy link
Contributor

This issue is stale because it has been open for 90 days with no activity.

@github-actions github-actions bot added the stale label Sep 20, 2024
@cavoirom
Copy link

not stale

@viveksupe
Copy link

viveksupe commented Jan 18, 2025

Given now verify urls are implemented in headscale --verify-client-url.

#2046

We should enable this option for embedded derp server to use those endpoints either as default or via explicit config.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed no-stale-bot
Projects
None yet
Development

No branches or pull requests

11 participants