使用OpenVPN连接Windscribe免费VPN

前言

最近换了住处之后,我还是没想到平时上网的宽带问题会成为一大痛点:现在住的地方基本上只能办理南京的广电宽带。广电宽带不但有着臭名昭著的速度慢游戏卡以及墙中墙问题,而且由于其 IP 地址资源有限,访问一些网站经常出现 IP 全国各地乱飞的情况,最要命的是其出国线路与我之前用的移动宽带完全没法比。

我观察到的南京广电宽带基本出国都是走联通线路,使用的是内蒙古包头之类的奇葩 IP 地址。之前在住处用于翻墙的 AlphaRacks VPS 和 Arukas 容器搭建的 Shadowsocks 服务器现在基本都处于不可用的状态,Google 搜索勉强能打开,Gmail 经常卡的不要不要的,YouTube 视频则基本不用想了。

更恶心的是广电宽带还直接屏蔽了 ICMP ping 外网的请求,只能 ping 广电内网的地址,至于普通的 traceroute 路由跟踪就更别想了。

下面贴出来的是我在 Linux 下使用专用的 TCP 路由跟踪 tcptraceroute 命令看到的惨不忍睹的结果,目的地址是移动宽带下用的无比顺畅的日本免费 Arukas 容器:

(trusty)zzm@localhost:~$ tcptraceroute -n 153.125.238.173 31626
Selected device wlan0, address 192.168.1.243, port 50713 for outgoing packets
Tracing the path to 153.125.238.173 on TCP port 31626, 30 hops max
 1  192.168.1.1  1.321 ms  1.567 ms  3.853 ms
 2  10.58.71.1  9.688 ms  14.964 ms  11.497 ms
 3  192.168.104.57  8.138 ms  20.722 ms  9.597 ms
 4  111.208.1.141  10.785 ms  11.364 ms  8.861 ms
 5  111.208.1.190  9.602 ms  10.524 ms  11.136 ms
 6  192.168.3.225  8.822 ms  9.481 ms  8.833 ms
 7  * * *
 8  172.16.116.13  70.035 ms  71.014 ms  68.664 ms
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
Destination not reached

由于我平常也使用 Chromebook 设备,特别依赖 Google 服务,Gmail 自不必说,经常要用 Google Drive 同步文件,另外也使用 Google Photos 备份照片,这样必须无法忍受需要找其它翻墙方案。

关于 Windscribe VPN

Windscribe 还是从我一个同事那里了解到的免费 VPN 服务,默认提供每个月 10GB 的流量,免费账户也有多国服务器可选,通过代金券可以增加到每月 50GB 或者 60GB。

需要的朋友可以通过下面的链接注册(没错,带了我的推荐小尾巴 ^_^),需要注意 Windscribe 网站必须翻墙才能打开:

https://windscribe.com/?friend=uxavdz64

Windscribe 的付费账户则是无限流量每月 $7.50 美元起,最近他们在搞 Lobster Lover 优惠活动,现在付费账户限时 3 折促销每年 $29.99 美元,有需要的朋友可以注册之后用 Lobster Lover 链接优惠升级哦。

账户注册完成之后登录,在 My Account 页面中点击 Claim Voucher 按钮输入代金券代码:

  • SOS60GBS,流量增加到每个月 60 GB,暂不确定什么时候过期;
  • 50GBFREE,流量增加到每个月 50 GB。

Windscribe 提供了 Windows、Mac OS X、iPhone 下的客户端,而且还有官方的 Chrome、Firefox、Opera 浏览器下的 VPN 扩展程序,客户端下载链接在此:

https://chn.windscribe.com/download

从下载页面可以看到 Linux、Android 客户端都只有收费账户才支持,而且 Windscribe 并没有直接提供 Linux 和 Android 下的官方客户端,而是通过 OpenVPN、IKEv2、SOCKS5 等配置文件的方式让用户使用其它工具来连接 Windscribe VPN 服务器。

OpenVPN 连接 Windscribe

如此看来 Windscribe 是直接支持以 OpenVPN 方式来连接的,当然收费账户可以从下面的链接直接下载 OpenVPN 配置文件和证书:

https://chn.windscribe.com/getconfig/openvpn

虽然免费账户无法下载 OpenVPN 配置,但我估计 Windows 等系统下的客户端很有可能还是以 OpenVPN 方式实现的,马上下载安装 Windows 客户端来确认。

