前言

依稀还记得17年底,中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》(以下简称《计划》) , 其中指出加快推进基于 IPv6 的下一代互联网规模部署,计划指出到 2018 年末国内 IPv6 活跃用户数要达到2亿,2020年末达到5亿,2025年末中国 IPv6 规模要达到世界第一。

时至6月,2018已经掀过半页,距离《计划》的要求也是越来越紧迫了,阿里云作为国内首家上线 IPV6 解决方案的公有云,就让我们来尝鲜一下第一波上线的阿里云 IPV6 解决方案。

介绍

阿里云在Q2上线的第一波 IPV6 解决方案主要是:

一、负载均衡 SLB 支持 IPV6,目前 SLB 在国内几个地域内的性能保障型(slb.s1.small)开始上线支持 IPV6了,这样做呢,就可以实现阿里云服务无痛支持 IPV6,因为一些历史性原因现有运行的 ECS 即便支持了 原生 IPV6 也需要进行大量修改, 反而是 SLB 可以实现无痛支持。

相比之前的曲线解决方案,比使用 HE.NET 提供的 Tunnel Broker 隧道和 CloudFlare 这样的 CDN 提供 IPV6 能力相比,SLB方案是内网传输的网络性能无损耗,而且服务跨多可用区可靠性和稳定性也高许多。

申请方式:提交工单申请开通

二、云解析 DNS 提供IPV6 IP 和双栈解析能力,现有的阿里云云解析的NameServer服务器暂时还没提供 IPV6 IP,需要申请带有IPv6 IPV4双栈解析能力的NameServer,预计后期可能会无缝升级。

申请方式:提交工单申请开通

三、IPV6 转换服务(7月上线),这个主要是为线下无法部署IPV6的机房或者其他无法提供 IPV6 能力的公有云提供的方案,看了架构图原理大致类似 Tunnel Broker 隧道,由于走了公网所以性能会有损耗,但是相比其他 HE 由于线路在国内所以体验会好得多。

教程

一、提交工单申请 IPV6 权限,然后进入购买 https://common-buy.aliyun.com/?&commodityCode=slb#/buy

使用SLB+DNS轻松实现网站的IPV6双栈兼容-米饭粑

二、然后进入控制台,我们就可以看到一个带IPV6地址的 SLB

使用SLB+DNS轻松实现网站的IPV6双栈兼容-米饭粑

三、然后我们点击管理后,在监听处点击 添加监听

使用SLB+DNS轻松实现网站的IPV6双栈兼容-米饭粑

四、添加监听端口

使用SLB+DNS轻松实现网站的IPV6双栈兼容-米饭粑

一般来说推荐新手使用四层的 TCP 协议,这样就不需要去设置转发日志,使用HTTPS的网站也不需要做任何的更改就可以无痛使用。 七层 HTTP 和 HTTPS 适合有特定需求的用户。

不过值得一提的是,通过SLB七层的HTTPS功能,由于HTTPS解析都在SLB进行处理,得益于SLB专门的解析设备和方案,HTTPS网页可以打开的更快而且不占用后端ECS的性能。不过HTTPS的话后端必须是HTTP80才行,不能是HTTPS。

如果SLB后面有多台ECS的记得打开会话保持,这样可以再服务器上保持用户的登陆状态。

五、然后点击 后端服务器未添加的服务器 选择需要添加的服务器添加即可。

使用SLB+DNS轻松实现网站的IPV6双栈兼容-米饭粑

六、进入云解析,双栈云解析可能需要DNS支持IPV6,目前权限需要申请。

记录类型,选择 AAAA 是IPv6解析用的

记录值,填写IPv6地址

使用SLB+DNS轻松实现网站的IPV6双栈兼容-米饭粑

然后咱们静等解析生效即可。

检验

这里提供几个检测方式:

命令行检测

一、dig

我们可以通过 dig 命令来查看是否域名已经添加 AAAA 记录并能成功解析:

用法:

dig www.mf8.biz AAAA

[root@MF8-BIZ-PC ~]# dig www.mf8.biz AAAA

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> www.mf8.biz AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6376
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.mf8.biz.           IN  AAAA

