使用 VPN 的 TUN/TAP 到 SOCKS5 包装器的 IPv6 地址

使用 VPN 的 TUN/TAP 到 SOCKS5 包装器的 IPv6 地址

是否有任何软件可以封装 IPv6 VPN(或者准确地说是使用 tun/tap 的任何软件),因此可以在不使用 tun/tap 接口的情况下使用 SOCKS5 来使用它,而无需使用 tun/tap 接口?

理由:

我想做的是使用中文域名没有 root 和 tun/tap 接口。到目前为止我只发现筒袜但它只支持 IPv4(尽管作者指出实现 IPv6 支持应该很简单,但我缺乏所需的技能)。我认为我正确地将 tunsocks 实现到 cjdns 中,但由于它只是 IPv4,所以我无法真正测试它(PR -https://github.com/cjdelisle/cjdns/pull/1104)。任何提示表示赞赏。

更新:我需要在根本不使用根权限的情况下执行此操作(甚至一次都没有)。基本上我需要的东西能够提供 tunsocks 所提供的功能,但适用于 IPv6。

答案1

问题在于,传入和传出本地主机的 IP 数据包必须通过某种网络接口。如果你想将它们重新路由到某个地方,无论是 VPN、SOCKS 代理还是其他东西,它们也必须通过网络接口。由于重新路由是在软件中完成的,因此该网络接口是 tun/tap 接口。如果没有它,您将无法访问 VPN。

至于“用SOCKS包装器包装VPN软件”,这适用于错误的一端:VPN软件在没有root权限的情况下与VPN隧道的另一端通信没有问题,这只是正常的网络通信。这就是被袜子包裹的部分。

然而, 你通过设置权限来创建没有 root 权限的 tun/tap 接口/dev/net/tun(请参阅这里),需要root权限一次

AFAIK,您还可以预先创建一个命名的 tun/tap 接口(同样需要 root 权限)一次),然后由没有 root 权限的应用程序使用它。

也许这两个选项之一可以解决您的问题?

相关内容