新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > 互联网 > 知识技巧

IPv6入门指南

时间:2019-05-05 11:47:28  来源:  作者:
IPv6系列-入门指南

 

本文是《IPv6系列》文章的第一篇《入门指南》,用于快速了解并上手IPv6。

小慢哥的原创文章,欢迎转载


目录

▪ 一. 为什么要了解IPv6

▪ 二. 顾虑:IPv6地址太复杂了,记不住啊

▪ 三. 顾虑:每台服务器都有IPv6地址,会暴露整个内网,不安全

▪ 四. 顾虑:IPv6地址有好几种类型,很难区分和记忆

▪ 五. 需要学哪些知识

▪ 六. IPv6基础知识

▪ 七. IPv6地址生成

▪ 八. 常用命令

▪ 九. 在线测试工具

▪ 十. 开启与关闭IPv6

▪ 十一. 在CentOS7上配置静态IPv6地址

▪ 十二. 如何让我的网站对外提供IPv6服务


一. 为什么要了解IPv6

你以为我会讲些“正确的废话”,比如IPv6地址空间巨大,可以让地球上的每一粒沙子拥有一个IP地址?比如IPv6更加安全?

错!我才不在意这些,这跟我们有什么关系。

我要讲的,是不上IPv6,会有哪些后果。

1️⃣ 势不可挡:各大运营商已经在全面铺设IPv6,包括手机、家庭宽带,比如笔者所在地福州的移动4G手机,已经获得IPv6地址。

2️⃣ 坐以待毙:当IPv6占用率达到一定比例的时候,我相信已有的网站、新申请备案的网站,会被强制要求上IPv6,如果不配置,已有网站停止运营、申请备案不予通过。甚至,到那时,手机、家庭宽带,会仅获得IPv6地址,无法获得IPv4地址。最后,IPv4从中国互联网中废除。

通过上述2点,可以知道,作为服务端(如WEB服务提供方)是必须要上IPv6的,否则不仅无法运营、连用户也都无法访问。

那么,内网需要IPv6吗

▪ 家庭内网,比如连着wifi的手机、电脑

▪ 企业内网,比如办公室内每个工位上的电脑

▪ 数据中心内网,比如机房内的服务器、公有云主机

这些内网环境,是否也需要配置ipv6地址?

答:只要你想访问IPv6互联网,就必须要在终端上配置IPv6地址。原因在于“IPv6优先原则”,越来越多的程序,比如各大编程语言的许多主流模块/框架,在进行域名解析时,会通过dns优先查询AAAA记录(对应IPv4的A记录) ,若该域名有提供IPv6访问,就必然会解析出AAAA记录。接着,就会优先通过IPv6来访问(即使本机没有配置IPv6,甚至没有启用IPv6),如果IPv6网络不通,则该访问直接失败,即便有的模块/框架在失败后会尝试IPv4,但已经增加了许多的延时

综上所述,IPv6已经来临,而不是还在讨论中,现在没有任何理由继续固守IPv4了。与其坐以待毙,不如主动学习


二. 顾虑:IPv6地址太复杂了,记不住啊

说的好像IPv4地址你能背下来似的,其实IPv6地址只是长度增加,并且展示方式从十进制改为十六进制,具体的计算方式是一样的。而且有dns在,没必要去背IP地址,就算是内网的IPv6地址,也可以通过DHCPv6或者路由器发送RA包来自动生成IPv6地址。


三. 顾虑:每台服务器都有IPv6地址,会暴露整个内网,不安全

担心是对的,但解决方案也和IPv4一样,有2种:

▷ 可以在内网服务器上配置“IPv6私网地址”,这样公网就访问不到了。在IPv6中,私网地址是fd00::/8,这相当于IPv4的10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。然后在网关上配置NAT

▷ 依然用“IPv6公网地址”(即全球单播地址),但在网关上配置“有状态防火墙”

无论是哪种方案,最终都实现了“只出不进”,即服务器可以主动访问IPv6公网,但公网无法主动访问进来,保证了内网的安全。


四. 顾虑:IPv6地址有好几种类型,很难区分和记忆

什么全球单播、唯一本地、链路本地,类型太多了吧?其实,常用的IPv6地址,在IPv4中都能一一对应找到。

▷ 全球单播:对应IPv4的公网

▷ 唯一本地:对应IPv4的私网

▷ 链路本地:在IPv4中也有对应,就是169.254.x.x(这在IPv4中也叫链路本地)

