admin 管理员组文章数量: 1086019
2024年1月10日发(作者:weigh是什么词性)
Ipv6
IPv6学习笔记
基础版
/vinsoney
SPOTO 全球 培训 ● 项目 ● 人才
1
Ipv6
1 Ipv6编址
1.1 基础
1.
2.
地址在简写的时候多个前导0可以省略成一个0
一个或多个连续的16比特字段为0时,可用::表示,但只允许一个::
Ipv6地址的URL表示: [ipv6地址] : 8080 //必须用 [ ] 括起来
1.2 地址分类
1.2.1 单播地址
Prefix
0000 0000
0000 0001
0000 0010
0000 0100
0000 0110
0000 1000
0001 0000
0010 0000
1. 可聚合全局单播地址 (Aggregatable global unicast address)
目前已经分配的全球单播地址前缀都是以001开头的,(2000:: 到 3FFF:3FFF:….FFFF)
Unicast Global [001]
2001::/16
SPOTO 全球 培训 ● 项目 ● 人才
0010 0000 0000 0001 IPv6 InternetARIN, APNIC, RIPE NCC, LACNIC
2
Hex
0000 – 00FF
0100 – 01FF
0200 – 03FF
0400 – 05FF
0600 – 07FF
0800 – 0FFF
1000 – 1FFF
2000 – 3FFF
Size
1/256
1/256
1/128
1/128
1/128
1/32
1/16
1/8
Allocation
Reserved
Unassigned
NSAP
IPX -> moving to Unassigned
Unassigned
Unassigned
Unassigned
Aggregatable: IANA to registers
2002::/16
2003::/16
2400:0000::/19
2400:2000::/19
2400:4000::/21
2600:0000::/22
2604:0000::/22
2608:0000::/22
260C:0000::/22
2A00:0000::/21
2A01:0000::/23
3FFE::/16
0010 0000 0000 0010
0010 0000 0000 0011
0010 0100 0000 0000
6 to 4 transition mechanisms
IPv6 InternetRIPE NCC
IPv6 InternetAPNIC
Ipv6
0010 0110 0000 0000
0010 0110 0000 0100
0010 0110 0000 1000
0010 0110 0000 1100
0010 1010 0000 0000
0010 1010 0000 0001
IPv6 InternetARIN
IPv6 InternetRIPE NCC
6bone
2. 本地站点地址 (Site-local address)
类似IPV4中的私有地址
以FEC0::为前缀。其中前十bits 固定为1111111011,紧跟在后面的是连续38bits 0。
对于站点本地地址来说,前48bits 总是固定的。在接口ID和48bits 特定前缀之间有16bits 子网ID字段,供机构在内部构建子网。站点本地地址不是自动生成的。
本地站点地址永远不会用于与全球ipv6因特网通信。一般用于内网通信
3. 链路本地地址 (Link-local address)
以FE80::/10为前缀,11-64位为0,只能在连接到同一本地链路的节点之间使用,主要是用于IPv6的一些协议中(比如邻居发现协议:NDP)。 当一个节点启动IPv6协议栈时,节点的每个接口会自动配置一个链路本地地址。这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信 。缺省网关使用链路本地地址
4. 特殊的地址
a) 未指定地址:全0地址 :: 0:0:0:0:0:0/128 或者 :/128
该地址可以表示某个接口或者节点还没有IP地址,可以作为某些报文的源IP地址(比如作为DAD报文的源IP DHCP)。用于IPv6节点在没有获取IPv6地址时的
b)
c)
回环地址:::1 0:0:0:0:0:1/128 或者::1/128
用于IPv6节点发送报文给自己
ipv4兼容地址
在过渡技术中会使用到一些包含IPv4地址的IPv6地址,为了让IPv4地址显得更加突出一些,定义了内嵌IPv4地址的IPv6地址格式。内嵌IPv4地址格式是过渡机制中使用的一种特殊表示方法。在这种表示方法中,IPv6地址的部分使用十六进制表示,IPv4地址部分是十进制格式。
0:0:0:0:0:0:192.168.1.2或者::192.168.1.2(96个0)
自动ipv4兼容隧道 nat-pt
SPOTO 全球 培训 ● 项目 ● 人才
3
Ipv6
1.2.2 Multicast
1. 地址结构
组播地址最高位前8位为1 FFXX::
Flags
Scop
为0000 永久分配的 ;
0:预留;
l:节点本地范围;单个接口有效,仅用于Loopback通讯
2:链路本地范围; FF02::1
5:站点本地范围;
8:组织本地范围;
E:全球范围;
F:预留。
为0001 临时分配的
用来限制组播数据流在网络中发送的范围。
2.
Group-ID 该字段长度可以为112位,用来标识组播组,而112位最多可以生成2112个组ID ,RFC2373并没有
将所有的112位都定义成组标识,而是建议仅使用该112位的最低32位组ID,将剩余的80位都置0。
IPv6有一些特殊的组播地址,这些地址有特别的含义
FF01::1(节点本地范围所有节点组播地址);
FF01 ::2(节点本地范围所有路由器组播地址);
FF02::1(链路本地范围所有节点组播地址);
FF02::2(链路本地范围所有路由器组播地址);
……
3. 被请求组播地址
在IPv6组播地址中,有一种特别的组播地址,叫做Solicited-node地址(请求节点组播地址)。
Solicited-node地址是一种特殊用途的地址.主要用于重复地址检测(DAD)和替代ipv4中的ARP。
Solicited-node地址由前缀FF02::1:FF00:0 / 104和ipv6单播地址的最后24位组成。一个ipv6单播地址对应一个Solicited-node地址。Solicited-node地址受限范围为本地链路范围。 FF02:0:0:0:0:1:FFXX:XXXX,用于地址解析、DAD
4.
多播的MAC地址映射
4
SPOTO 全球 培训 ● 项目 ● 人才
Ipv6
1.2.3 Anycast
适合于One-to-One-of-Many(一对一组中的一个)的通信场合。接收方只需要是一组接口中的一个即可,如移动用户上网就需要因地理位置的不同而接入离用户最近的一个接收站,这样才可以使移动用户在地理位置上不受太多的限制。
1.2.4 接口ID
接口ID可以根据IEEE EUI-64规范将48比特的MAC地址转化为64比特的接口ID
MAC地址的唯一性保证了接口ID的唯一性
设备自动生成,不需人为干预
U/L位为1表示全局唯一,为0表示本地唯一
接口ID也可由设备随机生成或者手工配置
1.2.5 所有节点必须具备的地址
链路本地地址
回环地址
FE80::/10
::1
SPOTO 全球 培训 ● 项目 ● 人才
5
所有节点组播地址
分配的可聚合全球单播地址
FF01::1;FF02::1
2000::/3
Ipv6
所使用的每个单播和任意播地址对应的被请求节点组播地址
主机所属的所有组的组播地址
以上是主机节点必须具备的地址,路由器的有所差异。
FF02::1:FFxx:xxxx 其中xx:xxxx是每个单播或任意播地址的低24比特
FF00::/8
1.2.6 ipv6地址配置方法
手工配置
自动配置
有状态地址自动配置(DHCPv6)
无状态地址自动配置
为了自动获得这个前缀,只要在路由器和主机之间运行一个协议即可。使用NDP协议的Router Solicitation恳求和Router Advertisement 通告消息。前者用于发现路由器,并促使路由器发送Router Advertisement消息通报前缀信息
RA源地址:目的地址:FF02::1 链路本地范围所有节点组播地址
RS的源ip是由设备自动产生的link-local地址,目标ip FF02::2 链路本地范围所有路由器组播地址
RA(ICMP 134) 接口自动产生link-local地址,具备IP连接能力 RS 133
RA中包含前缀、生存期、缺省网关等信息
缺省情况下ra 路由通告关闭,在接口下使用 no ipv6 nd suppress-ra
2 Header
1. 报头格式
SPOTO 全球 培训 ● 项目 ● 人才
6
Ipv6
a) 基本的IPv4报头包含12的字段,20个字节长。options和padding字段在需要时添加。
IHL 包头长度;
b)
c)
d)
Total Length 总长度;
基本的IPv6报头40个8位bit,即40个字节长。
IPv6数据包由一个基本报头加上0个或多个扩展报头再加上上层协议单元构成。
几个字段的含义
该字段定义了紧跟在IPv6报头后面的第一个扩展报头(如果存在)的类型,或者上层协议数据单元中的协议类型。
跳限制(Hop Limit):
FlowLabel:
2. 扩展报头
在IPv6中,v4中的选项被移到了扩展报头中。中间路由器就不需要处理每一个可能出现的选项,提高了路由器处理数据包的速度,提高了其转发性能。在扩展报头链的最后就是有效负载。
扩展报头可选,只有需要该扩展报头对应的功能,发送主机才会添加相应扩展报头
下一个报头(Next Header):
类似于IPv4中的TTL字段。它定义了IP数据包所能经过的最大跳数。每经过一个路由器,该数值减去1,当该字段的值为0时,数据包将被丢弃
逐跳选项报头(Hop-by—Hop Options Header)
传送路径上每个路由器都要处理,用于巨型数据包和路由器警报。如RSVP资源预留协议
目标选项报头(Destination Options Header) 向目标通告信息
路由报头(Routing Header) 强制经过特定路由器
分段报头(Fragment Header)
认证报头(Authentication Header)
封装安全有效载荷报头(Encapsulating Security Payload Header)
SPOTO 全球 培训 ● 项目 ● 人才
7
Ipv6
3. MTU
IPv4中,一个链路的最小MTU长度是68个字节,一个IPv4的最大长度是60个字节。
IPv6最小MTU长度是1280个字节
3 ICMPv6(rfc2463)
3.1 Foundation
ICMPv6 是IPv6的基础协议之一。协议号58,该协议号在下一个包头字段中。
ICMP报文有两种:差错消息及信息消息
3.2 消息类型
消息类型
差错消息
TYPE
1
名称
目的不可达
CODE
0 无路由
1 因管理原因禁止访问
2 未指定
3 地址不可达
SPOTO 全球 培训 ● 项目 ● 人才
8
4 端口不可达
2
3
数据包过长
超时
0 跳数到0
1 分片重组超时
4
参数错误 0 错误的包头字段
1 无法识别的下一包头类型
2 无法识别的ipv6选项
Ipv6
信息消息
128
129
回应请求
回应应答
3.3 NDP 邻居发现协议
使用ICMPv6报文实现以下功能
1.
2.
3.
4.
5.
地址解析(代替ARP协议,使用ICMP完成地址解析)
IPV6取消了arp 使用NS和NA来做,利用的是solicited address
通过邻居请求(NS)和邻居通告(NA)报文来解析三层地址对应的链路层地址。
跟踪邻居的状态
Show ipv6 neighbor
无状态自动配置
重复地址检测(DAD)
路由器重定向
路由器向一个Ipv6节点发送icmpv6消息,通知它在相同的本地链路上才能在一个更好的到达目的地望楼的路由器地址
3.3.1 为NDP定义的icmpv6消息
ICMP
机制
报文介绍
RS 133
主机可以发送RS要求路由器立即产生RA
SPOTO 全球 培训 ● 项目 ● 人才
RA 134
包含MTU、前缀信息等
NS 135
用来判断邻居的链路层地址,也用于DAD等
9
NA 136
重定向消息 137
133 RS 134 RA 135 NS 136 NA 137 重定向
替代ARP
前缀公告
前缀重新编制
DAD
路由重定向
X
X
X
X
X
X
X
X
Ipv6
3.3.2 用NDP代替ARP
其中33:33:FF:01:00:0B 是ipv6目的地址 FF02::1:FF01:B的多播映射。
使用show ipv6 neighbors可以查看邻居表项
使用ipv6 neighbor ipv6地址 接口编号 mac地址 可实现静态绑定
3.3.3 无状态自动配置
涉及机制
前缀公告
DAD
前缀重新编址
3.3.3.1 前缀公告
1.
前缀公告相关概念
Show ipv6 interface xxx perfix //显示接口上公告的前缀参数
前缀参数更改则进入接口,ipv6 nd prefix ?
在无状态自动配置中,前缀长度为64比特
【前缀的两个时间】
IPv6地址可以通过state configuration 和 stateless configuration获得到,简单的说
状态化配置是通过手工添加或是通过dhcpv6获得,无状态化是通过prefix advertisement获得。不管哪种方式获得的SPOTO 全球 培训 ● 项目 ● 人才
10
地址,都会有几个时间状态。
Ipv6
其实IPv6地址的lifetime主要有两个,一个是Valid lifetime ,另一个是preferred lifetime。首先在DAD检查阶段。在DAD success前,地址一直处于tentative (试验状态)状态,这时的地址是不可用状态,直到DAD success。然后进入Preferred 状态,也就是首选状态,这个状态过程中的IPv6 address的有效性是由preferred lifetime 决定的。
Valid lifetime是一个类似于dhcp中的 lease time。如果地址超过了valid lifetime ,节点就会把这个地址置为inactive状态,然后delete。在preferred time和valid lifetime之间叫做deprecated 状态,这种状态算是一种buffer,大概意思叫做不赞成使用的状态,当地址达到这个时间段的时候,地址不能主动的发起连接只能是被动的接受连接,这也是为了保证上层应用而设计的,但是过了valid lifetime时间地址就变为invalid,这时任何连接就会down掉。
2.
Ipv6 nd suppress-ra 在接口上关闭路由器公告
调整前缀公告的参数
R1(config-if)#ipv nd prefix 2001::/64 ?
<0-4294967295> Valid Lifetime (secs)
at
infinite
no-advertise
no-autoconfig
no-rtr-address
off-link
Expire prefix at a specific time/date
Infinite Valid Lifetime
Do not advertise prefix
Do not use prefix for autoconfiguration
// 当在特定前缀后开启该参数后,该前缀不能用于无状态自动配置
Do not send full router address in prefix advert
Do not use prefix for onlink determination
3.3.3.2 调整ipv6 nd参数
ipv nd prefix 2001::/64 30 15
R2#sh ipv int f 0/0
// 30为Valid Lifetime, 15为Preferred Lifetime
配置该命令后,邻居收到prefix,显示如下:
FastEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::CE00:DFF:FE48:0
Global unicast address(es):
2001::CE00:DFF:FE48:0, subnet is 2001::/64 [PRE] // 状态为 prefer
valid lifetime 25 preferred lifetime 10
ipv6 nd managed-config-flag
11
// 两个时间在不断递减
当preferred lifetime先到0时,状态变为[DEP],当valid time变0时,地址抹去
SPOTO 全球 培训 ● 项目 ● 人才
Ipv6
配置这条命令后,该接口上的前缀信息将不能被链路上的主机用于无状态自动配置。
ipv nd other-config-flag
Hosts should use DHCP for non-address config
主机需使用dhcp配置除了ipv6地址外的其他信息
无状态配置和节点启动时的一个NDP机制。
通过 NS( ICMP 135)
使用源地址(::),目的地址为获取到的v6地址对应的被请求节点组播地址的NS报文
一个地址在通过重复地址检测之前称为“tentative地址”,试验地址。接口不能使用这个试验地址进行单播通讯,但是会加入和tentative地址所对应的Solicited-Node组播组。重复地址检测:节点向一个自己将使用的tentative地址所在的组播组发送一个Neighbor Solicitation,如果收到某个其他站点回应的Neighbor dvertisement,就证明该地址已被网络上使用,节点将不能使用该tentative地址通讯。
Solicited-Node组播地址生成过程
前缀FF02:0:0:0:0:1:FF 104位固定
接口ID的后24位:XX:XXXX
FF02:0:0:0:0:1:FFXX:XXXX
Ipv6 nd dad attempts x //用来定义邻居请求消息数目,为0则关闭DAD。
接口模式下 ipv6 nd dad ? 可修改 DAD参数
3.3.3.3 DAD Duplicate Address Detection
3.3.3.4 前缀重新编址
前缀重新编址允许从以前的网络平稳过渡到新的前缀,站点内节点使用无状态自动配置(或者其他重编址方法),路由器接口配置新老两个前缀,并且进行公告,老前缀的生存期较短,这样节点使用两个地址,当老前缀失效后,即可实现切换。
首选,站点中所有路由器继续公告当前的前缀,但是有效和首选生存期被减小到接近于0的一个值,然后,路由器开始在本地链路公告新的前缀,因此每个本地链路上至少有两个前缀存在。当旧的前缀完全被废止时(生存期已过),路由器公告消息仅包括新前缀。
2. 配置前缀重新编制
Ipv6 nd prefix xxxx at时间
3.3.4 邻居状态
Incomplete
Reachable
Stale
Delay
Probe
邻居请求已经发送到目标节点的请求组播地址,但没有收到邻居的通告
收到确认,不续再发包确认
从收到上一次可达性确认后过了超过30s。
在stale状态后发送过一个报文,并且5s内没有可达性确认
每隔1s重传邻居请求来主动请求可达性确认,直到收到确认
4 其他应用
1. 域名系统
IPv4中A记录用来将主机名称映射到一个V4地址,AAAA资源记录将主机名映射到一个IPv6地址。
Ipv6 host xxx 地址
Ipv6 name-sever xxxx
SPOTO 全球 培训 ● 项目 ● 人才
12
2. ACL
Ipv6 access-list x 进入acl配置模式
Ipv6 traffic-filter 在接口下应用
Ipv6
5 动态路由协议(V6)
5.1 RIPng
1.
2.
Foundation
使用UDP521
Distance 默认120
Config
a)
b)
c)
接口模式下 ipv6 rip 进程名 enable 即可激活
【注意】进程名 本地有效,如果Router两个接口,分别启用RIPng,使用的是两个不同的进程名,则两进程互相独立。
ipv rip 1 default-information originate
ipv rip 1 default-information only
调整RIPng 进程
Ipv6 router rip
?
//接口模式下,直接重发布默认路由进RIP进程(本地无需静态默认路由)
//接口模式下,只发布默认路由,禁止发布其他路由信息
5.2 OSPFv3 (RFC2740)
1. Foundation
a)
b)
c)
d)
e)
2. 配置
Interface vlan 10
Ipv6 enable
Ipv6 address 2001:0:0:10::1/64
Ipv6 ospf 1 area 10
Ipv6 router ospf 1
Router-id 1.1.1.1
redis connect
area 1 range xxx
redistribute rip rip1 metric 10 include-connected
使用32位地址作为router-id,以点分十进制形式表示,如果没有ROUTER没有配置IPv4地址,则需手工指定router-id
LINKID也是32位的
使用FF02::5及FF02::6
使用与OSPFv2基本相同的数据包类型
新增链路LSA及区内前缀LSA
SPOTO 全球 培训 ● 项目 ● 人才
13
Ipv6
6 过渡技术
6.1 Foundation
1. 双栈(dual stack)
在双栈设备上,上层应用会优先选择IPv6协议栈,而不是IPv4。 比如,一个同时支持v4和v6的应用请求地址,会先请求AAAA记录,如果没有,则在请求A记录。
IPv4 ApplicationIPv4/IPv6 ApplicationTCPUDPTCPUDPIPv4Protocol ID:0x0800EthernetIPv4 StackIPv4Protocol ID:0x0800EthernetDual StackIPv6Protocol ID:0x86DD
2. 隧道 tunnel
用于在现有网络(v4)中传输不兼容的协议(v6)或者特殊的数据,
手动隧道技术:GRE隧道、手工隧道
自动隧道技术:6to4隧道、IPv4兼容IPv6自动隧道、ISATAP隧道
6PE 6PE技术依赖于BGP,BGP的Peer是需要手工指定的,可以算是一种半自动隧道技术。
3. v6 v4之间互通
NAT-PT (Network Address Translation-Protocol Translation)
6.2 隧道
6.2.1 GRE隧道
IPv6报文被包含在GRE报文中,作为GRE的载荷,优点是通用性比较好
IPv4报头
配置方式
Interface tun 0
Ipv6 address xxx
tun source 211.11.11.11
tun destination 11.21.32.1
tun mode gre ipv6
GRE报头 IPv6报头
数据
6.2.2 6to4隧道(手工)
SPOTO 全球 培训 ● 项目 ● 人才
14
Ipv6
IPv6报文被包含在IPv4报文中作为IPv4的载荷
IPv4报头
IPv6报头
数据
6.2.3 6to4隧道(自动)
1. 地址空间
a)
b)
2. 原理
其中IPv4地址是为IPv6孤岛申请的公有地址,在IPv6/IPv4边界路由器(出口路由器)连接Ipv4公网的接口上配置该v4地址。内部节点如果使用6to4地址,目标网络可以是6to4网络,也可以是普通的v6网络(非6to4网络)
隧道的源ipv4地址手工指定,目标ipv4地址不需要显式配置(路由器动态建立隧道),根据通过隧道转发的报文决定,如果报文的目的地是6to4地址,则从目的ip中提取ipv4地址,如果目的地不是6to4地址,但下一跳是6to4地址,则从下一跳中提取(6to4中继)V6报文到达边界设备,查v6路由表,出口在隧道口,如果数据流的目标ip或者下一跳是6to4地址,则6to4隧道。
内部节点不是用6to4地址,而用普通ipv6地址情况类似
6to4地址空间2002::/16
2002:IPv4地址:子网ID::接口ID
6.2.4 ISATAP
SPOTO 全球 培训 ● 项目 ● 人才
15
1.
2.
3.
Ipv6
ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)
主机根据配置指定的路由器(在主机上配置该路由器的IPV4地址),建立isatap隧道
使用内嵌ipv4地址的链路本地地址,获得路由器下发的前缀,接口标识中嵌入主机的ipv4地址 0000:5efe:ab:cd
通过建立的隧道,传输ipv6数据。
与6to4 地址类似,ISATAP 地址中也内嵌了IPv4 地址,它的隧道封装也是根据此内嵌IPv4地址来进行的,只是两种地址格式不同。6to4 是使用IPv4 地址做为网络ID,而ISATAP 用IPv4地址做为接口ID。其接口标识符是用修订的EUI-64 格式构造的。如:fe80::5efe:10.10.10.1,其中10.10.10.1为PC接口Ipv4地址
ISATAP 地址的前64 位是通过向ISATAP 路由器发送请求来得到的,它可以进行地址自动配置。
在ISATAP 隧道的两端设备之间可以运行ND 协议。
ISATAP 隧道将IPv4 网络看作一个非广播的点到多点的链路(NBMA)。ISATAP 过渡机制允许在现有的IPv4 网络内部部署IPv6,该技术简单而且扩展性很好,可以用于本地站点的过渡。
配置方式:
首先配置ISATAP隧道接口,这时会根据IPv4地址生成ISATAP类型的接口ID;
根据接口ID生成一个ISATAP链路本地IPv6地址,生成链路本地地址以后,主机就有了IPv6连接功能;
进行主机自动配置,主机获得全局IPv6地址、站点本地地址等;
当主机与其它IPv6主机进行通讯时,从隧道接口转发,将从报文的下一跳IPv6地址中取出IPv4地址作为IPv4封装的目的地址。如果目的主机在本站点内,则下一跳就是目的主机本身,如果目的主机不在本站点内,则下一跳为ISATAP路由器的地址。
6.2.5 Ipv4兼容Ipv6自动隧道技术
IP V4兼容IP V6自动隧道技术
目的地址为IPv4兼容IPv6地址,包含的IPv4地址即为隧道对端
IPv4兼容IPv6地址: 0:0:0:0:0:0:d(d是ip v4地址)
适用于不经常性的IPv6节点连接需求
IPv4 兼容隧道是通过Tunnel 虚接口实现的,如果一个Tunnel 口的封装模式是IPv4 兼容隧道,则只需配置隧道的源地址,而目的地址是在转发报文时,从IPv6 报文的目的地址中取得的。从IPv4 兼容隧道转发的IPv6 报文的目的地址必须是IPv4 兼容的IPv6 地址,隧道的目的地址就是IPv4 兼容地址的后32 位。如果一个IPv6 报文的目的地址不是IPv4 兼容地址,则不能从IPv4 兼容隧道转发出去。
7 IPv6基础实验
7.1 主机相关
1. 基本配置命令
PC安装ipv6协议栈
Ipv6 install
ipv6 if
2.
// 安装完后重启,默认开启无状态自动获取地址
// 查看ipv6接口配置信息
// ping链路本地地址和站点本地地址可能要加索引号,全局单播地址不需要 ping IPv6Address [%ZoneID]
PC常用ipv6命令集合
Netsh 可以用来配置、管理、重置IPV4 V6协议栈
netsh interface ipv6 show interface
SPOTO 全球 培训 ● 项目 ● 人才
查看接口索引
16
ipv6 if x
netsh interface ipv6 show neighbors
Ipv6
为接口添加ipv6地址
查看ipv6地址(ipconfig也可)
查看路由
添加路由
Ipv6接口复位 (手工配置的ipv6地址会丢失)
Ipv6接口重启
给某个接口添加IPv6地
如给接口4添加IPv6地址2001::1/64, 命令: ipv6 adu
4/2001::1
netsh interface ipv6 add address
接口索引号 ipv6地址
或 ipv6 adu x ……
netsh interface ipv6 show address
netsh interface ipv6 show route
netsh interface ipv6 add route ::/0 “本地连接” 2010::1
或 ipv6 rtu
netsh interface ipv6 reset
netsh interface ipv6 renew
ipv6 adu ifindex/address [ life validlifetime ]
3. Ipv6网络应用基本模型
Ipv6主机(xp系统 ie6.0)访问ipv6 WEB站点
IE6.0暂不支持地址栏输入rfc2732定义的literal ipv6 address的方式访问ipv6站点。
解决办法,通过域名来访问,修改hosts文件 C:/windows/system32/drivers/etc/hosts
# 102.54.94.97 # source server
# 38.25.63.10 # x client host
127.0.0.1 localhost
::1
7.2 路由器基本配置
Router(config)#ipv6 unicast-routing
Router(config)#intertface f0/1
Router(config-if)#ipv6 enable
Router(config-if)#ipv6 adress 2001::1/64
7.3 无状态自动获取
GW的配置
no ipv6 nd suppress-ra
接口地址2001::1/64, 同时开启路由器通告(默认关闭)
用来启用接口的有状态自动配置(如通过DHCPv6获取地址),默认是关闭的。
默认关闭,关闭时用来使节点不使用有状态配置机制来获取除了v6地址以外的其他参数。
Ipv6 nd managed-config-flag
Ipv6 nd other-config-flag
SPOTO 全球 培训 ● 项目 ● 人才
17
客户端的配置
ipv6 address autoconfig
Ipv6
使用EUI64地址构建Ipv6地址;如果加default关键字,则会添加默认网关(默认路由)
7.4 DHCP自动获取
GW的配置
ipv6 dhcp pool DHCP-pool
interface FastEthernet0/0
ipv6 enable
ipv6 address 2001::1/64
ipv6 dhcp server DHCP-pool
PC的配置
interface FastEthernet0/0
ipv6 enable
// 接口开启IPV
// 配置DHCP client,并且指定获取到的前缀名称为test(本地有效)
// 使用获取到的前缀(test),加上本接口的EUI64,构成接口全局ipv6地址
ipv6 dhcp client pd test
// 在接口上开启ipv6 DHCP,并调用池
prefix-delegation pool dhcppool lifetime 1800 600
dns-server 2000::8
domain-name HelloWord
// 定义准备通告的Ipv6前缀
// 调用ipv6 local pool 并设定lifetime
ipv6 local pool dhcppool 2001::/64 64
ipv6 address test ::/64 eui-64
7.5 6to4隧道(手工) ipv6 over ip
R1的配置如下:
Ipv6 unicast-routing
Interface serial0/0
ip address 10.1.12.1 255.255.255.0
Interface fa1/0
Ipv6 enable
SPOTO 全球 培训 ● 项目 ● 人才
18
Ipv6 address 2001:0001::FFFF/64
Interface tunnel 0
Ipv6 enable
tunnel mode ipv6ip
Tunnel source serial 0/0
Tunnel destination 10.1.23.3
ip route 0.0.0.0 0.0.0.0 10.1.12.2
Ipv6 route ::/0 tunnel 0
Ipv6
// ipv4路由,使得路由能访问到tunnel destination,也就是10.1.23.3
// ipv6路由,前往IPv6网络的流量全部扔到tunnel
R3的配置类似;R2只需配置接口IP即可;PC1及PC2各自配好IPv6 地址,指网关即可。
Tunnel接口未必一定需要ipv6 address,当然,也可以配置v6地址,这不影响穿越路由器的流量
配置完成后,PC1即可ping通PC2,抓包如下:
7.6 6to4隧道(手工) GRE隧道
R1的配置如下:
Ipv6 unicast-routing
Interface serial0/0
SPOTO 全球 培训 ● 项目 ● 人才
19
ip address 10.1.12.1 255.255.255.0
Interface fa1/0
Ipv6 enable
Ipv6 address 2001:0001::FFFF/64
Interface tunnel 0
Ipv6 enable
tunnel mode gre ip
Ipv6
// 注意隧道模式
Tunnel source serial 0/0
Tunnel destination 10.1.23.3
ip route 0.0.0.0 0.0.0.0 10.1.12.2
Ipv6 route ::/0 tunnel 0
R3的配置大同小异,只不过隧道接口的destination修改一下即可;
如果需要在R1、R3之间运行动态路由协议,则在tunnel接口上激活路由选择协议即可
报文抓包如下:
// ipv4路由,使得路由能访问到tunnel destination,也就是10.1.23.3
// ipv6路由,前往IPv6网络的流量全部扔到tunnel
7.7 6to4隧道(自动)
【实验1】:
两个内网都是用6to4地址(双方都是6to4网络)
SPOTO 全球 培训 ● 项目 ● 人才
20
Ipv6
R1路由器申请的ipv4公网地址为 202.101.12.1;R3申请的公网地址为202.101.23.3
有了公网地址,我们也就有了根据公网地址计算得来的6to4的地址空间:
2002:IPV4地址映射:子网ID::/48 前面48位是2002+ipv4的公网地址,后面64位是接口ID
例如R1公网地址为:202.101.12.1,那么对应的6to4地址空间就是:2002:CA65:0C01::/48
这个地址空间加上子网ID,就可以分配给内网用户了,这个实验我们内网用户采用无状态自动配置获取地址。
这时候,如果R1下有用户要访问R3下的v6网络,那么目的地址肯定是R3的6to4地址空间,数据到了R1后,R2一看,发现是2002的ipv6地址,于是它就直接去读2002后面的32位,将其转换成ipv4地址,并作为6to4的tunnel destination。
R1的配置如下:
ipv6 unicast-routing
interface Tunnel0
ipv6 enable
tunnel source Serial0/0
tunnel mode ipv6ip 6to4
interface fast1/0
ipv6 address 2002:CA65:0C01::FFFF/64
ipv6 enable
no ipv6 nd suppress-ra
interface Serial0/1
ip address 202.101.12.1 255.255.255.0
ipv6 route 2002::/16 Tunnel0
R2的配置如下:
ipv6 unicast-routing
interface Tunnel0
ipv6 enable
tunnel source Serial0/0
tunnel mode ipv6ip 6to4
interface fast1/0
ipv6 address 2002:CA65:1703::FFFF/64
ipv6 enable
no ipv6 nd suppress-ra
interface Serial0/1
ip address 202.101.23.3 255.255.255.0
ipv6 route 2002::/16 Tunnel0
21
SPOTO 全球 培训 ● 项目 ● 人才
【实验2】:
Ipv6
PC使用无状态自动获取地址: ipv6 address autoconfig default
两边的IPv6孤岛都是使用普通的IPv6全局地址
两端均为普通Ipv6网络,使用常规的全局Ipv6地址。
R1及R3分别申请公网Ipv4地址,配置动态6to4隧道。
以R1为例,配置tunnel0,分配一个Ipv6地址(6to4地址),这个地址正是R1的V4外网地址对应的IPV6 6to4地址
也即202.101.12.1对应2002:CA65:0C01::1/48,R3同理。接下来其实就是静态路由的把戏了。
这时,内网有数据去往2001:0002::/16网络时,数据被送到2002:CA65:1703::FFFF(下一跳,也就是R3的tunnel 6to4地址)
路由器通过递归查询到,下一跳2002:CA65:1703::FFFF应该扔到tunnel0,而tunnel0是6to4隧道,于是将2002:CA65:1703::FFFF翻译成对应的V4地址,也就是202.101.23.3
R1
ipv6 unicast-routing
interface Tunnel0
ipv6 address 2002:CA65:C01::FFFF/64
ipv6 enable
tunnel source Serial0/0
tunnel mode ipv6ip 6to4
interface fast1/0
ipv6 address 2001:0001::FFFF/64
ipv6 enable
interface Serial0/0
ip address 202.101.12.1 255.255.255.0
ip route 0.0.0.0 0.0.0.0 202.101.12.2
ipv6 route 2001::/16 2002:CA65:1703::FFFF
ipv6 route 2002:CA65:1703::/48 Tunnel0
R3
ipv6 unicast-routing
interface Tunnel0
ipv6 address 2002:CA65:1703::FFFF/64
ipv6 enable
tunnel source Serial0/0
tunnel mode ipv6ip 6to4
interface fast1/0
ipv6 address 2001:0002::FFFF/64
ipv6 enable
interface Serial0/0
ip address 202.101.23.3 255.255.255.0
ip route 0.0.0.0 0.0.0.0 202.101.23.2
ipv6 route 2001::/64 2002:CA65:C01::FFFF
ipv6 route 2002:CA65:C01::/48 Tunnel0
SPOTO 全球 培训 ● 项目 ● 人才
22
Ipv6
7.8 ISATAP
PC
netsh interface ipv6 isatap set router 10.10.255.254
SW2
ipv6 unicast-routing
interface Tunnel1
ip address 10.10.255.254 255.255.255.0
ipv6 address 2001:10::1/64
ipv6 enable
no ipv6 nd suppress-ra
tunnel source 10.10.255.254
tunnel mode ipv6ip isatap
interface FastEthernet0/1
switchport access vlan 20 // PC2的VLAN
interface Vlan20
ipv6 address 2001:20::1/64
ipv6 enable
no ipv6 nd suppress-ra
实验现象:
PC上获取到了IPV6地址:
隧道适配器 isatap.{CC1CCF67-E12C-4BD9-849F-ECB2EADA3747}:
连接特定的 DNS 后缀 . . . . . . . :
IPv6 地址 . . . . . . . . . . . . : 2001:10::5efe:10.10.10.1
本地链接 IPv6 地址. . . . . . . . : fe80::5efe:10.10.10.1%20
默认网关. . . . . . . . . . . . . : fe80::5efe:10.10.255.254%20
并且能访问到PC2
SPOTO 全球 培训 ● 项目 ● 人才
23
Ipv6
7.9 FR下的OSPFv3
OR1的配置
ipv6 unicast-routing
interface Serial0/0
encapsulation frame-relay
no frame-relay inverse-arp
ipv6 enable
ipv6 address 2000:12::1/64
ipv6 ospf network point-to-point
ipv6 ospf 1 area 0
frame-relay map ipv6 2000:12::2 102 broadcast
OR2的配置
ipv6 unicast-routing
interface Serial0/0
encapsulation frame-relay
no frame-relay inverse-arp
ipv6 enable
ipv6 address 2000:12::2/64
ipv6 ospf network point-to-point
ipv6 ospf 1 area 0
frame-relay map ipv6 2000:12::1 201 broadcast
完成此步骤后,OR1及OR2能建立起OSPF邻居关系,互相之间的全局IPV6单播地址也都能ping通
此时分别在OR1及OR2上开启loopback接口,并配置Ipv6地址,然后宣告进OSPFv3
OR1的配置
interface Loopback0
ipv6 address 2001::1/64
ipv6 enable
ipv6 ospf 1 area 1
OR2的配置
interface Loopback0
SPOTO 全球 培训 ● 项目 ● 人才
24
ipv6 address 2002::1/64
ipv6 enable
ipv6 ospf 1 area 2
Ipv6
完成后,OR1及OR2都能学习到对方的Loopback接口路由,但是却无法ping通。
查看OR1的路由表:
OI 2002::1/128 [110/64]
via FE80::5C10:8CFF:FEE0:FE89, Serial0/0
发现去往OR2 loopback接口的路由,下一跳是FE80::5C10:8CFF:FEE0:FE89,也就是OR2接口的链路本地地址,原来Ipv6环境下,一个接口往往具有多个Ipv6地址,而OSPF邻居关系的维护又以稳定为前提,每个接口都必备的链路本地地址,就成了建立邻居关系最好的一句,那么为什么ping不通呢?正是由于这是个帧中继的环境,FE80::5C10:8CFF:FEE0:FE89这个IPV6地址,OR1上并没有做映射,OR2上同理,因此分别添上各自对端的链路本地地址的帧中继映射即可。
如OR1,OR2同理
frame-relay map ipv6 FE80::5C10:8CFF:FEE0:FE89 102 broadcast
8 本文档已阅参考读物
《Cisco IPv6网络实现技术》
SPOTO 全球 培训 ● 项目 ● 人才
25
版权声明:本文标题:IPv6学习笔记基础版-红茶三杯 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1704877346a465398.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论