Whilst working from home I found a need to constantly have VPN access to corporate resources (intranet and other internal systems) but without routing all traffic through the VPN.

Adding the relevant search domains and unchecking “Send all traffic over VPN connection.” is not good enough unfortunately, i’m currently in an all or nothing scenario, so we need to manually route the traffic:

Create the file /etc/ppp/ip-up with following content:
#!/bin/sh
/sbin/route add SUBNET $5

Replacing SUBNET with the subnet(s) that you want to route through VPN (for ex. 192.168.0.0/16)

Change permissions on this file to execute as root:
chmod 0755 /etc/ppp/ip-up

Here are full step-by-step instructions for how I configured mine:
1) Run the following in a terminalsudo nano /etc/ppp/ip-up
2) Type the following into the file:
#!/bin/sh
/sbin/route add 10.12.0.0/16 $5
/sbin/route add 10.10.0.0/16 $5

3) Change the file permissions by typing the following in a terminal:
sudo chmod 0755 /etc/ppp/ip-up

Now re-connect your VPN and you should find you have access to the specified resources over the VPN, but everything else is routed through the local internet connection.