The way I would deal with such a situation is by setting up a VPN (OpenVPN is great, I have a server with it at home and then use the client on my laptop if you're the do-it-yourself/network type; You mention otherwise, so a paid solution might work out easier for you), and then adding static routes for each of the servers you want to use to run over the VPN.
The socat
method tells the system how to proxy a specific port to a specific location, and so you have to set one up for every target location. The VPN on the other hand, can route any packet to any destination. It offers a much more flexible solution, where you can tell your system to use your main connection for all traffic, and then add specific exceptions for IPs that should be routed over the VPN. This requires a bit more legwork, such as tracking down all of the IPs that need to be proxied (Google has a number of mailservers, for example. Look up MX
records for gmail.com or googlemail.com or pop.googlemail.com)
Most paid-provider VPNs will probably try to route all of your traffic over the VPN when you set it up initially, so it may take tweaking to get all the traffic flowing how you desire. Perhaps a good time to learn about how networking works?