客户端安装的时候会自动提示安装 OpenVPN 的 TAP 驱动,完成之后使用 Windscribe 账户登录,默认会选择离我们最近的香港服务器。连接成功之后就能在进程列表看到 Windscribe 的 windscribeopenvpn.exe 程序,而且在命令行参数中还能看到 OpenVPN 配置文件路径:

"C:\Program Files (x86)\Windscribe\windscribeopenvpn.exe" --config "C:/Users/xxx/AppData/Local/Windscribe/Windscribe/config.ovpn" --management 127.0.0.1 57593 --management-query-passwords --management-hold

首先从下面的路径把 OpenVPN 配置文件拷贝出来:

C:/Users/xxx/AppData/Local/Windscribe/Windscribe/config.ovpn

配置文件内容大概是这样的:

client
dev tun

nobind
auth-user-pass
reneg-sec 432000
resolv-retry infinite

auth SHA512
cipher AES-256-CBC
keysize 256
comp-lzo
verb 2
mute-replay-warnings
ns-cert-type server
persist-key
persist-tun

key-direction 1
<ca>
-----BEGIN CERTIFICATE-----
xxxxxx
-----END CERTIFICATE-----
</ca>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
xxxxxx
-----END OpenVPN Static key V1-----
</tls-auth>
block-outside-dns

remote 103.10.197.3
port 443
proto udp

中间的 CA 证书和 TLS 认证 key 太长就没有全部贴出来了,remote 明显就是 Windscribe OpenVPN 服务器的地址,这里的 103.10.197.3 就是 Windscribe 的香港服务器。

现在剩下的问题就是 OpenVPN 的登录用户名和密码了,Windscribe 的 Linux 客户端说明 中明确提醒用户需要注意的就是 OpenVPN 用户名和密码并不是 Windscribe 账户名和密码。

Windscribe 的 Windows 客户端里并没有直接提供用户名和密码,而且 Windscribe 网站上也只有付费账户才能得到,但这并不妨碍我们从 Windscribe 客户端的日志文件中找出端倪。

打开 Windscribe 客户端的日志文件:

C:\Users\xxx\AppData\Local\Windscribe\Windscribe\log.txt

不出意外的话你应该能在其中找到类似下面的输出:

[0607 03:18     36.573] [basic]	 state = CONNECT_BUTTON_CONNECTING
[0607 03:18     36.574] [basic]	 radiusUsername:  "nocwat_xxx"
[0607 03:18     36.574] [basic]	 radiusPassword:  "pppppp"
[0607 03:18     36.574] [basic]	 Connecting to "最佳位置"
[0607 03:18     36.574] [connection]	 Use latest successfully connection protocol: "UDP"
[0607 03:18     36.574] [connection]	 Connection settings: automatic
[0607 03:18     36.574] [connection]	 Location nodes: "node1 = {ip1 = 103.10.197.2, ip2 = 103.10.197.3, ip3 = 103.10.197.4}; "
[0607 03:18     36.575] [connection]	 OVPN-config path: "C:/Users/xxx/AppData/Local/Windscribe/Windscribe/config.ovpn"
[0607 03:18     36.575] [connection]	 Connecting to IP: "103.10.197.3"  protocol: "UDP"  port: 443

上面日志里的 radiusUsernameradiusPassword 就是 Windscribe 的 OpenVPN 服务器登录用户名和密码了。

接着就是打开 OpenVPN 软件使用刚才拷贝出来的 config.ovpn 配置文件,然后用上面的 OpenVPN 用户名和密码登录了,我的免费账户使用这种绕过 Windscribe 官方客户端的方式登录在测试中并没有发现什么问题。

Windscribe 服务器列表

到这里你应该能使用泛用型 OpenVPN 客户端来连接 Windscribe VPN 了,只是 Windscribe 多个地区的 VPN 服务器地址稍微麻烦点,毕竟使用过程中总会遇到某些地区的服务器比较慢需要切换的。

不过还好网上已经有人整理好了 Windscribe 的各地区 VPN 服务器地址了,大家直接从下面的地址下载 UDP 或者 TCP 协议的各地区 OpenVPN 配置文件:

Windscribe-OVPN-UDP.zip
Windscribe-OVPN-TCP.zip

解压缩之后使用其中某个地区的 OpenVPN 配置文件即可,登录时仍然使用前面日志文件中找到的用户名和密码。

当然后面很可能会碰到配置文件中的服务器地址不正确或者 Windscribe 修改了证书之类的情况,不过大家还是可以从 Windscribe 客户端的服务日志中找到正确的服务器地址,例如:

