启用 IPv6 的主要有四步:
- 注册并创建 IPv6 通道
- 配置 ECS 使其支持 IPv6
- 配置 Nginx 使其监听 IPv6 端口
- 配置 DNS 使其支持 IPv6 解析
第一步:注册并创建 IPv6 通道
注册 https://www.tunnelbroker.net/ (需要邮箱验证)
点击 Create Regular Tunnel
在IPv4 Endpoint (Your side)处填上 ECS 的 IPv4 地址
在Available Tunnel Servers中选择Hong Kong, HK(如果你面向海外用户,可以选择更接近目标用户的地区)
点击Create Tunnel后,通道就创建完成了
第二步:配置 ECS 使其支持 IPv6
编辑/etc/sysctl.conf,将以下三项的配置改成0
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
在/etc/network/interfaces底部加上以下内容(注:下面大写的处,需要替换成你在 HE 得到的Server IPv6 Address,但不包括最后的::1/64,如:
2001:470:100:100
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address <IPV6>::2
netmask 64
remote <HE 的 Server IPv4 Address>
local <阿里云的 IPv4 地址(内网IP)>
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
重启服务器
执行ifup he-ipv6确认 IPv6 已启用
第三步:配置 Nginx 使其监听 IPv6 端口
server {
listen 80; // 监听 IPv4 的 80 端口
listen [::]:80; // 监听 IPv6 的 80 端口
}
server {
listen 443 ssl http2; // 监听 IPv4 的 443 端口
listen [::]:443 ssl http2; // 监听 IPv6 的 443 端口
}
第四步:配置 DNS 使其支持 IPv6 解析
这步最简单,只需给相应的域名加上AAAA解析,值填 HE 里的Client IPv6 Address,去掉最后的/64即可,如
2001:470:100:100::2