IPv6被拒如何破?-b
APP在美国的IPv6-Only网络环境下测试不通过。
网上各种方法都试了,什么NSURLConnection, Reachability,试完还是拼人品,快要跪了
小伙伴们开始质疑这种测试方法了。
趟着中枪的还有阿里云,偌大的阿里居然表示不支持IPv6,不支持也就算了,为啥阿里也还要删除相关IPv6的贴子,见到老马,我得好好跟他聊聊。
而且苹果美国测试中心表示通过NAT64/DNS64技术也无法访问中国的阿里云主机,这是几个意思?
言归正传,作为此次国内大规模APP被拒的原因,小编从技术角度来帮小伙伴们分析下,文末再免费为小伙伴们提供解决方法。
原因一:现有IPv4环境,国内、国外不一定互通,小编不敢往下说了,直接看数据好了。
IPv4/IPv6扫盲:不同的网络协议,中国99%都在用IPv4协议,IPv6是下一代互联网协议,最直接的区别就是地址格式上
国内主机ping国内网站的结果,时间最短,说明网络质量越好C:\>ping api.6box.cn -n 2
正在 Ping api.6box.cn [120.27.116.59] 具有 32 字节的数据:
来自 120.27.116.59 的回复: 字节=32 时间=13ms TTL=52
来自 120.27.116.59 的回复: 字节=32 时间=13ms TTL=52
120.27.116.59 的 Ping 统计信息:
数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):最短 = 13ms,最长 = 13ms,平均 = 13ms
美国AWS主机ping国内阿里云ECS,时间在300ms以上,丢包14%,当时我们的APP提交审核时,苹果同样表示IPv4网络连接不上。
ubuntu@ip-172-31-21-126:~$ ping 120.27.116.59
PING 120.27.116.59 (120.27.116.59) 56(84) bytes of data.
64 bytes from 120.27.116.59: icmp_seq=1 ttl=43 time=306 ms
64 bytes from 120.27.116.59: icmp_seq=2 ttl=43 time=307 ms
--- 120.27.116.59 ping statistics
---7 packets transmitted, 6 received,
14% packet loss, time 6007msrtt min/avg/max/mdev = 300.849/304.761/307.151/2.532 ms
美国AWS主机ping国内114的公共DNS,等了N久,表示网络不通
ubuntu@ip-172-31-21-126:~$ ping 114.114.114.114
PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
审核不通过的大部分原因并非在代码层面,而是网络层面
审核不通过的大部分原因并非在代码层面,而是网络层面
审核不通过的大部分原因并非在代码层面,而是网络层面
原因二:NAT64本地测试和美国中心的IPv6 Only + NAT64/DNS64网络环境并不一样
NAT64扫盲:解决IPv4服务器不能被IPv6用户访问,看下图所示,目前中国99%的网站均不支持IPv6,但可以通过NAT64技术实现网络的转换,网站(APP)后台服务器不需要做配置,但网站域名所在的托管商,如万网,新网,易名中国等需要添加IPv6条目。
前方有坑,请注意
坑一、NAT64设备所在网络环境,决定你的网站能否无障碍被访问,苹果APP审核用的NAT64在美国,至于能顺利访问中国哪些网站服务器,就需要拼RP值了,相信很多小伙伴们已经明白了为啥本地NAT64模拟测试通过,在美国测试就不通过了吧。
坑二、没有真实IPv6测试环境,阿里云居然说中国没有IPv6运营商,无法支持IPv6,两端都有坑,再拒我一次,朕就准备投靠安卓了,伤不起啊。
小伙伴们,有困难不要怕,小编来拯救你们了!
法宝一、网站服务器咱不动,小编在中国免费帮各位小伙伴们进行NAT64转换,我们的NAT64设备在中国,当然所有网站都能通了,美国测试中心到我们是走的IPv6。
谁说中国没有IPv6,中国最大的IPv6就是中国教育网,拥有世界上最大的下一代互联网(CERNET2-CNGI)
1、使用小编提供的DNS64服务,解析出自己网站对应的IPv6域名
Windows: Win+R打开运行,输入cmd,打开命令提示符,输入以下命令
Nslookup www.6box.cn dns64.6box.cn
命令中www.6box.cn改成你的网站名称,如果APP里调用了多个子域名,都需要进行转换,如a.6box.cn ,b.6box.cn
将解析出来的IPv6地址记录添加到DNS域名托管商管理系统里,此操作通常在万网等域名网站里操作,不是在网站服务器上操作,建议直接联系网站技术负责人进行解析。此IPv6转换服务是免费给小伙伴们使用的,小伙伴们可以放心添加。
C:\>nslookup www.6box.cn dns64.6box.cn
服务器: UnKnown
Address: 222.28.155.25
非权威应答:
名称: www.6box.cn
Addresses: 2001:da8:20d:400::76ba:3ffd
118.186.63.253
2、给自己的网站添加IPv6 DNS记录,这样全球IPv6用户就能正确解析出你的IPv6地址啦
以万网操作为例,进入”我的域名“---”域名解析”----”添加解析”
记录类型AAAA 主机记录 www 记录值2001:da8:20d:400::76ba:3ffd
如果是api.6box.cn,则主机记录是api,其它类似
新网怎么添加IPv6条目?
新网不支持IPv6域名直接添加,给他们发邮件吧。
上面都操作完了,效果怎么样?
我们来测试一样:同样从美国AWS主机测试,这次采用IPv6线路进行测试,157ms,0丢包。比国内某些IPv4的网络还要快,有木有!!!
ubuntu@ip-172-31-21-126:~$ ping6 2001:da8:20d:400::76ba:3ffd
PING 2001:da8:20d:400::76ba:3ffd(2001:da8:20d:400::76ba:3ffd) 56 data bytes
64 bytes from 2001:da8:20d:400::76ba:3ffd: icmp_seq=1 ttl=46 time=157 ms
64 bytes from 2001:da8:20d:400::76ba:3ffd: icmp_seq=2 ttl=46 time=157 ms
--- 2001:da8:20d:400::76ba:3ffd ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 157.313/157.411/157.539/0.446 ms
我们通过浏览器来测试下,发现网站已经通过IPv6访问了
本地没有IPv6环境怎么办?
法宝二、免费申请6Box IPv6路由器,本地有IPv6真实环境了,测试更easy,苹果要敢再拒,我们就带上6Box去炸美国。
苹果送审了,自己还没有IPv6测试环境,怎么办,快来免费申请吧,小编也不是24小时都在线的,以后的测试还是需要小伙伴们自己来啊
6Box SOHO版专为苹果开发企业提供真实IPv6环境,即插即用,操作简单,无须变更现有网络架构,快速搭建IPv6网络环境,提供高速IPv6国际出口带宽。
主要功能如下:
用户连接数:30-40人/台
分配真实IPv6地址段 /64前缀
提供10Mbps企业级高速IPv6接入带宽
提供高速IPv6国际出口带宽(美国方向)
数量有限,免费测试名额不多,先到先得,可免费测试1个月
《免费公测申请表》下载地址:http://pan.baidu.com/s/1bTjSya
如果想快速体验IPv6,可以下载6Box APP
==========================说法二========
IPv6的简介
IPv4 和 IPv6的区别就是 IP 地址前者是 .(dot)分割,后者是以 :(冒号)分割的(更多详细信息自行搜索)。
PS:在使用 IPv6 的热点时候,记得手机开 飞行模式 哦,保证手机只在 Wi-Fi 下上网,以免手机在连接不到网络时候,会默认跳转到使用 蜂窝移动网络(即2G、3G、4G流量) 上网。
本地 Mac 搭建 IPv6 测试环境
想要测试你的 APP 是否在 IPv6 环境下运转是否正常,你所需要的就是一台用非Wi-Fi方式上网的Mac电脑。如果你用的是 Mac 一体机网络用的有线,那么你什么也不用准备,如果你用的 Mac 本,甭管 Air 还是 Pro,只要用无线上网,你就需要一个 RJ-45 转 USB 的转换工具(因为 Mac 本没有直接插有线的接口),去某狗、某猫上淘个吧,不贵也就不到100来大洋。
搭建 IPv6 测试环境说白了就是用 Mac 做一个热点,然后用 iPhone 连接这个 Wi-Fi,听起来很容易,下面跟着我的步伐走吧。
和正常的开启 Mac 热点的方式的区别是这次我们产生的是一个本地的 IPv6 DNS64/NAT64 网络,这项功能是 OS X 10.11 新加的功能(如果你的 Mac 系统版本不是的话必须要升级哦,才能产生 IPv6 的热点呐 )。
和我们以前开启热点方式不一样的地方在于,我们在 “系统偏好设置(System Preferences)” 界面选中 “共享(Sharing)” 的同时,要按住 “Option” 键。见图:
步奏1
之后在 “共享” 界面中,我们会看到和之前不一样的地方,就是红框所标的地方,多了一个叫 “创建 NAT64 网络 ” 的选框,选中它。
步奏2
接下来在 共享 窗口中,依次按图中所示的标号来,如图所示
步奏3
随后请点击 共享以下来源的连接 的下拉列表,选择我们想要共享出去的网络接口。我当前是想要共享的是 USB 10/100/1000 LAN ,(因为的我用的是 有线的 RJ-45 接头转 USB 输出的网络转换工具 )。
PS:如果你的 Mac 是用有线拨号上网的话,请选择 PPOE 选项作为共享源。如果你的 Mac 是用有线上网(不用拨号的)的话,请选择 Thunderbolt 以太网有线网 选项作为共享源。
标号1
标号2,用以下端口共享给电脑 选项此处选择 Wi-Fi
标号3,点击 Wi-Fi选项... 选项,个性化自己的热点的哦
最后一步
大功告成
出现一下变化证明你已经成功产生了一个 IPv6 的热点
Wi-Fi图标变样
看手机的连接共享 Wi-Fi 的变化
普通热点共享
IPv6 热点共享
对比2张图中 DNS 的地址看到区别了吧,一个 . 分割,一个 : 分割。
接下来,用 IPv6 的热点测试几个常用的 APP,如图:
微信
提示无法连接服务器。不过 QQ 是可以的。
提示网络连接不可用。可能环信老版本的Demo也会有这种情况。解决办法就去官网查阅 SDK 文档,此处只是给出检测 IPv6 环境下APP的连通性。
IPv6被拒如何破?-b的更多相关文章
- 关于IPv6被拒
关于IPv6被拒 App在本地IPv6的测试环境下运行一切正常,结果又是被拒,悲剧原因还是IPv6的问题;求解决方法被拒原因We discovered one or more bugs i ...
- 关于ipv6被拒的问题
遇到ipv6被拒,你首先要搭建一个ipv6的环境,进行测试一下,如果在ipv6环境下没有问题,那你就可以再次直接提交,或者重新打包提交.再次提交的时候,你可以录制一段在ipv6环境下运行的一段视频 上 ...
- App审核被拒(后台定位被拒,ipv6被拒,广告标示被拒的解决方案)
ipv6被拒问题描述: 解决方案支持ipv6 1)搭建ipv6 环境,搭建好的ipv6 ,环境会有一个共享wifi, 具体如何搭建ipv6测试环境参考本地如何搭建IPv6环境测试你的APP2)app连 ...
- iOS ipv6 被拒
1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧. 2.确保你用的sdk支持ipv6,这个自己去看文档就行. 3.终端 dig +nocmd + nos ...
- iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6
一. iOS----如何检查域名是否支持ipv6 iOS----------如何检查域名是否支持ipv6 1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧 ...
- ipv6被拒的解决方法
A,检测服务器是否支持ipv6连接 用mac 搭建IPv6环境测试,只能测试客户端到mac这段网络正常,但是mac到服务器还是IPv4的,所以没有办法测试服务器的IPv6是否正常.可以用手机打开2)步 ...
- IOS - 上APPSTORE为何因IPv6被拒?
http://blog.csdn.net/wanglixin1999/article/details/52182001
- 苹果审核之遇到IPV6问题被拒的解决方法
情景: 等待苹果审核上线时,发现因为IPV6被拒了.这是悲剧,以下是苹果审核给我的理由: We discovered one or more bugs on Wi-Fi connected to an ...
- 2017-04-26 ios ipv6那些事(已完美解决)
2017-04-26 ios ipv6那些事(已完美解决) 工作单位性质属于外包公司,每天都有几十的app要提交上传至应用市场,于2017年3月份接到ios工程师反馈 Guideline 2.1 ...
随机推荐
- ios 记录支付宝集成遇到的坑及解决方法
今天项目中要开始动手集成支付宝支付,在此小结一下.(目前新版的支付宝SDK有较大改版,去集成还需要自己去开发平台详细的按照集成步骤来完成https://doc.open.alipay.com/docs ...
- 屌丝程序猿赚钱之道 之APP
假设你已经通过APP赚到了钱,那么本文对你而言没有意义.倒是希望你可以给我们诸多建议. 通过制作APP或者说手机应用赚钱,相信是非常多程序猿希望做的事情.也确实有一些人通过APP赚到了钱. 对于程序猿 ...
- 《Pro Android Graphics》读书笔记之第四节
Android Procedural Animation: : XML, Concepts and Optimization Procedural Animation Concepts: Tweens ...
- Oracle 数据库用户管理
Oracle 数据库用户管理 Oracle 权限设置 一.权限分类: 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限 ...
- [D3] 7. Quantitative Scales
# Quantitative Scales var colorScale = d3.scale.quantile() .domain([d3.max(dataset) / 4, d3.max(data ...
- CSS伪类选择器和伪元素选择器
CSS的伪类选择器常用的是link/visited/hover/active,分别对应未访问.已访问过.鼠标悬停.鼠标按下时的样式,常用于链接,使用时要按此顺序依次写CSS,不能乱 a:link{ba ...
- 【锋利的jQuery】学习笔记04
第四章 jQuery中的事件和动画 一.jQuery中的事件 加载DOM 在JS中等待页面加载完成通常使用window.onload方法,而在jQuery中则使用$(document).ready() ...
- C#语法糖之第五篇: 泛型委托- Action<T>
因为工作的原因(其实还是个人的惰性)昨天没有给大家分享文章,然后这几天也有很多园友也提出了他们报告的意见及指导,再次感谢这些兄弟们的照顾我 和支持,这个分类的文章我当时想的是把我的学习经验和工作中用到 ...
- ios&h5混合开发项目仿app页面跳转优化
前言:本人原本是ios开发工程师,但由于现今H5的兴起,行内刮起了一阵混合开发的风气,趁着这股劲,我也学了前端开发,不说研究的多深,但也能胜任日常的开发工作.长话短说,现今的混合开发应该还处于摸索阶段 ...
- [C#][转]与MySql连接访问
using System;using System.Configuration;using MySql.Data.MySqlClient;/// <summary>/// TestDate ...