Connect to your VPN. In AppleScript Editor run:
tell application "System Events"
tell current location of network preferences
get name of every service whose (kind is greater than 11 and kind is less than 16) and connected of current configuration is true
end tell
end tell
This will return the VPN connection name. Note this down.
In a new AppleScript, put the following code. Where it says “putnamehere” put your name from above. Save it as an application, and tick the box that says always open.
on idle
tell application "System Events"
tell current location of network preferences
set myConnection to the service "putnamehere"
if myConnection is not null then
if current configuration of myConnection is not connected then
connect myConnection
end if
end if
end tell
return 120
end tell
end idle
Add this to startup items, and you are away.
Works on 10.11, 10.10 and 10.9.