tailscale / tailscale/tailscale

FR: Tailscale through split-tunnel VPN

Open
#12,870 0 comments 0 reactions 0 assignees View on GitHub
fr needs-triage
Dominant language
Go
Stars
36.5k
Forks
3.2k
Avg merge
2d 3h
Merged PRs (30d)
123

Description

### What are you trying to do?

I have a network topo like this:
```mermaid
graph TD;
MyComputer-->SoftRouter_with_split_tunnel
SoftRouter_with_split_tunnel-->ISP_Internet
SoftRouter_with_split_tunnel-->SchoolNet
SchoolNet-->School_ISP_Internet
ISP_Internet-->TailscaleServers
School_ISP_Internet-->TailscaleServers
```

I have a device in `SchoolNet` and I want to connect it to tailscale. However, tailscale would access the server using default gateway and using my own internet isp, while the device at school connects using school's isp. As a result, tailscale servers see totally different pulic IPs for the two devices and ultimately decide to relay it through DERP.

I hope that tailscale could do hole punching though the school VPN.

### How should we solve this?

My split tunnel is actually IP-based, and there's still an NAT between me and school net. I can think of two implementations:

1. Allow setting a **custom gateway** to access the tailscale servers. With this, I could set my default gateway in the school net as a custom gateway, and tailscale would connect to tailscale servers using the school isp internet, and hole punching through split-tunnel VPN should work then.
2. Allow **advising an IP for a node**. I can actually directly access my device by typing its IP in school net, the problem is tailscale doesn't know about it. It would be good if I can tell tailscale it is there.

### What is the impact of not solving this?

I'm currently using DERP relay.

### Anything else?

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.