I have a Tailscale network. One of the devices advertises a subnet router for 10.1.2.0/24
, therefore allowing me to remotely access parts of my network that don’t have, and are not compatible with, Tailscale clients.
When I connect to the Tailnet on a network that doesn’t use that subnet, all is well and I can remotely access devices in that subnet. However, if the local network does use 10.1.2.0/24
, then the system prefers to route traffic to the local network and not the Tailnet.
For example, if I have an SSH server on 10.1.2.3
and I’m using Tailscale on a Wi-Fi network that uses 10.1.2.0/24
as its subnet and 10.1.2.1
as its router, SSH connections to 10.1.2.3
fail because the system routes 10.1.2.3
to the local network, not the Tailscale subnet router.
But if I do this on macOS:
sudo route add -host 10.1.2.3 -interface utun8
…where utun8
is the device name of my Tailscale adapter, then the connections work. This of course doesn’t help on iOS.
Is there a way to fix this for clients automatically with Tailscale configuration or something else, other than an obvious “don’t use two networks with the same subnet?”