IPv6改造之天窗问题
  

CQxxk 105605人觉得有帮助

{{ttag.title}}
本帖最后由 CQxxk 于 2019-8-15 20:41 编辑

背景
2017年中共某公司 某公司印发《推进互联网协议第六版(IPv6)规模部署行动计划》,计划中指出用5到10年时间,形成下一代互联网自主技术体系和产业生态,建成全球最大规模的IPv6商业应用网络,实现下一代互联网在经济社会各领域深度融合应用,成为全球下一代互联网发展的重要主导力量,因此IPv6改造是当前的热门话题。
IPv6改造是一个漫长的过程,通常我们的门户网站都会包含一些外链网站,门户网站完成改造以后,如果门户网站中包含的外链没有完成改造,我们访问门户网站时其中包含的外链访问就会失败,出现网站显示异常,如图片无法打开,视频无法播放等问题,这就是IPv6改造过程中令人头疼的天窗问题。
解决方案
利用某公司负载均衡设备,可以轻松解决天窗问题。
简单来说,客户端对主站发起访问,主站服务器返回带有外链的页面,负载均衡设备替换页面上的外链,客户端收到页面后,发起对修改后外链的AAAA请求到负载均衡,负载回给客户端对应虚拟服务的IP地址。由负载均衡向DNS服务器请求外链的A记录并访问外链网站,并将结果转发给客户端,最终实现IPv6客户端可以通过AD代理访问到IPv4的外链资源。
负载均衡修改外链方式有两种,一种是域名方案,一种路径方案。
路径方式:通过修改URI路径方式代理外链。
域名方式:通过修改域名方式代理外链。如我们访问的news.baidu.com包含外链www.b.com,外链会被修改为www--b--com.proxy.baidu.com。
两种方案都通过IPro脚本实现,本文演示域名方案。
实验拓扑
本次改造实验通过改造news.baidu.com给大家演示,因此拓扑上呈现的主站节点是互联网的服务器IP,但对实验没有影响。
实验步骤
1、        查看IPv6客户端配置,客户端的DNS服务器指向AD设备:
2、        新建节点池,本次节点池通过PC ping得到:106.120.159.43,通常大型网站都有CDN环境,因此每次得到的IP 可能会不一样,根据各自环境修改节点IP 即可。
3、        修改IPro脚本,在【应用负载】-【iPro】导入最新的脚本,切记每次测试前线确认是否有最新的脚本。当前脚本只需要根据改造的网站修改对应的【DOMAIN】和【AD_HOSTS】字段值即可。
4、        新建虚拟服务,并关联上述的iPro脚本
5、        配置DNS代理,服务器列表为IPv4的DNS服务器,可以正常解析外链。
同时配置内网DNS记录,将*.proxy.baidu.com和news.baidu.com的AAAA记录,指向虚拟服务IP。

此处DNS代理实现的功能,也可以通过智能DNS实现,额外注意的是需要在域名提供商那边做NS记录将 *.proxy.根域名 的解析指向AD。
结果验证
1、        先在虚拟服务里面去掉iPro脚本,打开news.baidu.com,可以看到网页很多模块无法显示
2、        启用iPro脚本之后,页面正常打开:
3、        可以看到页面的外链已经被替换,且可以正常访问,通过修改外链,代理访问的方式解决了天窗问题:
注意事项
1、        域名方案需要额外增加“*.proxy.根域名格式的子域名解析为AD的虚拟服务IP
2、        域名方案适用于客户的网站通过域名方式访问,如果网站通过IP访问需要使用路径方案,本次不做讲解
3、        AD需要同时有IPv6IPv4的外网链路

打赏鼓励作者,期待更多好文!

打赏
3人已打赏

carl 发表于 2019-8-19 18:40
  
看完全文,明白了两个问题!
1、什么是天窗问题
Pv6改造是一个漫长的过程,通常我们的门户网站都会包含一些外链网站,门户网站完成改造以后,如果门户网站中包含的外链没有完成改造,我们访问门户网站时其中包含的外链访问就会失败,出现网站显示异常,如图片无法打开,视频无法播放等问题,这就是IPv6改造过程中令人头疼的天窗问题。

如何解决天窗问题?
客户端对主站发起访问,主站服务器返回带有外链的页面,负载均衡设备替换页面上的外链,客户端收到页面后,发起对修改后外链的AAAA请求到负载均衡,负载回给客户端对应虚拟服务的IP地址。由负载均衡向DNS服务器请求外链的A记录并访问外链网站,并将结果转发给客户端,最终实现IPv6客户端可以通过AD代理访问到IPv4的外链资源。

下次去客户那,知道怎么沟通了,感谢分享!

某公司AD,棒棒哒!
蓝海 发表于 2019-8-21 11:37
  
感谢分享,学习了
秋水伊人 发表于 2019-8-21 11:37
  
感谢分享,学习了
沧海 发表于 2019-9-10 22:22
  
学习一下!!
朱墩2 发表于 2019-9-11 15:57
  
之前不了解,现在了解了一些
自己理解:客户端的请求主页,做正常的智能DNS,但是在主页上的外链(v4地址)AD做代理,代理客户端去请求这些外链的地址。
AD真是强大
秋水伊人 发表于 2019-9-25 11:24
  
感谢分享!
蓝海 发表于 2019-9-25 16:14
  
谢谢分享
新手548437 发表于 2019-10-1 20:12
  
感谢分享。
新手548437 发表于 2019-10-9 14:20
  
感谢分享。
发表新帖
热门标签
全部标签>
每日一问
技术笔记
功能体验
技术咨询
新版本体验
2023技术争霸赛专题
技术盲盒
干货满满
标准化排查
产品连连看
GIF动图学习
信服课堂视频
技术晨报
自助服务平台操作指引
运维工具
安装部署配置
秒懂零信任
每日一记
用户认证
通用技术
安全攻防
答题自测
云计算知识
SDP百科
设备维护
深信服技术支持平台
畅聊IT
sangfor周刊
资源访问
排障笔记本
社区帮助指南
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
原创分享
解决方案
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
迁移
地址转换
虚拟机
存储
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版达人

新手61940...

本周建议达人

zhao_HN

本周分享达人

ZSFKF

本周提问达人