你好啊 IPv6

不知道是否因为中美贸易争端升级的原因,最近咨询IPv6解决方案的用户突然间就多了起来。
因为这些客户的需求高度的一致:

  • 均为传统行业和政府客户。
  • 网站要在年底前要提供IPv6客户端的访问支持。
  • 不能影响现有IPv4客户端的访问。
  • IPv4和IPv6客户端用同一个域名访问网站,且显示的内容要保持一致。
  • 对IPv6用户的访问要进行记录跟踪。
  • 要能够感知IPv6客户端的访问体验。

针对这些需求,明智的客户都会选择利用云服务来解决问题,这才导致了最近的咨询量暴增。通过和这些客户的交流,我总结出两个解决方案,供有类似需求的客户参考选择。

兼容非阿里云服务器的方案

无论您的服务器在不在阿里云上都可以选择这个解决方案,这个解决方案可以支持线下IDC,或者其他云平台上的的服务器,当然如果服务器就在阿里云上自然是支持的更好的。
解决方案由如下产品构成:

  • 阿里云解析DNS,支持IPv4和IPv6的地址使用同一个域名。
  • 阿里云IPv6转换服务、在保留原有网站IPv4地址的同时,为网站增加一个IPv6地址,实现同时访问。
  • 阿里云Web应用防火墙企业版、在提高网站安全性的同时为网站提供IPv6用户的访问记录功能,为什么必须是企业版,因为阿里云只有企业版以上的Web应用防火墙才支持IPv6,当然土豪还可以选择旗舰版。
  • 阿里云ARMS前端监控、提供对IPv6用户的体验感知和记录功能,当出现网站无法打开、加载缓慢等情况时,ARMS前端监控可以感知并报警,事后还能提供分析和回溯。

因为使用了Web应用防火墙企业版,所这个解决方案除了贵之外,没有其他缺点,但假如您的网站本来就缺一个Web应用防火墙的话,就另当别论了。

只支持阿里云服务器的方案

如果您不需要Web应用防火墙的话,还可以选择更便宜的解决方案,但前提是您的服务器在阿里云的如下地域范围内:

  • 华北2、北京
  • 华东1、杭州
  • 华东2 、上海
  • 华南1、深圳

阿里云上服务器的IPv6解决方案涉及如下产品:

  • 阿里云解析DNS,支持IPv4和IPv6的地址使用同一个域名。
  • SLB IPv6实例、通过SLB的IPv6实例可以为同地域的IPv4服务器提供额外的IPv6地址和访问入口,目前阿里云上的SLB IPv6实例仅在部分地域的部分可用区提供,且SLB实例必须为性能保证型,不过放心,性能保障型中的的简约I型实例不收取额外实例费用,而且性能对于一般的机构网站完全够用。为了能够跟踪IPv6客户端的地址,SLB必须使用http/https应用层负载均衡,这样客户端的地址就能够嵌入HTTP头,在服务器上再通过适当的配置就能将客户端的地址解析出来。
  • 阿里云ARMS前端监控、提供对IPv6用户的体验感知和记录功能,当出现网站无法打开、加载缓慢等情况时,ARMS前端监控可以感知并报警,事后还能提供分析和回溯。

这个解决方案的成本比前一个解决方案差了十倍不止,呃……不对,好像是将近百倍了,这或许从另一个方面体现出阿里云的价值吧。

以下是一些操作的过程和截图,仅供参考:
阿里云DNS服务支持同一个域名分别解析成IPv6和IPv4地址:
1

SLB的IPv6实例:
该IPv6实例的IPv6地址为:2400:3200:1500::30
2

从服务器日志上可以看到客户端的IPv6地址:
每一行前面的是SLB的内网IPv4地址,因为SLB是一个集群,所以该地址总在变化,SLB IPv6实例通过这个地址来访问同地域的IPv4服务器,最后一列是真实的IPv6客户端地址,该地址通过X-Forwarded-For字段记录在HTTP头中。

100.121.135.28 - - [25/May/2019:15:21:31 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444
100.121.134.245 - - [25/May/2019:15:21:45 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444
100.121.134.254 - - [25/May/2019:15:21:46 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444
100.121.134.246 - - [25/May/2019:15:21:48 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444
100.121.134.249 - - [25/May/2019:15:21:48 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444
100.121.134.246 - - [25/May/2019:15:21:49 +0800] "GET / HTTP/1.1" 200 3488 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1””2409:8915:2402:7944:8572:72db:45ae:8444

猜你喜欢

转载自yq.aliyun.com/articles/703641