如何在阿里云通过He.net添加IPV6的支持

尽管在 2010 左右 IPV6 就开始刷存在感了,但是直到美帝把 IPV4 的资源都分配完了,IPV6 依旧没有获得很好的支持。

但是最近在开发者的圈子里,IPV6 开始怒刷存在感,因为苹果现在开始需要每一个 APP 都支持 IPV6-Only 环境下的使用。我觉得这是一件好事,如果不好好推动一把, IPV6 的体验始终不会跟上去。所以,如果苹果不推,那么迟早谷歌也会强推 IPV6。

阿里云CentOS

默认的阿里云CentOS系统是没有启用IPv6地址的

编辑文件,/etc/modprobe.d/disable_ipv6.conf,将其中的三行都注释掉

个别系统是存在放dist.conf文件中

编辑文件,/etc/sysconfig/network,将其中的 NETWORKING_IPV6=no 改为 NETWORKING_IPV6=yes, 如果没有该配置可忽略。

重启系统,以让更改生效。系统重启后,运行 ifconfig 命令,可以看到IPv6的地址

IPv6-Only

IPv6-Only 意味着网络下只能连接上 IPv6 地址,没有 IPV4 的存在,这也就意味着 DNS 缓存服务器也必须是 IPv6 地址,只能连接上支持 IPv6 的服务器。如果要解析一个域名,域名本身及其所属的根域名的 DNS 服务器也必须统统支持 IPv6。

  1. 域名所属的根域名的 DNS 服务器 支持 IPv6
  2. 域名使用的 DNS 解析和 DNS 服务器 支持 IPv6
  3. 服务器 支持 IPV6,并拥有 IPV6 ip 资源
  4. 服务器系统和 Web 软件 支持 IPV6

域名和 DNS 服务

顶级域名的 IPV6 支持报告 中,我们可以看到截止本文发布,仅 98.1% 的顶级域名都已经支持 IPV6 的解析了。像:com、net、biz、cloud、top 都是支持的。

然后是 DNS 服务器了,国外的例如 CloudFlare、NS1、Rage53、DNSimple、Rage4 等,国内的 DnsPod、百度云加速、sDNS 都已经支持了。 不过截止本文发布,阿里云 DNS、Cloudxns 还不支持 IPV6-Only。

DNS 解析 IPV6,对应的是 AAAA 记录。 IPV4 对应的是 A 记录。

服务器支持 IPV6

目前,国外的 DigitalOcean、Vultr、Linode 都是默认分配 IPV6 IP 的,很多一些 VPS 品牌甚至会赠送一个段的 IPV6 资源。而在国内目前看来,无论是 阿里云、青云、腾讯云 还是其他,都并没有很好的 IPV6 支持。

如果我们的网站或应用托管在阿里云或者其他云上,那么要让其支持 IPV6-Only,那么目前有两种可行的方案就是:

  1. 服务器在第三层(网络层)使用隧道传输来曲线支持 IPV6
  2. HTTP Proxy ,让支持 IPV6 的服务器做反向代理,将 AAAA 记录解析到代理服务器上
  3. 使用 CDN 缓存,像 CloudFlare 这样的 CDN 只要使用就可以支持 IPV6

不过,上述的三种,都有一定缺陷,其中第一种缺陷最少,几乎原生;而反代受限于反代服务器的延时,而且建设成本也挺高的;CDN 缓存么,像 Cloudflare 在国内速度并不理想

隧道传输支持 IPV6

这里介绍使用 Hurricane Electric Free IPv6 Tunnel Broker 来拓展服务器支持 IPV6.Tunnel Broker 相当于建立在网络层(第三层)上的代理,需要你的服务器的操作系统支持,而且服务器必须要有一个固定的 IPv4 地址。

一、注册,https://www.tunnelbroker.net/ 记得,别忘了验证邮箱
二、创建隧道,https://www.tunnelbroker.net/new_tunnel.php
三、IPv4 Endpoint (Your side): 输入服务器的 IP ; Available Tunnel Servers: 这里选择一个延时最低的地域。经过测试亚洲的 香港、新加坡、日本 国内访问还都挺糟糕的。 推荐 Fremont。
四、点击 Create Tunnel 就创建好了,

在 HE 哪里,点击 Example Configurations,然后选择自己的系统,这里以 CentOS 为例。

五、重新编译nginx加入 --with-ipv6 的支持,这时nginx就可以配置ipv6的地址了

 

关于稚子

你们眼中的草根
此条目发表在应用工具软件分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注