

Just wanna update: the UDP mux option works! Rather than opening thousands of ports, you’d now only need to open 3 or 4. I’ve got 7881/tcp, 7882-7883/udp, and livekit’s HTTP backend fronted by a reverse proxy, and that’s all for calls in most circumstances.






You could do that, but you’ll need to employ some kind of DNS tuning so that:
The terminology for this is “split DNS” or “split horizon”. You can do this by selfhosting two DNS servers - one for the LAN and one for the Tailnet - with different records for the domain. You can selfhost the same DNS server on both the LAN and the Tailnet, and configure some rules so it answers differently based on the querant’s IP. Found this guide for Pi-hole. Technitium also works for this with its Split DNS app, but it’s a steeper learning curve.
Furthermore, if you don’t wanna pay for a domain, just use one of the free dynamic DNS services. https://afraid.org/ is one of them.
Alternatively, why not always connect to the Tailscale address in the first place? Tailscale probably run as an always-on VPN on your client device anyways, and you can reuse the address in the same LAN.