Disabilitare Tailscale quando sono sulla mia LAN

Esiste una soluzione per usare automaticamente il mio router di sottorete quando non sono connesso alla mia LAN di casa, ma evitare il router di sottorete quando sono direttamente connesso alla mia LAN di casa? (dato che ovviamente non è necessario e rallenta le mie connessioni)

Lasciare il mio telefono collegato al server VPN Tailscale 24/7 funziona per compiti a bassa banda, ma rallenta tutto per compiti più impegnativi ad alta banda. Non considero una vera soluzione “disconnetterlo ogni volta che sono a casa”. Altre idee?

Modifica:
Le sugerimenti di seguito non hanno funzionato per me.

Pubblicizza una rotta meno specifica (ad esempio 192.168.0.0/23) sul tuo router di sottorete Tailscale in modo che la tua interfaccia di rete locale abbia la priorità quando sei a casa.

L’inganno della rete meno specifica menzionato sopra funziona per sistemi non Linux. Ecco alcune istruzioni su come vedere le priorità di routing in Linux:
Troubleshooting guide · Tailscale Docs

Perché non sapevo che avessimo altri modi per farlo (come indicato in altre risposte), ho semplicemente creato ACL per limitarlo. Poiché TS non ha regole di negazione, ho semplicemente etichettato i miei dispositivi e creato regole per consentire le sottoreti a ogni dispositivo, tranne quelli all’interno di tale sottorete. Potrei rifare i miei ACL in base a questo, ma dovrei configurare ogni macchina Linux individualmente poiché sembra che la sottorete meno specifica non funzioni per essa.

Grazie, proverò questo e riporterò i risultati come modifica nel mio post.

Questo non ha funzionato.

La mia sottorete LAN è:
10.100.115.0/24

Sul mio server Tailscale Linux ho eseguito:
sudo tailscale up --advertise-routes=10.100.114.0/23 --accept-routes --reset

Ho anche eseguito:
sudo ip rule add to 10.100.115.0/24 priority 2500 lookup main

Quando il mio telefono Android effettua richieste, i miei servizi vedono ancora l’indirizzo IP del mio router di sottorete e non l’IP del telefono che è connesso al Wi-Fi sulla stessa LAN ma usando il mio VPN Tailscale.

Attualmente reindirizzo 192.168.0.0/16. Sui miei computer Windows di casa, ho semplicemente disattivato il routing delle sottoreti perché è in quella rete.

Sarebbe ok 192.168.0.0/15 o c’è un modo migliore? L’ho provato e funziona bene, solo mi chiedo se sto creando un altro problema.

Questo non ha funzionato.

La mia sottorete LAN è:
10.100.115.0/24

Sul mio server Tailscale Linux ho eseguito:
sudo tailscale up --advertise-routes=10.100.114.0/23 --accept-routes --reset

Ho anche eseguito:
sudo ip rule add to 10.100.115.0/24 priority 2500 lookup main

Quando il mio telefono Android effettua richieste, i miei servizi vedono ancora l’indirizzo IP del mio router di sottorete e non l’IP del telefono che è connesso al Wi-Fi sulla stessa LAN (ma usando il mio VPN Tailscale ovviamente).

Modifica:
Ho anche provato semplicemente

sudo tailscale up --advertise-routes=10.100.114.0/23 --reset

Hai accesso alla console di amministrazione e hai approvato la modifica della sottorete?

Inoltre ti connetti tramite IP o DNS? MagicDNS non è molto magico perché ignora la località.

Sì, quella gamma più ampia va bene e non causerà problemi a meno che tu non stia usando IP nella gamma più ampia e non voglia includerli.

Hai accesso alla console di amministrazione e hai approvato la modifica della sottorete?

L’ho fatto

Inoltre ti connetti tramite IP o DNS? MagicDNS non è molto magico perché ignora la località.

Stavo usando il mio server DNS Pi-hole, non MagicDNS. Tuttavia, ho provato anche con l’indirizzo IP reale e ancora non funziona. Il mio server Plex vede ancora l’IP del mio router di sottorete e non l’IP del mio telefono, il che significa che sto ancora usando il router di sottorete come intermediario invece di connettermi direttamente.

Sento di essere vicino a una soluzione. Ma sì, i passaggi che ho seguito (la mia risposta precedente) sono quelli raccomandati da Tailscale nella loro guida (che è anche lo stesso consiglio che hai dato). Grazie comunque per l’aiuto.

Oh, questa è una casistica molto estrema, ma l’ho incontrata sul mio computer. Hai due NIC?

Avevo una workstation connessa tramite sia a una VLAN guest isolata che a una seconda NIC collegata alla LAN. La tabella di routing decideva che tramite il WAN > SubnetRouter > LAN fosse più diretto di > LAN.

Il mio router di sottorete è un Raspberry Pi che esegue Raspberry Pi OS, quindi ha una sola NIC. Il mio client Tailscale è un telefono Android 10. Avrei pensato che questa fosse una configurazione comune, ma forse qualcosa nella mia rete è impostato male.

Pensiero casuale… ma questa è una dual NIC. Hai una connessione WAN cellulare e una connessione LAN Wi-Fi.

Prova, se entri in modalità aereo e attivi solo il Wi-Fi, funziona correttamente?

Potrebbe trattarsi di un bug nel routing di Tailscale che non rispetta le multiple NIC.

Pensiero casuale… ma questa è una dual NIC. Hai una connessione WAN cellulare e una connessione LAN Wi-Fi.

Oh, pensavo ti riferissi al server VPN. Ma sì, il mio telefono avrebbe tecnicamente due NIC.

Prova, se entri in modalità aereo e attivi solo il Wi-Fi, il comportamento è corretto?

No, vedo ancora l’indirizzo IP del mio router di sottorete.

Puoi provare la mia soluzione come ho menzionato sotto. Uso ACL per limitare i dispositivi che accedono alle sottoreti. Così, quando sono sulla mia LAN, viaggiano solo attraverso la LAN perché l’ACL non permette loro di passare attraverso il router di sottorete. L’ho testato collegandomi al mio hotspot cellulare.

Grazie! Proverò la tua soluzione e riporterò i risultati.