至于其他类型的地址,要不然是被废弃的,要不然就是很少用到的,除非工作所需碰到,否则完全不用理会,上面这3种类型已经足够用了。除了这3种,下面这2个特殊地址一定很常见

▷ ::1,表示环回地址,对应IPv4中的127.0.0.1

▷ ::,表示未指定地址,对应IPv4中的0.0.0.0


五. 需要学哪些知识

▷ 开发、测试、DBA:只需简单了解IPv6即可,也就是本文看明白后基本就够了

▷ 运维人员:除了需要了解IPv6,还需要掌握IPv6通讯的工作原理、防火墙的配置等等,详见《IPv6系列》后续文章

▷ 网工:需要深入了解IPv6,包括IPv6的各类数据包格式、各种架构、多播路由通讯等等


六. IPv6基础知识

关于IPv6的教程,网络上已经有非常多写的很棒的教程了,笔者没有把握能写出更好的,因此《IPv6系列》文章,将把重点放在一些概念、解决方案、很多人没注意到的坑、工作原理等等

IPv6地址长度

▷ IPv4:32 bit

▷ IPv6:128 bit

可以这么记忆,IPv6比IPv4多了一倍的段落,并且每个段落里增加了一倍的长度,所以IPv6比IPv4长了2x2=4倍

IPv6地址组成

▷ IPv4:网络号+主机号/子网掩码,如192.168.1.2/24

▷ IPv6:前缀ID+接口ID/前缀长度,如2001:0000:0000:0000:0011:0000:0000:0010/64

地址简写

▷ IPv4:不支持

▷ IPv6:压缩0

注意:IPv6单个段落内可重复压缩,比如上述可压缩为2001:0:0:0:11:0:0:10/64;若多个段落连续为0,可压缩,但只能压缩一次,比如上述可进一步压缩为2001::11:0:0:10/64,或者2001:0:0:0:11::10/64,通常为前者

检验方法

找一台linux服务器,比如centos7系统,执行ip addr add ${IPv6地址} dev eth0,然后ip addr show dev eth0看一下会如何压缩

IPv6地址分类

IPv6系列-入门指南

 

注意:表格列出的是比较常见的地址,并非全部地址

另外,除了单播、多播,IPv6相比IPv4新增了一种任播(anycast),任播是属于单播范畴内的,无法单纯从地址识别出任播

术语

▪ 节点:任何运行IPv6的设备

▪ 路由器:转发不是发给自己的IPv6报文的节点

▪ 主机:非路由器的节点

▪ 接口:节点和链路相连的物理或逻辑配件

▪ 链路:由路由器分割的网络接口集合

▪ 邻居:同一链路上的节点

▪ 链路MTU:链路能传输的最大单位,即最大的IPv6报文字节数

▪ 路径MTU:IPv6源端和目的端之间能传输的最大的IPv6报文字节数,通常是路径中所有链路的最小链路MTU


七. IPv6地址生成

▷ IPv4:手工指定、dhcp分配

▷ IPv6:手工指定、dhcp分配、自动生成

在IPv6里,主流方案就是自动生成IP,而不是手工指定或dhcp分配。当然,作为服务端是需要手工指定的,但对于更广阔的客户端来说,基本都是自动生成。这种自动生成的,叫做“无状态”,相对于“无状态”,通过dhcp获取到的固定IP,就叫做“有状态”(dhcp也支持“无状态”,这里不做详解)

除了协议规定的特殊地址,其他可自行分配的地址,都是可以在具体范围内自动生成的,包括链路本地、全球单播、唯一本地。其中全球单播、唯一本地,是在接收到路由器发送的RA包后自动生成,具体生成的是全球单播还是唯一本地,是根据RA包内容中的前缀而定

如何自动生成的

无需关心,只要记住一点,能用即可。因为有多种自动生成的方法,有通过mac地址换算而来,有通过某种算法获得,也可能是完全随机而来,而且有的自动生成的地址还会每隔一段时间自动更换,不同的操作系统实现方法不一样,无法统一

为什么会出现这种无法统一的情况

原因在于IPv6协议一直在发展,新协议推翻老协议,每个实现者(也就是不同的操作系统)的诞生时间不同,所参考的协议就有可能不同,而且有的协议还支持不只一种方式,不同实现者出于不同的考量就会采用不同的方式。怎么办?没办法,要不然不理会,要不然投入精力去研究其不同之处,没有一劳永逸的方法。(这段话不仅适用IPv6地址,还适用其他方面,比如DHCPv6等等)


