最近主机商 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",
注册完成后,到邮箱收验证邮件,完成验证,并登录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访问
转自感谢:https://haitau.blogspot.com/2020/11/racknerd-vps-ipv6-google.html