为阿里云ECS(CentOS6)配置IPv6隧道地址

折腾了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隧道地址

  1. 编辑 /etc/sysctl.conf 文件,将其中三条禁用IPv6的设置更改为:

    1
    2
    3
    net.ipv6.conf.all.disable_ipv6 = 0
    net.ipv6.conf.default.disable_ipv6 = 0
    net.ipv6.conf.lo.disable_ipv6 = 0
  2. 再运行 sysctl -p 的命令,启用IPv6

  3. 转到 tunnelbroker.net 网站,在 Example Configurateions 里选择 Linux-route2 的配置方法,示例命令如下

为阿里云ECS(CentOS6)配置IPv6隧道地址

  1. CentOS 6.5 64位系统,默认没有启用IPv6地址
  2. 编辑文件,/etc/modprobe.d/disable_ipv6.conf,将其中的三行都注释掉
    1
    2
    3
    # alias net-pf-10 off
    # alias ipv6 off
    # options ipv6 disable=1
  3. 编辑文件,/etc/sysconfig/network,将其中的 NETWORKING_IPV6=no 改为 NETWORKING_IPV6=yes,
  4. 重启系统,以让更改生效。系统重启后,运行 ifconfig 命令,可以看到IPv6的地址
  5. 执行 HE 隧道地址配置例子中的 Linux-net-tools 命令,如本例是:

配置域名解析

  1. 让域名支持ipv6,将AAAA记录解析到支持ipv6的服务器上
  2. ipv6地址取自tunnelbroker.net的Client IPv6 Address

踩过的坑

打开网址http://ipv6-test.com/validate.php

  1. Apache,提示无法访问服务:web server is unreachable

    解决方案:编辑/etc/sysconfig/network-scripts/ifcfg-eth0

    1
    2
    3
    4
    IPV6INIT=yes
    IPV6ADDR=2a05:4f8:111:40a3::2/64
    IPV6_DEFAULTGW=fe80::1
    IPV6_DEFAULTDEV=eth0
  2. 查看端口情况/usr/sbin/lsof -i | grep -i httpd

    1
    2
    3
    httpd     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)
  3. nginx,端口配置:

    1
    2
    3
    4
    5
    server {
    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.

    解决方案: