asheroto
1 min readSep 19, 2023

--

Hey there, thanks for letting me know about the typo, I've updated the article.

Doing split tunneling the way I described in the article will only work if you tell the program you want to route over the VPN to use the WireGuard interface, or use the WireGuard interface's IP address. Unfortunately there's no way to natively choose which program to route over the VPN and which to not route. So the commands in the article basically make the VPN have a connection, but programs will only use that connection if they are told to, since the route priority is a high number (meaning less likely to route).

The easiest and most reliable method to do this is with Proxifier. I wrote a little bit about it in the article. Proxifier supports using an interface itself, so you don't have to mess with route tables. ForceBindIP is a free tool which is an alternative approach, but I have not tested with that.

If your program supports specifying which interface to push traffic out through, specify the WireGuard interface/IP. It should then use that to route traffic, but DNS may still not be flowing out the right spot, which is why YogaDNS might be good, depending on what you're doing.

Since most programs don't have the option to specify which interface, Proxifier seems to be the best because it uses a driver-based approach to force connections out the right interface for the programs you choose, so it's my pick.

Hope that helps!

--

--

asheroto
asheroto

Written by asheroto

🌎 Full Stack Developer 🔗 Systems Administrator 😎Innovation through Automation ✔ Privacy Advocate ♥ Startup Facilitator

Responses (1)