O problema é que os pacotes IP transferidos para e do seu host local devem passar por algum tipo de interface de rede. Se você quiser redirecioná-los em algum lugar, não importa se é uma VPN, um proxy SOCKS ou qualquer outra coisa, eles também devem passar por uma interface de rede. E como o reencaminhamento é feito em software, essa interface de rede é uma interface tun / tap. Você não pode acessar uma VPN sem ela.
Quanto a "encapsular o software VPN com um wrapper SOCKS", isso se aplica ao lado errado: O software VPN não tem problemas para se comunicar com o outro lado do túnel VPN sem direitos de root, isso é apenas comunicação normal de rede. E seria essa parte que é envolvida pelo SOCKS.
No entanto , você pode criar interfaces tun / tap sem direitos de root definindo permissões em /dev/net/tun
(consulte aqui ), que precisa do root right once .
AFAIK você também pode pré-criar uma interface tun / tap nomeada (que novamente precisa de direitos de root uma vez ) e usá-la em um aplicativo sem direitos de root.
Talvez uma dessas duas opções resolva seu problema?