最近因为AppStore IPv6审核限制,要求必须App支持IPv6访问,不得做服务器对IPv6的支持。
方法就是HE.NET提供的Tunnel Broker这个所谓的ipv6的隧道间接的让服务器支持IPv6,然后配置Web服务器Nginx支持IPv6访问。
以下记录配置过程:
修改阿里云限制(重要)
阿里云限制了ipv6的功能,我们需要修改开启
编辑\etc\sysctl.conf
翻到最后我们会看到一堆关于ip的配置,我们需要修改关于ipv6的设置
1 | net.ipv6.conf.all.disable_ipv6 = 0 |
找到这三条修改为0即可。
以上配置后,重启服务器。
Tunnel Broker服务
到http://www.tunnelbroker.net/ 注册TB账号,并登录管理面板。
在左侧导航栏
User Functions
点击Create Regular Tunnel
进入隧道创建页面。在
IPv4 Endpoint (Your side)
一项填入自己的服务器公网IPv4地址。然后选择一个对应的隧道节点服务器。然后点击表单底部
Create Tunnel
按钮提交表单。到下一页面切换到
Example configurations
选项卡,下拉菜单选择Linux-route2
,出现了设置的命令,复制下来并在服务器运行。 格式如下:
1 | modprobe ipv6 |
域名AAAA记录设置
另外添加子域名 aaa
的 AAAA 记录到创建的IPv6地址(AAAA解析,值填 HE里的Client IPv6 Address,去掉最后的/64即可,如:2001:460:13:369::2)。
ps:原先aaa
对应的 A 记录无需更改。
配置Nginx服务
找到 aaaa
对应的conf配置文件,修改 listen
1 |
|
然后重启nginx.
其他测试工具
- 在域名后面加上.ipv4.sixxs.org,如
http://aaaa.domain.com.sixxs.org
,进行访问,如果能正常访问则说明支持ipv6的访问。 - Ping an address or host using both IPv6 and IPv4
- IPv6 Test
- Trace an IPv6 Network Route