[网络] 为阿里云 CentOS 6.x 添加 IPV6 支持

好吧,阿里云的公开CentOS 镜像将 IPV6 支持给去掉了,即使你按照网络上的教程,启用 /etc/sysconfig/network 中的 NETWORKING_IPV6 也没啥用,反正它就是不加载 IPV6 的相关模块。经过一番近乎绝望的折腾之后,终于搞定了。

我们首入进入 /etc/sysconfig/modules,然后创建一个脚本,我这里叫 ipv6.modules,然后编辑其内容如下:

这样就可以让操作系统在启动时自动加载 IPV6 模块了,重启机器测试下,看看 lsmod 是否能找到 ipv6,找到就说明加载上了。

然后我们要为自己的服务器获取一个 IPV6 的地址,我们可以在 tunnelbroker.net 上申请一个免费的 IPV6 地址:

  1. 访问 tunnelbroker.net 注册一个自己的账号;
  2. 选择 Create Regular Tunnel 创建一个到自己公网 IP 的通道。
  3. 找到 Example Configurations 里,找到自己操作系统对应的脚本,CentOS 6.x 选择 Linux-route2,然后将脚本复制下来,在 linux 的控制台中执行脚本。
  4. ifconfig 看一下 IPV6 地址是否配置成功,配置成功的话,可以看到类似下面的内容:
  5. 现在你可以 ping 一下服务器的地址,看看 IPv6 是否工作正常(Linux 下IPv6 版的 ping 名为 ping6),如果通了就说明可以了:

好了,现在看起来一切工作正常,不过问题来了,如果我们重新启动,使用 ifconfig 看一下,就会发现 he-ipv6 这个接口没有了,所以我们还需要做点处理,让系统每次自动执行我们复制下来的脚本。

我们修改 /etc/init.d/network 中的脚本,在 start) 的末尾加上我们复制的内容,大概结果如下:

好了,现在每次重启机器都可以自动分配好IP V6 地址了。那么接下来的问题就是为你的服务器域名解析IPv6 地址,国内的域名服务商许多不提供 AAAA 解析,不过 DNSPod 支持,所以你可以将你自己的 DNS 解析服务器切换到 DNSPod,从而提供 IPv6 的 DNS 解析支持。譬如:

我们可以看到它就有了一个 IPv6 的地址。

分享到: