ipv6
一、内核支持配置:
[*] Networking support --->
Networking options --->
<*> The IPv6 protocol --->
[*] IPv6: Router Preference (RFC 4191) support //在多路由的网络中,允许系统能够更有效地计算出该使用哪一个
[*] IPv6: Route Information (RFC 4191) support //处理路由信息的实验性特性启用或禁用
[ ] IPv6: Enable RFC 4429 Optimistic DAD //重复IPv6地址检测
<*> IPv6: AH transformation //IPv6可以有不同的IPsecc特性支持
<*> IPv6: ESP transformation //IPv6可以有不同的IPsecc特性支持
<*> IPv6: IPComp transformation //IPv6可以有不同的IP负载压缩协议
< > IPv6: Mobility //IPv6的移动设备在保留同样地址的情况下使用其他的网络
<*> IPv6: IPsec transport mode //IPv6的IPsec特性
<*> IPv6: IPsec tunnel mode //IPv6的IPsec特性
<*> IPv6: IPsec BEET mode //IPv6的IPsec特性
< > IPv6: MIPv6 route optimization mode //IPv6可以支持MIPv6路由优化
< > Virtual (secure) IPv6: tunneling
<*> IPv6: IPv6-in-IPv4 tunnel (SIT driver) //通过隧道使IPv6报文穿越IPv4网络
[ ] IPv6: IPv6 Rapid Deployment (6RD)
< > IPv6: IP-in-IPv6 tunnel (RFC2473) //隧道特性
< > IPv6: GRE tunnel //只允许GRE隧道
[*] IPv6: Multiple Routing Tables //支持多重路由表
[ ] IPv6: source address based routing //允许根据源地址或前缀进行路由
[ ] IPv6: multicast routing //IPv6组播路由
二、设置
增加IP:
ip -6 addr add fe80::dcdc:dcdc:dcdc:dcdc/16 dev eth0
删除IP:
ip -6 addr del fe80::dcdc:dcdc:dcdc:dcdc/16 dev eth0
查看IP:
ip -6 addr show dev eth0
增加网关:
route -A inet6 add default gw fe80::/16 dev eth0
删除网关:
route -A inet6 del default gw fe80::/16 dev eth0
查看网关:
ip -6 route show dev eth0
注意:
如果设置IP了,就已经默认设置了网关,没必要再设置网关了。而且设置同一网段网关会报错,设置不同网段网关也会报错。错误如下:
错误1:
~ # route -A inet6 add ::/0 gw 2001::/16 dev eth0
route: getaddrinfo: 2001::/16: -2
route: resolving 2001::/16
解析:
已经有此网段的网关 添加重复
错误2:
route -A inet6 add ::/0 gw 3ffe:fff::0
route: SIOCADDRT: No route to host
解析:
没有相同网段的IP
IP类型:
1.单播地址(unicast address)
1.1.全局单播地址:
由IANA分配的可在全球路由的公网IP地址,占用了12.5%的IPV6地址空间,这个前缀中总共包含8192个/16的前缀
2xxx:xxxxx/3 - 3FFF: :FFFF
2001::/16 IPV6为因特网地址
2002::/16 6to4为过渡地址
3ffe::/16 用于6bone测试目的的前缀
1.2.链路本地地址:FE80::/10
一个节点启用IPV6,启动时节点的每个接口自动生成一个link-local address。本链路上,路由表中看到的下一跳都是对端的Link Local地址,不是公网IP地址
格式:
| 10 | | bits | 54 bits | 64 bits | +----------+-------------------------+----------------------------+ |1111111010| 0 | EUI-64 | +----------+-------------------------+----------------------------+
通讯范围:只能在本地链路使用,不能在子网间路由
手工指定:ip -6 addr add FE80:0:0:0:0123:0456:0789:0abc link-local
1.3.站点本地地址:FEC0::/10
IPV6的私网地址,IPV6地址空间的0.1%
格式:
| 10 | | bits | 54 bits | 64 bits | +----------+-------------------------+----------------------------+ |1111111011| 子网ID | 主机ID | +----------+-------------------------+----------------------------+
通讯范围:只能在本站点内使用,不能在公网上使用
1.4.未指明地址: 0:0:0:0:0:0:0:0/128 => ::/128
表示地址未指定,或者在写默认路由时代表所有路由
1.5.环回地址:0:0:0:0:0:0:0:1/128 => ::1/128
同IPV4中127.0.0.1地址的含义一样,表示节点自已
1.6.IPv4兼容地址:::192.168.30.1 => ::C0A8:1E01
IPV4兼容的IPV6地址--用于在IPV4网络上建立自动隧道,以传输IPV6数据包:高96bit设为0,后面跟32bit的IPV4地址:0000:0000:0000:0000:0000:0000:206.123.31.2
格式:
| 80 bits | 16 | 32 bits | +--------------------------------------+--------------------------+ |0000..............................0000|0000| IPv4 address | +--------------------------------------+----+---------------------+
映射IPV4的IPV6地址--仅用于拥有IPV4和IPV6双协议栈节点的本地范围:高80bit设为0,后16bit设为1,再跟IPV4地址:0000:0000:0000:0000:0000:ffff:206.123.31.2
格式:
| 80 bits | 16 | 32 bits | +--------------------------------------+--------------------------+ |0000..............................0000|FFFF| IPv4 address | +--------------------------------------+----+---------------------+
2.组播地址(Multicast Address)FF00::/8
在IPV6中没有广播,用组播来代替。 占用了0.38%的IPV6地址空间
格式:
| 8 | 4 | 4 | 112 bits | +------ -+-----+----+---------------------------------------------+ |11111111|标志位|范围| group ID | +--------+-----+----+---------------------------------------------+
标志位为0000:永久保留的组播地址,分配给各种技术使用
标志位为0001:用户可使用的临时组播地址
范围为1:本地接口范围
范围为2:本地链路范围
范围为4:本地管理范围
范围为5:本地站点范围,类似组播的私网地址
范围为8:组织机构范围
范围为e:全球范围,类似组播的公网地址
其余为保留
预定义组播地址:
FF02::1 all nodes 在本地链路范围的所有节点
FF02::2 all routers 在本地链路范围的所有路由器
FF02::5 all ospf routers OSPF路由器
FF02::6 OSPFIGP路由器
FF02::9 all rip routers 所有运行RIP的路由器
FF02::A all eigrp routers 所有运行eigrp的路由器
FF05::2 在一个站点范围内的所有路由器
3)任播地址(anycast address)
应用在one-to-nearest(一到近)模式。多个设备共享一个地址.分配IPv6单播(unicast)地址给拥有相同功用的一些设备.发送方发送一个以任意播为目标地址的包,当路由器接受到这个包以后,就转发给具有这个地址的离它最近的设备.单播地址用来分配任意播地址.对于那些没有配备任意播的的地址就是单播地址;但是当一个单播地址分配给不止一个接口的时候,单播地址就成了任意播地址。
Mobile方面的特性,移动设备漫游到其他区域,不必接入原始的接入点,只需要找到最近的即可。
一旦节点启用IPV6,那么接口就会自动生成下列地址
1、本地链路地址
2、回环地址
3、所有节点多播地址FF02::1
4、如果是路由器,还会有FF02::2
5、被请求节点的组播地址
如果接口配了一个IPV6的单播地址,还会产生被请求节点的组播地址
4)特殊地址
~ 环回地址 ::1/128
~ 组播地址 FF00::/8
~ 链路本地地址 FF80::/10
~ 站点本地地址 FEC0::/10
~ 未指定的地址 ::0/128
~ 全局单播 其他地址
路由公告(无状态自动配置机制):使用EUI-64格式来自动配置IPV6地址,功能:网络中没有DHCP服务器的情况下,允许节点自行配置IPV6地址的机制
EUI-64格式:扩展惟一标识符
EUI-64的构造规则--根据接口的MAC地址再加上固定的前缀来生成一个IPV6的地址
工作原理:自动将48bit的以太网MAC地址扩展成64bit,再挂在一个64bit的前缀后面,组成一个IPV6地址
一、将48位的MAC地址从中间分开,插入一个固定数值FFFE
0050:3EE4:4C00-->0050:3EFF:FEE4:4C00
二、将第7个比特位反转,如果原来是0,就变为1,如果原来是1,就变为0
0050:3EFF:FEE4:4C00-->0250:3EFF:FEE4:4C00
三、加上前缀--FE80::0250:3EFF:FEE4:4C00 这就是一个完整的IPV6地址
反转的原因:
在MAC地址中,第7比特为1表示本地管理,为0表示全球管理
在EUI-64格式中,第7位为1表示全球惟一,为0表示本地惟一
配置方式:
1.手工:
ip -6 addr add 2001::1/64 全局单播
ip -6 addr add FE80:0:0:0:0123:0456:0789:0abc link-local 链路单播
2.路由公告:
ip -6 addr add 2001:0410:0:1::/64 eui-64