Description
What are you trying to do?
I have a setup similar to that described in https://tailscale.dev/blog/tailscale-sucks, wherein there's a “weird” device on which I’m trying to put tailscale on.
Tailscale does work swimmingly with --tun=userspace-networking
and I am able to initiate connections to it from the rest of the tailnet.
Unfortunately, this device also wants to have an ability to talk to specific peers on the tailnet over TCP. In this particular instance SOCKS5 as described in this document is not applicable in my case – the application in question does not support proxies.
How should we solve this?
In my case being able to write something along the lines of:
# The exact interface is subject to bikeshed...
tailscale --socket /tmp/tailscale/tailscaled.sock \
serve tcp:{LOCAL PORT} tcp://{PEER HOSTNAME}:{REMOTE PORT}
would be great. This command would have Tailscale create a TCP socket listening on 127.0.0.1:{LOCAL PORT}
and proxy all communications over to {PEER HOSTNAME}
. From the application’s perspective this should largely be indistinguishable from connecting directly to the TCP socket at {PEER HOSTNAME}:{REMOTE PORT}
with a proper kernel tun
.
This concept could also be extended to UDP
packets as well.
What is the impact of not solving this?
The only alternative I can think of is creating a program that would do pretty much the same and send the data over to the tailscale’s SOCKS endpoint.
Anything else?
No response