Racknerd VPS 用 IPV6 隧道解决 Google 人机身份验证的问题

@Wen's  April 1, 2022

最近主机商 Racknerd 很火,各种节日的促销活动不断,诱惑力十足。我和朋友各买了一款促销的 VPS。一款在 San Jose,另一款在Seattle。部署完v2ray (vless+ws 或 vmess+ws,方便后期走 CDN)后,非高峰时段可以比较轻松的看 youtube 1080p,高峰时候就还是比较差。但从性价比上来说,已经是足够好。

     虽然已经比较满意,但有个问题还是比较烦人,用 google 搜索的时候,总是会进入人机验证界面。据 Racknerd 人员说,机房 IP 段是用了 CC 的 IP。而这些 IP基本上都进入黑名单了。也就是说,同一机房即使换 IP 也没法解决出现人机验证界面的问题。

     从网上搜索到的结果来看,可以使用 IPv6地址来访问 google 解决这个问题。于是发 TK 给 Racknerd,想要一个 IPv6地址。但很不幸,除了洛杉矶机房,其它机房都不提供 IPv6地址。

     怎么办呢,只能自己想办法折腾来解决了。解决的过程记录下来,分享出来,给有同样问题困扰的,提供一下思路。

    首先简单说一下:VPS 使用的系统是 centos 8.1 (Racknerd 系统列表中选的)。并安装部署了 v2ray(使用 github.com/mack-a/ 脚本, vless+ws 或者 vmess+ws)。

 一、注册并创建 IPv6隧道

 1、访问注册

    访问 he.net 点击右方的 "Free IPv6 Tunnel Broker",

He.net 首页

tunnelbroker 注册页面


注册完成后,到邮箱收验证邮件,完成验证,并登录https://tunnelbroker.net/

2、创建隧道

     注册完成,并收到邮件完成验证后,登录到tunnelbroker 后台。

     点击左方的 "Create Regular Tunnel",开始创建 IPv6隧道

       这里要注意一个操作,最好是ssh 登录到自己的 vps 上,去 ping 这些提供的 IP,找到延迟最低的一个 IP,并选择。

       比如 San Jose 的 vps 要选择 Fremont,CA,US 的 IP,延迟在10ms 之内。

       Seattle 机房就选 Seattle 的 ip,延迟基本上在1ms 左右。

      填写好自己 vps 的 ip,并选择完对应的 IP 后,将页面拉到最底部,点击“Create Tunnel”

3、获取配置

    在 tunnelbroker 界面找到与自己 VPS 对应的配置(脚本)信息。


这里要注意,CentOS 选择的系统类型是:Linux-route2。

显示的脚本信息,copy 保存一下(也可随时回来登录查询),后面有些地方要用到。

二、VPS (centos)支持 IPv6的配置

SSH 登录 VPS 后,做如下操作

1、修改sysctl

   vi  /etc/sysctl.conf

  在 底部 增加或修改如下三行

net.ipv6.conf.all.disable_ipv6 = 0

net.ipv6.conf.default.disable_ipv6 = 0

net.ipv6.conf.lo.disable_ipv6 = 0

改完记得保存。

2、给 vps 增加 ipv6 dns 解析

vi  /etc/resolv.conf

在底部增加两行

nameserver 2001:4860:4860::8888

nameserver 2001:4860:4860::8844

上面两行是 google 的 ipv6解析 dns,也可自行上网搜索其它的 dns 解析

改完记得保存。

3、增加 IPV6隧道

在 vps 的命令行,复制并粘贴在 tunnelbroker 得到的脚本。 脚本会启用VPS 的 IPv6模块,并建立 IPv6隧道

4、检测IPv6 是否生效

在命令行输入下面的命令,看看能否正常解析到 ipv6地址

ping6 -c4 www.google.com

如果返回正常的结果,则说明 IPv6隧道已经生效,VPS 已经有了自己的 IPv6地址。

5、修改系统启动配置

vps 会重启,为了保证系统重启后,IPV6继续生效,需要修改相关配置

chmod +x  /etc/rc.d/rc.local

vi /etc/rc.d/rc.local

将在 tunnelbroker 得到的脚本,加到 rc.local的底部。

记得保存修改。

三、v2ray 路由配置

主要是要修改 v2ray的 outbounds 与routing ,指定访问 goolge.com 域名使用 IPv6地址。

{

   "outbounds": [

       {

           "tag": "IPV4_out",

           "protocol": "freedom",

           "settings": {

               "domainStrategy": "UseIPv4"

           }

       },

       {

           "tag": "IPV6_out",

           "protocol": "freedom",

           "settings": {

               "domainStrategy": "UseIPv6"

           }

       }

   ],

   "routing": {

       "rules": [

           {

               "type": "field",

               "outboundTag": "IPV6_out",

               "domain": [

                   "domain:google.com"

               ]

           },

           {

               "type": "field",

               "outboundTag": "IPV4_out",

               "network": "udp,tcp"

           }

       ]

   }

}

上面的配置是匹配域名 google.com的请求,走 IPv6。

好了,最后是检测成果的时候。打开 google.com ,输入 my ip ,  搜索!!!


再也没有烦人的 人机验证了!!!

PS:流媒体可能会对 ip 地址有限制,通过这种方式,应该可以避开限制。也就是所谓的“解锁奈飞”

参考资料:

Centos 7配置tunnelbroker隧道支持IPv6访问

利用 V2Ray 看 Netflix

转自感谢:https://haitau.blogspot.com/2020/11/racknerd-vps-ipv6-google.html


添加新评论