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
FR: Support custom records in MagicDNS #1543
Comments
|
I would love to see as well support for an internal |
|
This feature will easily customize the DNS of the home server , just use tailscale 😀
|
|
0debb99 added client support for a new ExtraRecords field. It's not yet supported server-side. |
|
Sorry to be this person, but: Any news on this @bradfitz ? It's awkward that it has been partially implemented for 7 months. |
Well, it was "partially implemented" because we needed the part we implemented (and now use) for the LetsEncrypt support. Exposing more of it for this has a ton of product & security considerations and interacts often surprisingly with various DNS stacks on different platforms, which will increase our support burden if we ship something that seems to work sometimes but not on all platforms in all configs. Example of problems:
We're leaning towards shipping this soon but with a bunch of limitations to start like:
Then we probably won't box ourselves into a corner and have to remove functionality later and can add more of this when other parts are ready. The real problem here is that this feature means a number of things to different people and we have to make sure we don't try to do all of it at once, poorly. |
|
@bradfitz any news about the release date for the limited version of this feature? Having Tailscale-integrated DNS is a great feature, but a little bit of flexibility would be very welcome. |
|
|
Thanks, I didn't mean to push, merely hoping to learn of your plans with this feature. |
|
@DentonGentry Hello. I understand the meaning of the P2 and T0 labels, but I'm not sure I get the L1 one. Does it describe the likelihood of the issue to get fixed? oh, or does it give an indication of the number of other issues similar to this one? And I have a question about the feature itself that would address this issue: |
|
It is an estimate of the number of sites which would use this feature request. Given the number of 👍 since the label was applied, I changed the assessment. I expect an initial way to make the functionality available will be a new field in the policy JSON in https://login.tailscale.com/admin/acls. There is an API for that: https://github.com/tailscale/tailscale/blob/main/api.md#tailnet-acl-post |
|
I'm currently have jobs on my machine's that get my If tailscale's dns supported arbitrary records, I could cut out the ddns middle man since tailscale already has records pointing to my nodes. |
…ap 41] If ExtraRecords (Hosts) are specified without a corresponding split DNS route and global DNS is specified, then program the host OS DNS to use 100.100.100.100 so it can blend in those ExtraRecords. Updates #1543 Change-Id: If49014a5ecc8e38978ff26e54d1f74fe8dbbb9bc Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
…ap 41] If ExtraRecords (Hosts) are specified without a corresponding split DNS route and global DNS is specified, then program the host OS DNS to use 100.100.100.100 so it can blend in those ExtraRecords. Updates #1543 Change-Id: If49014a5ecc8e38978ff26e54d1f74fe8dbbb9bc Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
…ap 41] If ExtraRecords (Hosts) are specified without a corresponding split DNS route and global DNS is specified, then program the host OS DNS to use 100.100.100.100 so it can blend in those ExtraRecords. Updates #1543 Change-Id: If49014a5ecc8e38978ff26e54d1f74fe8dbbb9bc Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
|
Following, this would really help our tailscale adoption. |
|
Just thinking out loud for the "means many things to different people" aspect notes above, a possible minimal first step is to only allow subdomains for an existing host on the tailnet. E.g. You could configure specific subdomains underneath that host: Unclear how big of a leap |
|
As an interesting prior art to look at, there's dnscrypt_proxy's cloaking feature, which is what I am using at the moment and that I'd hope to replace with this. https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Cloaking |
|
Sorry for piling on, but I tried to get my local server up and running with DNSCrypt + tailscale and failed miserably. The main drawback of this approach is: You cannot get proper HTTPS support for the tailscale subdomains, as MagicDNS will kill off trying to access any subdomains... Hope it helps someone :) |
|
Hope it is not obnoxious to specify a use case for this I don't really see yet described in the comments - I'd love to register subdomains of a host in my tailnet as @danjl1100 describes above to basically solve https://caddy.community/t/the-subfolder-problem-or-why-cant-i-reverse-proxy-my-app-into-a-subfolder/8575 when following the pattern from https://tailscale.com/kb/1166/vscode-ipad/ for other purposes (in my case, making HashiCorp Vault run inside a tailnet with more than one thing running on that host). I want magicdns cert generation to fail unless I have a host configured at some domain - but be able to add at least a few subdomain aliases to each host. |
|
I also tried using NextDNS integration to solve the subdomain issue, and failed miserably. In the nextdns context: why can't we use that as the resolver for everything and then fall back to use 100.100.100.100 for tailnet domains? |
|
Here is how I solved a similar issue using a service kind of like NextDNS, it required additional software but it runs seamlessly in the background.
All internal domains get routed to Tailscale DNS, while everything else uses my Control D resolver. If issue #7946 gets done, can probably skip using the software. |
|
Just adding my two cents in case it helps. I would like this feature. My use case is I want multiple dns records to point to a single machine, basically, aliases for machines. The reason is, I have a single machine that is hosting multiple things. I can use a reverse proxy such as caddy to proxy to different apps based on domain. Without this feature, I have to use public cnames, or host my own internal dns server. |
My usecase is similar. Running an nginx based reverse proxy with SSL termination in front of multiple containerized applications including vaultwarden. I would like to be able to reach e.g. the vaultwarden instance via the reverse proxy on the same domain regardless of being connected to the tailscale based network or the actual network containing the proxy. I guess alternatively one could set up subnet routing allowing access to a DNS on the physical network, disable MagicDNS and add the local DNS as as custom DNS under nameservers configuration. The only two downsides of this I currently see, while there might be more, is that one would be loosing the functionality MagicDNS provides as well as allowing access to the physical network which one may or may not want. As an upside, one would not need to maintain the DNS entries manually in the tailscale config, though. So, yeah, +1 for this feature. A simple list of dnsmasq style entries would probably solve it from my perspective. |
|
My usecase: |
|
my use case: Thank you. |
|
I would also like to see wildcard DNS support for tailnet hostnames. My use case: I'm using Minio (S3-compatible server commonly used in dev environments) and without wildcard DNS support on the tailnet hostname it is very awkward to use the Minio API in a way that is compatible with S3 clients. We need the bucket name to be the leftmost component of the tailnet hostname, and it would be a real PITA to run our own DNS servers to do this. TLS termination on wildcard names is not important in this use case. Thanks. |
This comment was marked as duplicate.
This comment was marked as duplicate.
|
As an alternative/workaround, here's what I'm doing:
However, this can get very tedious/error-prone to maintain in the long run, so having Tailscale do the magic would be nice. My setup as an example:
|
|
I wrote a detailed use case in the above duplicate, but this is a potentially valuable feature for the "progressive adoption" strategy that Tailscale recommends, where you start with a subnet router and then progressively install clients on more endpoints behind the subnet router. Since the Split DNS feature is a way to empower subnet routers, and it prevents resolving to tailnet IPs, a custom DNS solution would give a potential override hierarchy for such a progressive adoption approach. |
|
My use case: I run Pi-Hole on the LAN for DNS. To address not being able to have custom records in MagicDNS, I'm currently using a Pi-Hole image in docker that is paired with the Tailscale docker image to host a TS-only Pi-Hole instance as a machine in my Tailnet. One might argue that I could easily use Dnsmasq and forward onto the LAN-based Pi-Hole as upstream, but that's beyond the scope of this comment. I would love to see custom records for MagicDNS for this reason--it would remove overhead and a lot of friction from my personal infrastructure. |
Also, for DNS, the Customer would really like to make DNS aliases such as example.ourdomain.beta.tailscale.net always point to a machine name staging-1 or something like that.
This way, they can easily access the machines.
The text was updated successfully, but these errors were encountered: