Support: I looked at your CLI logs, thanks.
Do all PCs on 192.168.101/24 and 192.168.102/24 have routes to the other subnets via Tailscale-1 and Tailscale-2?
Are you using “tailscale up --snat-subnet-routes=false?”
It looks like you your two Ubuntu machines are no longer advertising 192.168.102.0/24 and 192.168.101.0/24. You had ran “tailscale up --advertise-routes=…” with those values once and accepted them in the admin panel, but then you ran “tailscale up” again later without those values and that made the machines stop accepting those routes, even though other clients are sending traffic that way.
Support: The issue is that tailscale-2 is not configured to accept subnet routes from remote machines, so it’s refusing packets that come from the remote subnet route. We don’t make this obvious in the UI, so it’s easy to miss. If you add --accept-routes=true to both tailscale-1 and tailscale-2, in addition to the other --advertise-routes flag.
Unlike the more client-oriented OSes, Linux doesn’t accept remote routes by default, because it can lead to confusing behavior if a machine is both a subnet router and also accepting subnet routes from elsewhere. In your case though, that’s exactly what you want for a site-to-site VPN.
Wow it was not clear to me that the options needed to be passed like this together. That could have been a lot more clear on the quick start page.
Site A
tailscale up --advertise-routes=10.201.150.0/24,10.201.200.0/24 --accept-routes=true --snat-subnet-routes=true
Site B
tailscale up --advertise-routes=192.168.86.0/24 --accept-routes=true --snat-subnet-routes=true