Disable global routing with OpenVPN

I managed to install the openvpn using the script [1] and able to connect on MAC OSX.

However, the default option is all traffic now route thru the VPN IP.

Is it possible to route traffic using this VPN only when the destination IP is X.X.Y.Z

For the reset of traffic, just use it without the VPN.

[1] https://github.com/Nyr/openvpn-install


Solution 1:

If you control the server then you can push specific routes by adding directives to your config file e.g.

push "route X.X.Y.Z 255.255.255.255"
push "route 192.0.2.0 255.255.255.0"

You will likely also want to remove the redirect-gateway directive (if used).

If you want to do this on the client side then you will need to ignore the pushed routes and then configure your own by adding directives to the client config e.g.

route-nopull
route X.X.Y.Z 255.255.255.255
route 192.0.2.0 255.255.255.0

Both of which will case the specified host/network to be routed over the VPN.