现在越来越多的网站要求架构ipv6,特别是一些政务性的网站,上级直接要求必须架构ipv6。
后续会持续干货输出,谢谢大家了。
(一)下面我们先来了解什么是ipv6
IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址 。
由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。 IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍 。
IPv6为128位二进位制,为方便表示规定以16位二进制为一组,每组以冒号”:”隔开,可以分为8组,每组以4位十六进制方式表示。 16位二进制 * 8 128位二进制 1111 1111 1111 1111:: 4位十六进制 *8 32位十六进制 1 1 1 1:: 如果几个连续段位的值都是0,那么这些0就可以简单地以::来表示,在一个IPv6地址中只能用一次。
(二)下面以centos7为例
当然这个ipv6架构的前提,是你服务器有提供ipv6的地址,这个往往可以联系服务器的提供商进行获取。
1、IP配置:
其配置信息如下
2、配置DNS:
其配置信息如下:
3、 重启网卡
(三)网站域名添加IPv6解析记录
请将根域名涉及IPv6转换的主机名添加ipv6类型记录至分配的IPv6地址
比如带www的域名,www.test.com需进行IPv6转换,则添加一条主机名为 www 的 AAAA 记录类型。
(四)如何测试网站已支持ipv6
1、使用命令: ping -6 IPV6 地址。
注意若要测试ping IPV6是否正常,服务端和客户端都必须支持并正确配置了IPV6地址。
2、国家IPv6发展检测平台
地址: https://www.china-ipv6.cn/#/checkTools 可以进行检测是否支持ipv6。
1)判断服务器是否支持IPv6 :
http://ipv6-test.com/validate.php
2)检测当前设备打开网站的连接方式是IPv4还是IPv6:
http://test-ipv6.com/
https://blog.csdn.net/quantum7/article/details/81016198
苹果文档
苹果上架要求:要求支持IPV6only(因为阿里云主机没有IPV6only)
运维或后台可通过以下方式来检测服务器是否开启了ipv6通道:
方式1:使用ifconfig查看自己的IP地址是否含有IPv6地址。
方式2.查看服务监听的IP中是否有IPv6格式的地址。(netstat -tuln)
开启IPV6:
vim /etc/sysctl.conf
vim /etc/modprobe.d/disable_ipv6.conf
vim /etc/sysconfig/network
至此ipv6的服务器端支持已经完成,重启服务器测试是否支持ipv6,重启后, ifconfig查看ipv6的信息,有看到有关IPV6的输出就可以
以上是阿里的ipv6
1.查看服务器是否加载ipv6模块
lsmod | grep ipv6
如没有任何回显,则说明没有加载
加载ipv6模块
modprobe ipv6
再次运行lsmod | grep ipv6,如出现回显,则说明ipv6已经正常加载
2.修改配置文件启用ipv6
vi /etc/modprobe.d/ipv6.conf
修改options ipv6 disable=0
备注:如果是centos5的系统,配置文件在vi /etc/modprobe.conf,注销
alias net-pf-10
alias ipv6 disable=1 这两行
vi /etc/sysconfig/network
添加NETWORKING_IPV6=yes
配置文件修改完成之后,保存退出
然后service network restart 使配置生效
3.检查内核是否已经支持ipv6
sysctl -a | grep ipv6 | grep disable
运行以上命令,查看有无回显,若有回显说明内核已经支持ipv6
若没有回显,重启服务器,使内核生效
4.开启内核参数支持ipv6
执行上述步骤之后,运行如下命令使内核开启ipv6
sysctl -w net.ipv6.conf.all.disable_ipv6=0
再次运行sysctl -a | grep ipv6 | grep disable
若参数全部为0,则说明ipv6已经全部支持
5.在网卡上配置ipv6地址
以上配置都完成之后,网卡就可以支持ipv6地址了,启用一个试试吧
备注:以上全部步骤,所有修改参数的动作均是临时修改,如果想永久生效,请修改对应的配置文件,如sysctl.conf、ifcfg-eth0.conf
-------------------------------------
sysctl -p
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_window_scaling = 1
net.ipv6.conf.all.disable_ipv6 = 0
sysctl -a | grep ipv6 | grep disable
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.eth0.disable_ipv6 = 0
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)