「特别注意:阿里云已经提供了 IPV6 的负载均衡,所以尽量直接使用阿里云的服务,避免自己搭建,引发不必要的麻烦」

自从AppStore要求必须支持IPv6后,国民感到震惊的同时,也加速了国内的ipv6的普及。 但是国内的服务器托管商(比如阿里云)几乎都不支持IPv6。
本文是博主金亚大王呕心沥血的填坑之旅,亲测可行,完美支持IPv6

关键词: 阿里云,ECS, IPV6, CDN,IPV6隧道

废话不多说,说说我是怎么解决的。

思路:
数据交互层 建立IPv6隧道到服务器
静态CDN 需要使用国外的DNS来CNAME

1,阿里云服务器配置

CentOS 7.3 专有网络(经典网络也没关系)

修改配置

编辑 vim /etc/modprobe.d/disable_ipv6.conf 文件(需要root权限)
disable 设置成 0

options ipv6 disable=0

编辑 vim /etc/sysconfig/network 文件(需要root权限)
NETWORKING_IPV6 设置成 yes

NETWORKING_IPV6=yes

然后执行 service network restart 重启

编辑 /etc/sysctl.conf 文件(需要root权限)

net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0

再运行 sysctl -p 的命令,启用IPv6 (需要root权限)

开启IPv6

使用 ip addr 查看是否已经有 inet6 的地址,如果有说明已经开启ipv6

[work@xxx tmp]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:16:3e:30:58:e6 brd ff:ff:ff:ff:ff:ffinet 172.17.252.95/20 brd 172.17.255.255 scope global dynamic eth0valid_lft 31454018sec preferred_lft 31454018secinet6 fe80::216:3eff:fe30:xxxx/64 scope linkvalid_lft forever preferred_lft forever

其他

如果有Nginx 服务,需要监听 IPv6的地址
如下所示,加个 listen [::]:80 ipv6only=on; 即可(如果出现不支持,或者nginx版本太低,可能没有加入ipv6的支持,需要重新编译 --with-ipv6 的版本)

