微林 (VnetLink) 推出的 vxTrans 服务是一项链路级网络优化服务,可以点对点透明地加速与目标服务器指定 TCP/UDP 端口的连接。,微林又推出了 vxTrans 服务的 SSL 版(SSL Transfer),额外保护了最终客户端到微林接入点的连接。

更新():vxTrans SSL Transfer 将于 拆除。

SSL Transfer,Light以及Elf服务区拆除预告。

微林 vxTrans SSL Transfer 说明

图解

下面是一张关于客户端 1.直接连接目标服务器,2.通过 vxTrans 普通接入点,以及 3.通过 vxTrans SSLT 接入点连接服务器的示意对比图:

vxTrans 流程图

图中所标示的端口为连接各节点时所用的端口,其中

  • 位于流程图最左侧的客户端以及 SSL 隧道 通常是运行在同一机器上;
  • 位于流程图中间的是 vxTrans 提供的接入点,如直连服务器则不经过该接入点;
  • 位于流程图最右侧的是客户端本来要连接的目标。

其中的客户端可以是各种各样的连接网络的程序,比如你的浏览器,比如数据库服务的客户端,比如你的 Shadowsocks 客户端等等,而服务器则是客户端原先的访问目标。如浏览器对应的服务端就是你要访问的网站,端口一般为 80 或 443,Shadowsocks 的服务端为服务器上所配置的端口,默认为 8388。

另外,需要注意的是由于 vxTrans SSLT 是基于 SSL 协议的,因此只支持 TCP 端口的连接。

之前,我们有提到 vxTrans 是一项链路级网络流量优化服务,其目标是改善客户端与服务端的连接性,包括延迟丢包以及带宽等方面。虽然看图示我们访问目标服务器之前貌似额外经过了更多的中间节点,但是实际上,只要能够合适地选择这些中间节点,我们是可以改善我们抵达最终目标服务器的路由,从而达到改善网络性能的目的。

由于 vxTrans 的普通接入点对于上层应用来说是完全透明的,只需变更原先设定的服务器地址及端口为 vxTrans 提供的服务器地址及端口即可,不再详细介绍。

下面说说 vxTrans SSL Transfer 在 Windows 以及 Android 平台上的配置。

Windows 上配置 vxTrans SSLT

首先 vxTrans SSLT 接入点与普通节点最大的不同就是连接其接入点需要一层 SSL 协议,因此我们需要下载 stunnel 软件,其官网为 https://www.stunnel.org/, 5.42 版的下载地址为 https://www.stunnel.org/downloads/stunnel-5.42-win32-installer.exe

根据提示进行安装即可,如在安装时弹出命令提示符,则根据提示输入相应信息,或者一路回车采用默认配置即可。

stunnel openssl 配置

安装完成后,我们启动 stunnel。该程序启动后,默认没有界面,只在任务栏有图标,我们右键该图标,选择修改配置(Edit Configuration)。

stunnel 托盘图标

随后,在打开的记事本中,滚动到最后,添加以下内容:

[vxtrans]
client = yes
accept = 127.0.0.1:1234
connect = cns.vxtrans.link:2388
verify = 0

其中,accept = 后面的 1234 为 stunnel 监听的本地端口,即上层应用程序需要连接的端口;如使用 Shadowsocks,则该端口就是 Shadowsocks 客户端所要连接的端口,地址则是 127.0.0.1
connect = 后面的 cns.vxtrans.link 为 vxTrans SSLT 服务提供的域名,2388 为自己设定或自动生成的端口,注意替换为实际内容。

修改完成后,保存退出,还是在 stunnel 的托盘菜单中选择重新加载配置(Reload Configuration)即可。

Android 上配置 vxTrans SSLT

Android 上的配置与 Windows 类似,我们也需要能够搭建 SSL 隧道的软件,这里我们选用 stunnel-android,其 apk 的下载地址为 https://github.com/PeterCxy/stunnel-android/releases/download/20151005/app.apk

安装后,同样打开应用,并编辑配置,内容同上文为 Windows 下 stunnel 作的配置:

[vxtrans]
client = yes
accept = 127.0.0.1:1234
connect = cns.vxtrans.link:2388
verify = 0

注意在 Android 下,accept = 后选用的端口需大于 1024,否则将会需要 root 权限,配置完成后,在标题栏中选择启动即可。注意将 STunnel 排除在杀进程列表或省电模式等之外。

Android STunnel 配置