;; ANSWER SECTION:
www.mf8.biz.        600 IN  AAAA    2400:3200:1500::93

;; Query time: 428 msec
;; SERVER: 67.207.67.3#53(67.207.67.3)
;; WHEN: Thu Jun 28 07:28:24 UTC 2018
;; MSG SIZE  rcvd: 68

二、Ping

Ping 检测延时,查看是否互通

用法:

ping -6 www.mf8.biz

[root@MF8-BIZ-PC ~]# ping -6 www.mf8.biz
PING www.mf8.biz(2400:3200:1500::93 (2400:3200:1500::93)) 56 data bytes
64 bytes from 2400:3200:1500::93 (2400:3200:1500::93): icmp_seq=1 ttl=232 time=356 ms
64 bytes from 2400:3200:1500::93 (2400:3200:1500::93): icmp_seq=2 ttl=232 time=341 ms
64 bytes from 2400:3200:1500::93 (2400:3200:1500::93): icmp_seq=3 ttl=232 time=373 ms
64 bytes from 2400:3200:1500::93 (2400:3200:1500::93): icmp_seq=4 ttl=232 time=384 ms
64 bytes from 2400:3200:1500::93 (2400:3200:1500::93): icmp_seq=5 ttl=232 time=387 ms

三、curl

即便解析成功,也能成功互联,也要看看网站是否额能够被访问。

curl -6 https://www.mf8.biz/

[root@MF8-BIZ-PC ~]# curl https://www.mf8.biz
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /><meta name="wap-font-scale" content="no"><meta http-equiv="X-UA-Compatible" content="IE=9, IE=8;IE=7, IE=EDGE, chrome=1"><title>米饭粑  &#8211;  稻粢穱麦,挐黄梁些。</title><link rel="shortcut icon" type="image/x-icon" href="https://statics.mf8.biz/wp-content/uploads/2018/04/2018040215465239.ico" /><link rel="bookmark" type="image/x-icon" href="https://statics.mf8.biz/wp-content/uploads/2018/04/2018040215465239.ico" /><meta name="twitter:card" content="summary" /><meta property="article:published_time" content="2018-05-25T16:29:40+08:00"/><meta property="article:author" content="妙正灰" /><meta property="og:url"           content="https://www.mf8.biz" /><meta property="og:type"          content="article" /><meta property="og:title"         content="米饭粑" /><meta property="og:description"   content="稻粢穱麦,挐黄梁些,折腾云计算的经验分享和总结。" /><meta property="og:image"         content="https://statics.mf8.biz/wp-content/uploads/2018/04/2018040215512131.png" /><link rel="amphtml" href="https://www.mf8.biz/amp/" /><link rel='dns-prefetch' href='//www.mf8.biz' /><link rel='dns-prefetch' href='//statics.mf8.biz' /><link rel='dns-prefetch' href='//cdn.bootcss.com' /><link rel='dns-prefetch' href='//s.w.org' /> <script type="text/javascript">window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/statics.mf8.biz\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.6"}};
以下省略

图形化检测

一、IPV6 机器

用有IPV6地址的机器访问自然是最好的验证方式,例如米饭就用的 IPV6 机器用 FireFox 访问:

使用SLB+DNS轻松实现网站的IPV6双栈兼容-米饭粑

由于网站是开了 V4 V6 双栈,那么需要设置以下 FireFox 仅访问 IPV6 来进行验证。

流程如下:

在地址栏输入:about:config

network.dns.disableIPv6 设置成 false

network.http.fast-fallback-to-IPv4 设置成 false

二、网页工具

  1. http://ipv6-test.com/validate.php 用于检测 IPV6 是否支持 IPV6-Only 环境。
使用SLB+DNS轻松实现网站的IPV6双栈兼容-米饭粑
  1. http://www.ipv6scanner.com/cgi-bin/main.py 用于检测 IPV6 端口
  2. http://ready.chair6.net/ 较全面的网站 IPV6 分析工具,不过很不精准
  3. https://centralops.net/co/Ping.aspx IPV6 Ping 工具,节点很少
  4. https://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php IPV6 Ping 工具,老是ping不通国内IP 摊手