Update: Sep 4th, 2018
增加了修改Grub的设置,并调整了排版更便于观看。
在v2上看到有人说阿里云国际版HKB配置IPv6的话可以避免近期频繁出现的Google验证码的问题……而HKB是不提供IPv6的……
于是动手搞之。
根据这篇文章,只提供了Debian/Ubuntu可用的方法,我的HKB是CentOS的,另外放狗搜了方法,在此小记一下。两个系统都是修改一些配置文件就好了。
前提条件是,先去he.net申请一个IPV6的通道,这个就不赘述了。
Debian/Ubuntu
- 编辑sysctl.conf,启用IPv6:
- 去掉Grub中禁用IPv6的设置:
- 编辑网络接口配置:
- 重启网络服务使修改生效:
1 |
nano /etc/sysctl.conf |
下面三项修改为下面的样子:
1 2 3 |
net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 |
使sysctl.conf的修改生效:
1 |
sysctl -p |
1 |
nano /etc/default/grub |
将这句配置
1 |
GRUB_CMDLINE_LINUX=" net.ifnames=0 vga=792 ipv6.disable=1 console=tty0 console=ttyS0,115200n8" |
中的
1 |
ipv6.disable=1 改成 ipv6.disable=0 |
1 |
nano /etc/network/interfaces |
在配置文件末尾增加以下格式的内容:
(注:下面的[HE IPv6]处,需要替换成你在HE得到的Server IPv6 Address,但不包括最后的::1/64,如:2001:1111:1111:1111::1/64只取下划线黑体部分)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
auto he-ipv6 iface he-ipv6 inet6 v4tunnel address [HE IPv6]::2 netmask 64 remote [HE Server IPv4] local [阿里云内网IPv4地址] endpoint any ttl 255 gateway [HE IPv6]::1 up ip -6 route add 2000::/3 via ::[HE Server IPv4] dev he-ipv6 up ip -6 addr add [HE IPv6]::1:1/128 dev he-ipv6 up ip -6 addr add [HE IPv6]::2:1/128 dev he-ipv6 down ip -6 route flush dev he-ipv6 |
1 |
service network restart |
CentOS/RHEL
- 编辑sysctl.conf,启用IPv6
- 新建一个接口配置:
- 重启网络服务使修改生效:
1 |
nano /etc/sysctl.conf |
下面三项修改为下面的样子:
1 2 3 |
net.ipv6.conf.all.disable_ipv6 = 0 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.lo.disable_ipv6 = 0 |
使sysctl.conf的修改生效:
1 |
sysctl -p |
1 |
nano /etc/sysconfig/network-scripts/ifcfg-he-ipv6 |
配置文件内容如下:
1 2 3 4 5 6 7 8 9 |
DEVICE="he-ipv6" DEVICETYPE=sit BOOTPROTO=none ONBOOT=yes IPV6INIT=yes IPV6TUNNELIPV4=[HE Server IPv4] IPV6TUNNELIPV4LOCAL=[阿里云内网IPv4地址] IPV6ADDR=[HE Client IPv6](包括/64) IPV6_DEFAULTGW=[HE Server IPv6](不包括/64) |
1 |
systemctl restart network |
更新Hosts
这里有现成的 ipv6-hosts,我个人不太喜欢用不是自己写的脚本……哈哈哈哈
1 2 3 |
cd ~ mv /etc/hosts hosts.old wget https://raw.githubusercontent.com/lennylxx/ipv6-hosts/master/hosts -O /etc/hosts |
SSR IPv6配置
如果你也跟我一样用的是SSR的话,我是用systemctl和JSON配置文件 ((JSON配置文件有个特点,就是每个大括号里面除了最后一句配置语句,每一句后面的英文逗号,一定不能少……))来跑SSR的,所以只需要在配置文件里面增加两个字段就行:
1 |
nano /etc/ssr.json |
在“server”:”0.0.0.0″,下面增加一行“server_ipv6”: “[::]”,
效果如下:
1 2 |
"server":"0.0.0.0", "server_ipv6": "[::]", |
并将“dns_ipv6”改成下面这样:
1 |
"dns_ipv6": true, |
大功告成!
接下来就可以通过 ping6 google.com 、访问 ipv6test.google.com、ipv6-test.com 来测试IPv6通道是否生效了~
如果成功的话,会得到下图:
-
——————–
- Xu’s Simiki: 阿里云香港B区通过IPV6规避Google验证码
- 简单心理 · 技术团队: 阿里云 Ubuntu 支持 IPv6 的完整步骤
- Use IPv6!: HOWTO Configure a Hurricane Electric/Tunnelbroker.net IPv6 tunnel with Fedora/CentOS
- briancline@github: ifcfg-he-ipv6
- lowendbox: IPv6 with a Hurricane Electric tunnel
引用参考/Reference:
这个东西好,我也试试~
我的阿里HKB就配置了HE.NET的香港节点,到U2B延迟就4毫秒~