阿里云 centos 6.8 及以上配置ipv6

来源:互联网 发布:xp系统分区软件 编辑:程序博客网 时间:2024/06/03 22:42

一、 因为阿里云的公开CentOS 镜像去掉 IPV6 支持,所以系统内核是不加载IPV6驱动模块,故需要首先添加IPV6驱动模块:
进入 /etc/sysconfig/modules,然后创建一个脚本,命名为ipv6.modules(ipv6名字可以改但后缀名不能变),然后编辑其内容如下:

#!/bin/shif [ ! -c /proc/net/if_inet6 ] ; then  exec /sbin/insmod /lib/modules/`uname -r`/kernel/net/ipv6/ipv6.kofi

注意:保存并修改文件属性为可执行文件:chmod +x ipv6.modules:

重启服务器,使用lsmod查看是否加载了ipv6的模块

二、 开启IPV6隧道
1. 修改/etc/sysctl.conf中ipv6的配置,如下
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
2. 修改/etc/modprobe.d/disable_ipv6.conf的配置,如下
alias net-pf-10 off
options ipv6 disable=0
3. 修改/etc/sysconfig/network的配置(没有则添加),如下
NETWORKING_IPV6=no
4. 修改/etc/sysconfig/network-scripts/ifcfg-eth0,添加下列配置:
IPV6INIT=yes
IPV6_AUTOCONF=yes
5. 做完以上步骤以后记得要重启服务器

三、 注册he账号,并生成一个tunnel,网址:https://www.tunnelbroker.net/
1.创建tunnel
1)登录后点击左侧的Create Regular Tunnel
2)输入你的服务器公网ip
3)选择一个延迟比较低的服务器,可以自己ping一下
4)centos操作系统选择Example Configurations->linux-route2,示例如下

modprobe ipv6ip tunnel add he-ipv6 mode sit remote 74.82.46.6 local xxx.xxx.xxx.xxx ttl 255ip link set he-ipv6 upip addr add 2003:581:48:565::2/64 dev he-ipv6ip route add ::/0 dev he-ipv6

注意:上例xxx.xxx.xxx.xxx地址是阿里云的内部IP

5)代码到服务器执行(如果想开机自动执行,可以修改/etc/init.d/network,把粘贴的代码加到start中)
四、 解析AAAA到(请到您的域名提供商后台做相应操作)
阿里云是支持这种解析的,但dns会报错,经测不影响appstore审核,ipv6的地址就是上一步中申请的ip 2003:581:48:565::2
注意去掉ip地址末尾的”/64”
五、 nginx监听ipv6
编辑/etc/nginx/conf.d/default.conf,将server段的listen语句修改如下
listen 80;
listen [::]:80 ipv6only=on;

六、 测试

方法1. http://ipv6-test.com/validate.php 在这个网址中输入你的域名就可以了,只要下面两项可以过就可以提交app审核了
方法2.http://www.subnetonline.com/pages/network-tools/online-port-scanner.php