八. 常用命令

# 查看ip
ip -6 addr

# 查看路由
ip -6 route

# 查看多播地址
ip -6 maddr
netstat -gn

# 查dns AAAA记录(走ipv4线路)
dig -t AAAA fzxiaomange.com
nslookup -query=AAAA fzxiaomange.com

# 查dns AAAA记录(走ipv6线路)
dig @2620:0:ccc::2 -6 -t AAAA fzxiaomange.com
nslookup -query=AAAA fzxiaomange.com 2620:0:ccc::2

# 查dns AAAA记录(走ipv6线路的最纯粹、最完整、最靠谱方法)
dig @2620:0:ccc::2 -t AAAA -6 fzxiaomange.com +trace

# curl
curl -6 https://fzxiaomange.com

# ping
ping6 fzxiaomange.com

# trace route
mtr -6 fzxiaomange.com
traceroute6 fzxiaomange.com
tracert6 fzxiaomange.com
tracepath6 fzxiaomange.com

# 邻居地址解析,类似ipv4的arping
ndisc6 -n 2002::102 eth0

# iptables查看
ip6tables-save

# tcpdump
tcpdump -nnn -i eth0 ip6

九. 在线测试工具

▷ 公共dns列表

https://dns.icoa.cn/ipv6/

▷ 查询网站是否提供IPv6

https://ready.chair6.net/
http://ip6tools.com/#checkWebServer

▷ 查询我自己是否拥有公网IPv6地址

http://www.test-ipv6.com
http://ip6tools.com/#WhatisMyIPv6Address

十. 开启与关闭IPv6

# 检查ipv6是否开启
sysctl -a | grep ipv6 | grep disable # 如果输出的值是一堆0则表示ipv6是开启的
ip -6 addr | grep inet6,如果有看到fe80则表示ipv6是开启的

# 临时禁用ipv6
sysctl -w net.ipv6.conf.all.disable_ipv6=1

# 临时开启ipv6
sysctl -w net.ipv6.conf.all.disable_ipv6=0

# 彻底禁用ipv6
在grub里添加ipv6.disable=1,然后重启操作系统

十一. 在CentOS7上配置静态IPv6地址

1️⃣ 内核参数

# /etc/sysctl.conf里增加
net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6=0
net.ipv6.conf.lo.disable_ipv6=0

# 立即生效
sysctl -p

2️⃣ /etc/sysconfig/network里增加一行

NETWORKING_IPV6=yes

3️⃣ /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=yes
IPV6ADDR=2002::102/64
IPV6_DEFAULTGW=2002::1

4️⃣ 重启网络

systemctl restart network

十二. 如何让我的网站对外提供IPv6服务

1️⃣ 找你的运营商要IPv6地址

▷ 如果你的服务器是托管在电信机房里,那么就找电信运营商要,通常会给你一个/48或/56的地址段

▷ 如果你的服务器用的是公有云,比如阿里云、腾讯云,就找他们要,只不过由于IPv6还未全面普及,因此有的地域有提供IPv6,有的没有。另外,提供IPv6的方案也不完全一样,有的是以双栈方式,就是你的云主机里可以直接看到IPv6地址,而有的是负载均衡或者弹性IP方式提供。笔者的网站是放在腾讯云上,用的就是IPv6的L4负载均衡

2️⃣ 接下来,在dns里为自己的网站域名增加AAAA记录。(其实现在很多大厂dns服务器,即NS,还未提供纯IPv6线路的解析,比如笔者的个人网站域名解析商当前不支持ipv6-only,这点会在后续文章里进行详细说明)

3️⃣ 最后一步,测试IPv6,可通过https://ready.chair6.net/进行查询

这里展示下笔者个人网站支持IPv6后的效果

IPv6系列-入门指南

 

IPv6系列-入门指南
Tags:IPv6   点击:()  评论:()
声明:本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
本文是《IPv6系列》文章的第一篇《入门指南》,用于快速了解并上手IPv6。小慢哥的原创文章,欢迎转载目录▪ 一. 为什么要了解IPv6▪ 二. 顾虑:IPv6地址太复杂了,记不住啊▪ 三....【详细内容】
2019-05-05 11:47:28   点击:(3)  评论:(0)  加入收藏
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门
'); })();