折腾了N天的IPV6,总算是抽出一晚上的时间来彻底解决了。整理了网上找的一些解决方案。
我们先来看下苹果官方对于IPV6的要求及如何测试(苹果官方说明:开发注意事项和如何测试IPV6 Only的支持)
注册IPV6隧道服务
1、打开https://www.tunnelbroker.net注册一个账号
2、登录到 tunnelbroker.net 后,请点击左侧导航的 Create Regular Tunnel ,输入您的IPv4地址,选择 HongKong 隧道服务器,来创建一个新的ipv6隧道配置
3、此例,创建好的ipv6隧道地址为:2001:470:18:401::2
4、然后,请点击 Example Configureations ,里边会给出在不同系统里可执行的命令,目的是创建ipv6隧道
为阿里云ECS(CentOS7)配置IPv6隧道地址
编辑 /etc/sysctl.conf 文件,将其中三条禁用IPv6的设置更改为:
1
2
3net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0再运行 sysctl -p 的命令,启用IPv6
转到 tunnelbroker.net 网站,在 Example Configurateions 里选择 Linux-route2 的配置方法,示例命令如下
为阿里云ECS(CentOS6)配置IPv6隧道地址
- CentOS 6.5 64位系统,默认没有启用IPv6地址

- 编辑文件,/etc/modprobe.d/disable_ipv6.conf,将其中的三行都注释掉
1
2
3# alias net-pf-10 off
# alias ipv6 off
# options ipv6 disable=1 - 编辑文件,/etc/sysconfig/network,将其中的 NETWORKING_IPV6=no 改为 NETWORKING_IPV6=yes,
- 重启系统,以让更改生效。系统重启后,运行 ifconfig 命令,可以看到IPv6的地址

- 执行 HE 隧道地址配置例子中的 Linux-net-tools 命令,如本例是:
配置域名解析
- 让域名支持ipv6,将AAAA记录解析到支持ipv6的服务器上
- ipv6地址取自tunnelbroker.net的Client IPv6 Address
踩过的坑
Apache,提示无法访问服务:web server is unreachable
解决方案:编辑/etc/sysconfig/network-scripts/ifcfg-eth0
1
2
3
4IPV6INIT=yes
IPV6ADDR=2a05:4f8:111:40a3::2/64
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=eth0查看端口情况/usr/sbin/lsof -i | grep -i httpd
1
2
3httpd 13722 apache 4u IPv6 152015784 0t0 TCP *:http (LISTEN)
httpd 13722 apache 6u IPv6 152015788 0t0 TCP *:https (LISTEN)
httpd 13723 apache 4u IPv6 152015784 0t0 TCP *:http (LISTEN)nginx,端口配置:
1
2
3
4
5server {
listen 80;
listen [2001:470:18:6a4::2]:80;
```
提示:Reloading nginx!nginx: [emerg] the INET6 sockets are not supported on this platform in “[2001:470:18:6a4::2]:80” of the “listen” directive in /alidata/server/nginx/conf/vhosts/
1
2
3解决方案:
4. 重启网关提示:Failed to restart networking.service: Unit not found.
解决方案: