Consegui resolver isso.
Primeiramente, aumentei a métrica da rota do gateway padrão para 1, de modo que todo o meu tráfego passe por isso.
sudo ifmetric enp4s0 1
Depois disso, adicionei uma nova rota para a sub-rede 10.x.x.x
sudo ip route add 10.0.0.0/8 dev ppp0 metric 25
isso agora me permite acessar todos os recursos de rede vpn e usar minha conexão de internet local para todo o resto.
Eu também adicionei um script em /etc/network/if-up.d / que automaticamente faz isso toda vez que eu me conecto à vpn.
#!/bin/sh
if [ "$IFACE" = "ppp0" ]; then
ifmetric enp4s0 1
ip route add 10.0.0.0/8 dev ppp0 metric 25
fi
Onde ppp0 é o nome da interface da minha conexão vpn. E a tabela de roteamento no final é assim:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 1 0 0 enp4s0
0.0.0.0 0.0.0.0 0.0.0.0 U 50 0 0 ppp0
10.0.0.0 0.0.0.0 255.0.0.0 U 25 0 0 ppp0
10.150.1.254 0.0.0.0 255.255.255.255 UH 50 0 0 ppp0
169.254.0.0 0.0.0.0 255.255.0.0 U 1 0 0 enp4s0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 enp4s0
195.230.180.187 192.168.0.1 255.255.255.255 UGH 1 0 0 enp4s0