[04-07 12:11:06]	Service started
[04-07 12:15:14]	AA_COMMAND_FIREWALL_CHANGE, AllowLocalTraffic=1, Ips=38.95.108.xxx;xxxxxx;104.18.56.xxx
[04-07 12:15:14]	AA_COMMAND_FIREWALL_IPV6_ENABLE
[04-07 12:15:14]	Error 13
[04-07 12:15:14]	AA_COMMAND_EXECUTE, blocking=0, cmd="C:\Program Files (x86)\Windscribe\windscribeopenvpn.exe" --config "C:/Users/xxx/AppData/Local/Windscribe/Windscribe/config.ovpn" --management 127.0.0.1 57593 --management-query-passwords --management-hold

上面日志输出中的 Ips(并没有全部列出来) 就是客户端获取到的所有 Windscribe VPN 服务器的地址了。

  1. 路过:

    C:\Users\路过>tracert -d 153.125.238.173

    通过最多 30 个跃点跟踪到 153.125.238.173 的路由

    1 1 ms <1 毫秒 tracert -d 153.125.235.240

    通过最多 30 个跃点跟踪到 153.125.235.240 的路由

    1 1 ms <1 毫秒 1 ms 119.102.172.1
    2 1 ms 3 ms 3 ms 58.51.97.97
    3 6 ms 7 ms 7 ms 58.51.97.37
    4 20 ms 19 ms 19 ms 202.97.67.109
    5 * * * 请求超时。
    6 21 ms 19 ms 19 ms 202.97.35.78
    7 186 ms 185 ms 188 ms 202.97.6.46
    8 196 ms 183 ms 203 ms 58.138.102.205
    9 188 ms 188 ms 182 ms 58.138.102.106
    10 187 ms 191 ms 194 ms 210.138.107.30
    11 * * * 请求超时。
    12 * * * 请求超时。
    13 * * * 请求超时。
    14 168 ms 170 ms 164 ms 153.125.235.240

    跟踪完成。

    你测的你那个IP似乎有 问题,我试了几次都是1300左右.
    你那路由表为啥到了公网又绕回内网了?
    我这里除凌晨3-8点以外. tracert三四跳开始必丢 .没想到樱花居然不丢- -!
    很奇怪ping目的地和中间节点都正常. 但想要tracert或pathping全通几乎不可能.

  2. 路过:

    我有几个喜欢打游戏的朋友,他们老爱掉线. 我正好把你这个链接推给他们试试.
    另外我以前测试过朋友的广电,IP乱飞似乎是DNS服务器的原因. 而且它们一般不让使用公共DNS.
    你不妨用本地DNS代理或者先用host测试看看. windows下tracert -d不将地址解析成主机名.

  3. Uranus Zhou:

    国内游戏掉线的话用这个 VPN 应该没用哦,国内不同运营商之间的互通就是个大坑;
    IP乱飞是因为广电宽带拨号得到的是内网IP的锅,他们的IP资源太少,对常用的网站资源势必做CDN缓存,不同网站走不同的路由。
    这边用公共DNS倒是没什么关系,反正国外域名都是走翻墙线路解析的。

  4. Uranus Zhou:

    樱花的我在江苏电信和移动网络下都挺好,就是换成广电的完全炸裂了,特别访问国外网站能给各种绕 -_-#。

  5. 路过:

    公共DNS现在不好用了. 我做过大量测试. 特别在打LOL时我也能感觉到人物反应会比IPS的DNS慢.
    114的DNS在湖北有节点,以前不用绕202.97.. 现在一切封包必绕202.97. 然而ping是看不出来变化的.
    这延迟也就用来午夜装下B. 应该是GFW有介入,LDNS定位经常不准. 可能对翻墙也有小会影响.
    C:\Users\路过>tracert -d 114.114.114.114
    通过最多 30 个跃点跟踪到 114.114.114.114 的路由
    1 <1 毫秒 <1 毫秒 <1 毫秒 119.102.172.1
    2 3 ms 3 ms 3 ms 58.51.97.33
    3 4 ms 4 ms 3 ms 58.51.98.65
    4 13 ms 12 ms 12 ms 202.97.29.98
    5 12 ms 15 ms 15 ms 222.190.59.10
    6 13 ms 14 ms 12 ms 58.213.224.170
    7 11 ms 11 ms 11 ms 114.114.114.114

  6. vz:

    新的客户端openvpn password 似乎隐藏了,能有什么办法获取吗?

  7. Uranus Zhou:

    有段时间没用 Windscribe VPN 了
    OpenVPN 的配置文件能获取到么?
    还是只是日志文件里没有密码了?
    不行可以试试老版本客户端呢





*