Por padrão, o seu sistema operacional não faz roteamento baseado na origem (ou recursos alternativos que ajudariam no multihoming). Portanto, todos os pacotes de saída, independentemente da conexão à qual estão associados, seguem as mesmas rotas e saem pela mesma interface.
Como resultado: Quando o PC é conectado a uma VPN que fornece uma nova rota padrão, e você tenta fazer uma conexão SSH através da LAN regular, o PC tenta enviar os pacotes de resposta através da VPN - onde eles provavelmente são descartados pela proteção anti-falsificação.
Soluções possíveis (todas envolvem configuração manual):
-
O Linux suporta roteamento baseado em origem para IPv6, usando rotas que também correspondem ao endereço "de" (RTA_SRC). Por exemplo, se você adicionasse manualmente a rota padrão para sua VPN, poderia usar:
ip -6 route add ::/0 from fd01:2345:6789::/48 via fe80::1 dev tap0
-
O Linux suporta o roteamento baseado em políticas para todas as versões de IP usando várias tabelas de roteamento:
ip -6 route add ::/0 via fe80::1 dev tap0 table 1234 ip -6 rule add pref 500 from fd01:2345:6789::/48 lookup 1234