I need an OpenVPN, L2TP, or PPTP client for Linux - don't care which - that acts as a SOCKS5 server on the local machine. It should not set up tunnel interfaces or anything like that, it should just bind a specified port and talk SOCKS5 on that port, and forward only proxied traffic over the VPN. Ideally, it should not require root privileges to run.

(This is essentially the same question as OpenVPN client as SOCKS 5 server? , except that that question is for Windows, and never got any actual answer.)

(I want this because I'm going to be running several different programs simultaneously on the same machine, each of which needs to talk to a different VPN server; this is trivial with SOCKS, but setting it up with TUN/TAP interfaces looks like a giant pain in the butt.)

(Note that as far as I can tell, 'socks-proxy' mode in OpenVPN is exactly the opposite of what I want: it still exposes itself as a TUN/TAP interface to the local machine, and connects via SOCKS to its server.)

  • I've never heard of a VPN that does this. Is there some reason you cannot install and configure a SOCKS server such as Dante locally, and tell it to use the appropriate VPN interface for external connections? – LawrenceC Jul 23 '14 at 19:10
  • @ultrasawblade That doesn't avoid having to make process A send all its traffic through tun0 while process B sends all its traffic through tun1, C through tun2, and so on. That is the thing that is a giant pain in the butt, and if I could figure out how to do it, I might as well just apply it to the applications directly rather than to SOCKS proxies for them. – zwol Jul 23 '14 at 19:17