最近iOS app提交核 常常遭到拒绝,被告知IPv6-only环境下无法正常使用应用,于是配置app服务端为IPv6环境避免审核时服务无法响应的问题。因为只用应付苹果审核,所以只用配置一台服务能正常使用就好。按照以下步骤操作即可。

登录服务器

vim /etc/modprobe.d/disable_ipv6.conf

注释所有禁用状态 #alias net-pf-10 off #alias ipv6 off #options ipv6 disable=1

设置

vim /etc/sysconfig/network    
  
NETWORKING_IPV6=yes

添加以下允许ipv6的配置到sysctl

vim /etc/sysctl.conf  

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

重启服务器

注册免费IPv6隧道服务he.net

Create Regular Tunnel IPv4 Endpoint (Your side): 填写服务器公网IPv4的IP 选择隧道服务区 Asia Hong Kong 创建隧道 获取到 Client IPv6 Address:2001:470:18:fd7::2/64 2001:470:18:fd7::2将会用到后面的域名解析中

从he选择示例代码 linux-net-tool (以下只是实例每个隧道会有对应代码)

ifconfig sit0 up
ip a
ifconfig sit0 inet6 tunnel ::000.000.000.6
ip a
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:000:00:000::2/64
route -A inet6 add ::/0 dev sit1

修改nginx的ipv6监听为以下 (443端口为https使用,还需要配置ssl相关)

   listen 80;
   listen [::]:80 ipv6only=on default_server;
   listen 443;
   listen [::]:443 ipv6only=on;

如果是其他web服务也要配置相关监听

如果开启了iptables服务需要设置规则

iptables -A OUTPUT -p 41 -j ACCEPT
iptables -A INPUT -p 41 -j ACCEPT

配置域名解析 AAAA到He分配的ipv6地址

ex Client IPv6 Address:2001:470:18:fd7::2/64

需要配置 AAAA -》 2001:470:18:fd7::2

测试ipv6是否生效

ipv6-test.com AAAA DNS record 2001:470:18:fd7::2 IPv6 web server nginx/1.0.15 web server 响应正常则表示成功


本文地址
本文采用 知识共享署名 4.0 国际许可协议进行许可,欢迎转载内容,并请注明出处。