1. 问题
由于百度的价值观跟我不一致,所以会经常使用到谷歌。顺带,媳妇也会经常需要查美国的一些学校的信息,所以谷歌对我们都是必要的。但是,但是突然,某一天,发现用谷歌的时候,频繁出现人间验证的提示(自己忘了截图,偷盗的别人的,如果侵权,请联系我删除,谢谢啦~~~):
还会让你一直选一个图片,选到没有了为止,真的是很烦人。关键是我的两台小水管代理的时候,都出现这种情况啦。。。
发生这个事情的原因也就几个:
- VPS 被人黑了,当作爬虫,爬谷歌的数据了
- 这个 IP 段被谷歌加入黑名单了,我们的IP属于被误杀(同个机房有人干坏事)。
第 1 个简单,去 VPS 看下流量,都正常的,排除。剩下的也就是 IP 误杀的原因了。
网上查了一下,解决办法就是使用 IPv6 访问谷歌(换 IP 是不现实的,提供商有的要花钱呢哇,穷逼一个!)就好了。但问题又来了:
- VPS 有没有自带 IPv6 的地址,如果没有带怎么办?
- 两个小水管,一个是 KVM,一个是 OpenVZ 的, 是不是一样的办法呢?
2. VPS 自带 IPv6
这个简单,理论上,理论上,因为我没有自带 IPv6 的 VPS,所以,只能说理论上修改 /etc/hosts 文件,再对谷歌的域名设置 v2ray 走 IPv6 即可。
/etc/hosts 文件添加如下内容:
1 | 2607:f8b0:4007:80e::2003 www.google.com.hk |
v2ray 添加如下的规则: 绑定一个 IPv6 的出口规则,然后添加一个路由,设置谷歌的域名通过 IPv6 的出口规则。
1 | { |
重启 v2ray。 访问一下: https://www.google.com/sorry/index 地址
看一下 IP 地址是不是 IPv6 的地址。
3. KVM VPS 不带 IPv6
自带的 VPS 没有 IPv6 地址怎么办呢?网上谷歌了一圈,发现可以使用 IPv6 的隧道。可以去 https://tunnelbroker.net/ 申请 IPv6 的隧道来使用(一个账号可以申请 5 个隧道)。
- 注册登陆。
- 在左侧的 User Functions 中,点击 Create Regular Tunnel.
- IPv4 Endpoint (Your side) 这里输入你的 IPv4 的地址,下面的区域选择你的 VPS 所在的区域,然后点击下面的 Create Tunnel 完成创建。
- 进入 Tunnel Details 页面(也可以点击 左侧的 Main Page,然后选择刚刚创建的 tunnel 进入)
- 点击 Example Configurations 选择你的 VPS 的操作系统,然后 根据提示做就可以了。
重启网络: service networking restart,通过 ifconfig 查看是否是多了个一 he-IPv6 的信息.
1 | root@CreepyWry-VM:~# service networking restart |
根据前面的配置修改 /etc/hosts 和 v2ray 的配置文件。
测试一下 IPv6 是否生效。
1 | root@CreepyWry-VM:~# ping IPv6.google.com |
速度很不错,杠杠的。重启 v2ray 服务后, 通过上一步提到的 sorry/index 页面检查是否使用了 IPv6 的方式访问了 谷歌。
4. OpenVZ VPS 不带 IPv6
在 VPS 的管理页面,打开 tun/tap 开关。
打开后,在 VPS 输入 cat /dev/net/tun 查看输出:
OpenVZ VPS 限制会比较多,在 https://tunnelbroker.net/ 上面创建 tunnel 的步骤不变,但是在重启网卡:service networking restart 过后,ifconfig 并没有添加的新网卡 he-IPv6 信息(忘记了重启有没有报错了,忘了截图)。猜测应该是 OpenVZ 的问题。网上查了一下,是因为 VPS 不支持通过 modprobe 载入 IPv6 模块,需要改用 tb-tun。
执行如下命令,注意,需要根据创建的 tunnel 的详细修改下面的 配置:
[server IPv4 addr]
[client IPv4 addr]
[client IPv6 addr]
1 | apt-get install gcc |
完成后,ifconfig 检查网卡是不是多了一个 he-IPv6 的配置。
根据前面的配置修改 /etc/hosts 和 v2ray 的配置文件。
测试一下 IPv6 是否生效。
这个配置是一次性的,一旦重启就会失效了,如果要持久化,参考: https://www.cybermilitia.net/2013/07/22/IPv6-tunnel-on-openvz/
创建启动后自动添加的脚本:
1 | vim /etc/init.d/IPv6tb |
添加如下内容,注意需要配置 tb_userspace 的路径,还有 server/client IPv4 和 client IPv4 的地址。
1 | ! /bin/sh |
修改脚本的权限:
1 | chmod 755 /etc/init.d/IPv6tb |
重启,再测试看看 ping IPv6.google.com。