Can I somehow automatically encapsulate all the traffic to the subnets of X and Y to go through this tunnel, without having to run the entire VPN solution that would send all my traffic through the server?
Isso é um pouco estranho à primeira vista, porque é isso que uma VPN fará por você. O SSH tende a ser um assunto ponto-a-ponto, a idéia é que você conecte uma porta em sua máquina local à porta de uma máquina remota em outro lugar; realmente não foi projetado para o tipo de tráfego que você imagina.
In other words: all traffic that goes to any other subnet should still go directly from the laptop, without passing through the server (using the tunnel).
Mais uma vez, uma VPN cuidaria disso.
Se você está preocupado com uma solução "pesada" para obter tráfego VPN seguro (ou seja, você não quer brincar com ele porque seria muito complicado), você deve realmente olhar para OpenVPN , que fará exatamente o que você está descrevendo. Não só ele encapsularia todo o tráfego, mas também pode ser feito de forma que apenas o tráfego destinado a essas sub-redes faça a viagem pelo canal da VPN. Vou avisá-lo que você ainda precisará editar um arquivo de texto na (s) máquina (s) local (is) e remota (s), mas é bastante fácil de executar.
Para seus objetivos, como você não deseja que a parte intermediária (um servidor) veja seu tráfego, configure a VPN para se conectar diretamente de sua máquina à máquina remota. Qualquer pacote roteado será criptografado antes de sair do seu laptop, assim você terá 100% de cobertura end-to-end.