En la generalidad absoluta, es que no es posible establecer una ruta por aplicación, incluso en los ordenadores modernos. Sin embargo , hay una gran cantidad de soluciones parciales a este problema, de diferentes grados de complejidad.
Afortunadamente para usted, su caso es el más simple posible, porque básicamente tiene una aplicación que siempre se conecta a la misma dirección IP. Lo haces de la siguiente manera. Supongamos que, después de haber iniciado la VPN, tiene una tabla de enrutamiento de la siguiente manera:
# ip route show
0.0.0.0/1 via 10.8.0.5 dev tun0
default via 192.168.73.1 dev eth0 proto static metric 100
10.8.0.0/24 via 10.8.0.5 dev tun0
10.8.0.5 dev tun0 proto kernel scope link src 10.8.0.6
128.0.0.0/1 via 10.8.0.5 dev tun0
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.73.0/24 dev eth0 proto kernel scope link src 192.168.73.66 metric 100
IPAddress.Of.Remote.VPN.Server via 192.168.73.1 dev eth0
y que su aplicación, rclone , quiere conectarse a un servidor con la dirección IP 1.2.3.4 . Todo lo que tiene que hacer es agregar una ruta a través de su puerta de enlace predeterminada ( es decir , la que no tiene VPN, 192.168.73.1 arriba) a 1.2.3.4 :
sudo ip route add 1.2.3.4/32 via 192.168.73.1 dev eth0 src 192.168.73.66
(donde he usado mi interfaz, que se llama eth0 , y la dirección IP de mi PC, 192.168.73.66 , deberá adaptarlas a su caso específico). Esto simplemente le indica a la tabla de enrutamiento que omita su interfaz virtual, que se llama tun0 arriba pero podría ser tap0 , ppp0 o algo así en su caso.
En realidad, el principio utilizado es el mismo que utilicé en esta respuesta similar, aunque aparentemente no relacionada.