What about the Subnet Router functionality that Tailscale has?
This is using the subnet router functionality of Tailscale. However, instead of advertising subnets of the local physical network, as explained in the Tailscale docs, it's automatically parsing the given WireGuard config and advertising the subnets at the other end of the WireGuard tunnel. It will also by default route traffic to the already advertised other subnets in the tailnet, but taking that into use requires a…
Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
11–20 of 40 posts
Re: Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
#12Which 5G router do you use?
Re: Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
#13Re: Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
#14I use tailscale and wireguard and I route traffic between them, so I can't understand why are so many lines of code needed? Can't you simply enable subnet routing on the tailscale node (single argument does that) and perhaps add additional subnet to the addresses list of wireguard peer?
- the router is behind DDNS and changes its IP address on every connect, had to set up reresolve script and cron
- my WireGuard was capturing the default route and I wanted to use the DNS server behind the tunnel when using it as exit node, but that initially broke the DNS reresolve
- one WireGuard tunnel only supported IPv4, but the node I was running on had dual stack, half of the traffic ended up using IPv6 and not going through the tunnel at all
- when routing incoming connections from the other end of the tunnel to the tailnet, I realised Tailscale does SNAT by default for connections from tailnet to the router (this can be disabled), but the WireGuard connections were coming from an unknown subnet and I had to add masquerading rules
- Tailscale doesn't work so nicely with firewalls, it wants to either inject its chains as first or make you configure it after the startup, worked around by modifying a healthcheck to fix the firewall after startup
- I wanted to exclude the WireGuard device from Tailscale monitoring to avoid noise, there's a patch and multiple issues for that on GitHub that haven't been merged, included the patches in my image
I may have forgotten some other edge cases that came up, but here's a few. In addition, I wanted it to automatically parse the advertised subnets from the WG config, which added to the scripts a bit.
In short, it started out as a hack I didn't even think worth sharing, but more things broke than I would've imagined. So wanted to share with anyone who might find it useful.
Re: Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
#15Which 5G router do you use?
The one they ended up using was TP-Link Deco X50-5G, but honestly I'm not sure if I can fully recommend that. It has had its own share of problems...
I have several of them in a cross Atlantic Wireguard mesh, and they are bulletproof.
Re: Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
#16We have a similar container @juhovh, for a plugin for the router we work on. in case this is helpful for you, feel free to to review https://github.com/spr-networks/spr-tailscale/blob/main/Dock...
I myself didn't really have a need to disable the interface during the lifecycle of the container, so I went with the standard containerboot process provided by Tailscale. I also wanted the container to be "invisible" and not respond to any incoming connections, so that it feels like you're running Tailscale on the actual router.
Keeping things a bit more granular and flexible for this use case makes total sense.
Re: Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
#17Earlier quoted context omitted.
This is using the subnet router functionality of Tailscale. However, instead of advertising subnets of the local physical network, as explained in the Tailscale docs, it's automatically parsing the given WireGuard config and advertising the subnets at the other end of the WireGuard tunnel. It will also by default route traffic to the already advertised other subnets in the tailnet, but taking that into use requires a…
Interesting - this could actually be good functionality to add to tailscale-manager ( https://github.com/singlestore-labs/tailscale-manager ), which currently just handles AWS prefix lists and DNS lookups.
Managing the advertised subnets manually is a bit of a pain, while the downsides of accidentally advertising a subnet are negligible, since you still have full control over them in the Tailscale console.
Re: Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
#18Earlier quoted context omitted.
The one they ended up using was TP-Link Deco X50-5G, but honestly I'm not sure if I can fully recommend that. It has had its own share of problems...
I recommend Glinet's mobile routers: https://www.gl-inet.com/products/ I have several of them in a cross Atlantic Wireguard mesh, and they are bulletproof.
It's a bit unfortunate they decided to go with Broadcom for their Flint 3 router, since Broadcom is known to not play well with open source. One of the reasons I got Flint 2 was its Mediatek chip, since stock OpenWRT support for that should get reasonably good eventually. They're all still way more open than TP-Link Decos.
Re: Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
#19What do you mean? I've had great luck using specific routes over wireguard with the official app on my phone. It works great with "on-demand" wg, and only routing my home subnet over it.
Now, some "business" vpns suck donkey balls, but these are usually borked beyond belief without any external help. I'm specifically thinking about the dotted red square one.
Re: Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
#20> It also doesn't play nicely together with other VPNs, meaning I ended up connecting and disconnecting VPNs whenever I wanted to use them. This is especially evident on my phone, which only allows one VPN app at a time. What do you mean? I've had great luck using specific routes over wireguard with the official app on my phone. It works great with "on-demand" wg, and only routing my home subnet over it. Now, some "b…
https://developer.android.com/reference/android/net/VpnServi...
"There can be only one VPN connection running at the same time. The existing interface is deactivated when a new one is created."
Note this is not about routing some traffic to the VPN and other traffic to the clear net. This is about running two VPN connections simultaneously.