server {listen       80;listen [::]:80 ipv6only=on;server_name  www.xxx.com;index index.php;...

使用 netstat -tuln 来查看是否用 tcp6 ::80的监听,如果有则说名监听成功
类似这种

tcp6       0      0 xxx:xxx:23:11f6::2:80  :::*                    LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN
tcp6       0      0 :::443                  :::*                    LISTEN

如果没有netstat,安装一下 sudo yum install net-tools -y

2. IPv6隧道配置

到 https://tunnelbroker.net/ 网站申请一个tunnel
(有人说qq邮箱收不到验证邮件,建议使用Gmail)
注册步骤就不说了,注册后需要验证邮箱,然后登陆

创建Tunnel

IPv4 Endpoint 需要些服务器的外网IP地址,也就是用这个IP能访问到你的服务。

查看Tunnel信息


红框里面的 Client IPv6 Address 就是你的IPv6 地址,之后解析域名的时候用的就是它(域名里不用写“/64”)哦~

配置信息

注意这里的 local ip需要写内网IP,下面的NOTE: 已经用英文说明了

然后把这一坨命令直接在服务器上运行就行了(注意需要root权限)

测试 ping6 he.net

[work@iz2ze4p8dzdjgu7fh60vqcz tmp]$ ping6 he.net
PING he.net(he.net (2001:470:0:76::2)) 56 data bytes
64 bytes from he.net (2001:470:0:76::2): icmp_seq=1 ttl=58 time=432 ms
64 bytes from he.net (2001:470:0:76::2): icmp_seq=2 ttl=58 time=435 ms
64 bytes from he.net (2001:470:0:76::2): icmp_seq=3 ttl=58 time=441 ms
64 bytes from he.net (2001:470:0:76::2): icmp_seq=4 ttl=58 time=429 ms
^C

能ping通说明已经配置成功。

接下来只需要在DNS解析里面,将域名指向ipv6的地址即可,需要用AAAA记录
AAAA xxxx 2001:xxxxx
解析之后可以用 wget -6 http://xxxxxxx 来验证你的解析是否正确以及IPv6是否ok。如果能获取到网页信息,说明一切正常。(https同理)

3. 配置静态服务

静态服务器一般都有自带的CDN啥的,这些都ok,只是需要一个支持IPv6的域名CNAME到你自己的CDN就行了。
国内的DNS不要想了,基本都没法用,我这里用的国外的 cloudflare免费版
https://www.cloudflare.com

首先先用邮箱注册一个账号。

添加网站

然后添加网站。只需要写 xxx.com就行了,不需要二级域名

点击scan

然后他会有40多秒的时间去扫面此域名的DNS解析,同时会给你播放一个动画片

查看DNS解析

扫描结果页面一般都是空的,直接点 CONTINUE 继续就可以了

这里会让你选平台,当然是免费的

移交 DNS 解析

这里要注意了,是要把域名的DNS解析交接到 Cloudflare上面。

需要到你的域名运营商那里,设置域名的 DNS 【管理】
!!【重要】一旦将 DNS【管理】 修改到 cloudflare上面后,原来域名的所有解析将失效!!
所以不建议用原来的域名,建议新申请个域名来做这个事儿。

设置完解析后,点击CONTINUE
Cloudflare会去尝试接管此域名,
有可能会提示 解析失败,需要点击retry来重新检测

Status:Active 说明解析成功,这时候Cloudflare就可以解析你的DNS域名了

然后你需要在你的CDN服务商建立一个新的域名,然后将Cloudflare添加你自己的域名CNAME到你的新CDN域名即可

使用wget -6 http://xxxxx.png 来测试静态资源是否支持ipv6

ipv6-test

http://ipv6-test.com/validate.php 测试结果如下

备注:
所有的wget -6 需要在支持ipv6的机器上使用,比如你上面配置好的IPv6的服务器。

如果只是为了给苹果审核用,可能需要在代码里针对IPv6地址做特殊处理,比如IPv6地址访问的时候,需要返回IPv6的CDN地址。所以建议在返回的通用方法里统一做一次“替换”,以无缝接入IPv6。

我们是给IPv6单独部署了一台服务器,没有在整体的负载均衡下面,具体的负载均衡下的IPv6设置,暂时还没研究。

阿里云服务器以及CDN支持IPV6的方法相关推荐

  1. 终端连接阿里云服务器出现Permission denied (publickey)解决方法

    今天在使用终端连接阿里云服务器出现Permission denied (publickey)这个问题,解决方法如下: 登录阿里云后台查看PasswordAuthentication cat /etc/ ...

  2. 阿里云服务器不能发邮件的解决方法

    最近把一个项目部署到阿里云服务器上了,项目的其他页面都可以在浏览器上显示出来.需要实现的功能是点击注册按钮是需要通过发送一封邮件给注册的邮箱,客户通过点击邮箱的链接来激活注册的账号.但是在注册页面,用 ...

  3. 阿里云服务器带宽测速四种方法

    服务器带宽测速的方法有下载测速.ping测试.第三方测速网站和路由追踪几种方法,服务器带宽网来详细说下服务器带宽测速方法: 服务器带宽测速 服务器可选传统IDC,也可以选择云服务器,如阿里云.腾讯云等 ...

  4. 阿里云服务器远程连接账号密码获取方法

    阿里云服务器远程连接登录用户名和密码在哪查看?阿里云服务器默认密码是什么?云服务器系统不同默认用户名不同,阿里云服务器没有默认密码,如果没有设置密码需要先重置实例密码再远程连接,阿小云来详细说下阿里云 ...

  5. 阿里云服务器访问恶意域名_处理方法

    问题 解决方法 点击详情找到ip,配置安全组规则:

  6. 阿里云服务器支持IPV6和CND的详细教程

    「特别注意:阿里云已经提供了 IPV6 的负载均衡,所以尽量直接使用阿里云的服务,避免自己搭建,引发不必要的麻烦」 自从AppStore要求必须支持IPv6后,国民感到震惊的同时,也加速了国内的ipv ...

  7. 阿里云服务器DDoS防御方法免受攻击的详细内容

    阿里云服务器会被攻击吗?为什么阿里云服务器经常被攻击?无论是阿里云还是其他厂商都有可能被攻击,阿里云服务器市场占有率高,所以被攻击概率高也是正常的,护云盾来详细说下阿里云服务器被DDoS攻击的解决方法 ...

  8. 阿里云服务器包年包月/按量计费/抢占式实例模式选择方法

    阿里云服务器付费模式如何选择?阿里云ECS云服务器付费模式分为包年包月.按量计费和抢占式实例三种,三者有什么区别?云服务器选择哪种付费模式更划算?阿里云百科分享阿里云服务器付费模式区别及选择方法: 阿 ...

  9. 阿里云服务器ESSD云盘吞吐量IOPS及性能级别PL0、PL1、PL2和PL3参数说明

    阿里云服务器ESSD云盘结合25 GE网络和RDMA技术,单盘高达100万的随机读写能力和单路低时延性能,阿小云来详细说下阿里云ESSD云盘性能级别PL3.PL2.PL1和PL0,ESSD云盘最大IO ...

最新文章

  1. tap/tun设备 veth设备
  2. 全球最大“同性”交友网站GitHub或被微软收购,收购价可能高达 50 亿美元
  3. 记录自定义的代码片段位置
  4. iptables--静态防火墙实例教程
  5. Flutter路由管理代码这么长长长长长,阿里工程师怎么高效解决?(实用)
  6. 猎豹浏览器截图在哪 猎豹浏览器如何截图
  7. Oracle的锁表与解锁
  8. 经典算法题每日演练——第七题 KMP算法
  9. 敏捷开发的相关学习文档路径
  10. 碳中和数据集 1991-2020全球中国省级地级市县级市区各行业碳中和二氧化碳排放量碳封存 能源消费能源消耗能源结构数据大全
  11. html+css的响应式个人简历
  12. 生物信息学_分子数据库(二)核酸
  13. 在寂静的夜中、独自沉沦_悲伤QQ个人签名
  14. CocoStudio图片资源加密
  15. Java开发必备技巧
  16. ENVI 混合像元分解
  17. 新生宝宝办证-STEP1-出生证明办理
  18. Python读写yaml文件(使用PyYAML库)
  19. 主板有电无法启动_【主板不通电无法开机】主板不通电怎么修_主板通电但是开不了机...
  20. 【JavaEE】HTTP 协议详解 ( 使用fiddler进行抓取http请求/相应包)

热门文章

  1. Java 性能笔记:自动装箱/拆箱(转)
  2. python记时命令
  3. drv8833 马达控制
  4. 转载HTMl转义字符大全
  5. python中strip的用法_Python中你不知道的strip()函数的妙用
  6. 采用STM32外部中断模式控制LED灯亮灭
  7. hadoop 3.0+ 版本安装访问50070失败处理方法
  8. 获取本地音乐文件的专辑,图片,音乐信息
  9. TX2 刷机 安装 jetpack 卡在determining IP adress问题
  10. 大数据主要有什么用,有什么价值?