使用 Hurricane Electric Free IPv6 Tunnel Broker 来让阿里云服务器支持 IPv6
前几天提交新版 iOS App 被拒,原因是在 IPv6 only 的环境下无法使用。但阿里云的 ECS 并不支持 IPv6,只提供 IPv4 的 IP。好在 Hurricane Electric (下文简称 HE)提供免费的 IPv6 通道,基本够用了。
先说下 ECS 的基本环境:
- 操作系统:Ubuntu
- 前端服务器:Nginx
启用 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底部加上以下内容
1508479443996.jpg -
添加域名地址:
vim /etc/resolvconf/resolv.conf.d/base
nameserver 2001:4860:4860::8844
nameserver 2001:470:20::2
- 重启服务器
ifup he-ipv6
确认 IPv6 已启用
ifconfig
查看生效情况
第三步:配置 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
过几分,等DNS配置生效后:
测试:http://ipv6-test.com/validate.php
网友评论