一、监听端口
从Nginx 1.3的某个版本起,默认ipv6only是打开的,所以,我们只需要在监听中加入ipv6监听即可,不过推荐都手动加上比较好,代码如下:
listen [::]:80 ipv6only=on; server { listen 80; listen [::]:80 ipv6only=on; server_name index index.php index.html index.htm; root }
编辑完毕后保存,然后使用命令检测配置是否正确:
nginx -t
重启nginx
systemctl restart nginx
检测监听是否已经成功,如果列表出现 :::80的监听代表ipv6的监听已经成功。
netstat -tuln
二、其他个性化操作
如果只想监听ipv6,则去掉ipv4的配置,然后将ipv6设置为默认即可。
server { listen [::]:80 default ipv6only=on;
如果想监听指定ipv6地址,则将中括号中的:: 换成 指定ipv6地址即可。
server { listen [2001:470:1f18:471::21]:80 default ipv6only=on;
三、阿里云服务器设置IPV6支持并通过AppStore审核
苹果上架要求:要求支持IPV6only(因为阿里云主机没有IPV6only)
确认IPV6是否开启:
方式1:使用ifconfig查看自己的IP地址是否含有IPv6地址。
方式2.查看服务监听的IP中是否有IPv6格式的地址。(netstat -tuln)
开启IPV6:
vim /etc/sysctl.conf
vim /etc/modprobe.d/disable_ipv6.conf
#全部注释掉
#alias net-pf-10 off
#options ipv6 disable=0
vim /etc/sysconfig/network
至此ipv6的服务器端支持已经完成,重启服务器测试是否支持ipv6,重启后, ifconfig查看ipv6的信息,有看到有关IPV6的输出就可以
添加ipv6隧道:
1. 注册Tunnel broker
https://www.tunnelbroker.net/
注册很容易,就不讲了,注册需要邮箱验证,,gmail、163能收得到认证邮件,qq还是一样收不到
2.创建通道“Create Regular Tunnel”
填写云服务器ip以及选择默认的隧道节点,点击Create Tunnel创建。填写ip都,如果出现“IP is a potential tunnel endpoint.”则证明可以添加ipv6隧道,一般隧道节点系统已经默认分配,可以手动选择,大家可以在自己的云服务器上分别ping一下这些ip,选时延低的。
注意:云服务器安全组需要开放ICMP,不然不会出现“IP is a potential tunnel endpoint.”
3.创建ipv6隧道及路由
到下一页面切换到Example configurations选项卡,如果你的VPS是centOS/Debian这些常见Linux的话,下拉菜单选择Linux-route2,出现了设置的命令,
注意这样一定要把 local 后面的ip改成内网ip。再在命令最后一行多留一个换行符,不然最后一行命令不会执行。复制到自己的云服务器上运行。重启会实效。
4.测试ipv6
添加ipv6的dns服务器,在最后添加nameserver 2001:4860:4860::8888,nameserver 2001:4860:4860::8844谷歌的ipv6 dns服务器
# vim /etc/resolv.conf
#重启会实效 options timeout:1 attempts:1 rotate nameserver x.x.x.x nameserver x.x.x.x nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844
# ping6 -c 5 ipv6.google.com PING ipv6.google.com(tsa03s01-in-x0e.1e100.net) 56 data bytes 64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=1 ttl=55 time=25.5 ms 64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=2 ttl=55 time=25.5 ms 64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=3 ttl=55 time=33.1 ms 64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=4 ttl=55 time=25.5 ms 64 bytes from tsa03s01-in-x0e.1e100.net: icmp_seq=5 ttl=55 time=25.4 ms --- ipv6.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4031ms rtt min/avg/max/mdev = 25.473/27.040/33.180/3.073 ms
阿里云服务配置
代理配置好之后服务器中执行ifconfig命令,找到he-ipv6虚拟网卡,找到scope为Global 的ipv6地址,在阿里云后台配置AAAA记录为上面提到的ipv6地址
阿里云文档:https://help.aliyun.com/knowledge_detail/39813.html
在线测试:http://ipv6-test.com/validate.php
结果显示,已经正确访问到网站。可以通过AppStore审核了。