最近买了阿里云香港B来翻墙,然而被Google的验证码折磨的死去活来。四处查询,终于找到了一个合适的方案。

添加IPV6支持

阿里云香港是没有IPV6地址的,需要一个tunnel,这边使用HE.NET提供的服务。

填完之后会获得Server IPv4 Address,Server IPv6 Address etc……

然后在阿里云配置开启IPV6,修改  /etc/sysctl.conf  ,添加(修改)如下参数

net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0

然后编辑 /etc/network/interfaces  (来源)

face he-ipv6 inet6 v4tunnel
address <IPV6>::2
netmask 64
remote <HE Server IPv4 Address>
local <阿里云 IPv4 Address>
endpoint any
ttl 255
gateway <IPv6>::1
up ip -6 route add 2000::/3 via ::<HE Server IPv4 Address> dev he-ipv6
up ip -6 addr add <IPv6>::1:1/128 dev he-ipv6
up ip -6 addr add <IPv6>::2:1/128 dev he-ipv6
down ip -6 route flush dev he-ipv6

这儿没有添加 auto he-ipv6 是因为我觉得可能会导致所有流量通过HE中转。

修改Hosts

这儿直接用现成的 ipv6-hosts 。 需要注意的是其中有很多其他网站的hosts,按需删除。 当然愿意自己修改也成,看wiki就好。

重启Shadowsocks

这儿遇到一个问题,如果使用的是Shadowsocks-libev版本,要开启-6参数,但不知道会不会导致所有流量都走IPV6,如果是用的其他版本(我使用的python版本),直接重启即可。

在Google查询一下自己 IP,如果是IPV6就说明配置成功。

修改IPV4与IPV6优先级

编辑 \etc\gai.conf

precedence  ::1/128       50
precedence  ::/0          40
precedence  2002::/16     30
precedence ::/96          20
precedence ::ffff:0:0/96  100

避免走IPV6拖慢速度。