IPV6
- 1、三大动态路由协议ipv6
- 1.1、ISIS
- 1.1.1、ISIS多拓扑实验(需要详细看下lsdb verbose)
- 1.2、ISIS TLV简单总结
- 1.2、BGP+
- 2、IPv6 隧道技术
- 2.1、ipv6手工隧道
- 2.1.1、ipv6 gre手工隧道
- 2.1.1.1、 ipv6、ipv4基础配置(省略)
- 2.1.1.2、 R1、R2运行ospfv3
- 2.1.1.3、 R4、R5运行ISIS ipv6
- 2.1.1.4、 R2、R3、R4运行ospf(省略)
- 2.1.1.5、 R2、R4之间建立GRE隧道
- 2.1.1.6、 R2、R4运行isis ipv6(略)
- 2.2.2、ipv6 6 to 4手工隧道
- 2.2.2.1、ipv6 to ipv4隧道配置
- 2.2.2.2、验证连通性
- 2.1.3、 ipv6 to ipv4自动隧道
- 2.1.3.1、ipv6 to ipv4自动隧道配置
- 2.1.3.2、R2、R4部署静态路由
- 2.1.3.3、验证tunnel口连通性
- 2.1.3.4、R2、R4默认路由发布
- 2.1.3.5、R1、R5验证连通性
- 2.1.3.6、6to4自动隧道总结
1、三大动态路由协议ipv6
1.1、ISIS
1.1.1、ISIS多拓扑实验(需要详细看下lsdb verbose)
IPv4 isis 基础配置
R1(R2-R5省略)
isis 1
is-level level-2
network-entity 49.0001.0000.0000.0001.00
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
isis enable 1
interface GigabitEthernet0/0/1
ip address 13.1.1.1 255.255.255.0
isis enable 1
interface LoopBack0
ip address 1.1.1.1 255.255.255.0
isis enable 1
IPv6 isis 基础配置
R1
ipv6
isis 1
ipv6 enable //开启isis ipv6,默认单拓扑
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address 2001:12::1/64
isis ipv6 enable 1 //接口激活ipv6 isis
interface GigabitEthernet0/0/1
ipv6 enable
ipv6 address 2001:13::1/64
isis ipv6 enable 1
interface LoopBack0
ipv6 enable
ipv6 address 2001:1::1/128
isis ipv6 enable 1
验证:R1以loopback口ipv4和ipv6地址为源分别ping R5 环回口的ipv4和ipv6地址
发现R1 无法访问R6的loopback口ipv6地址,查看R1 ipv6路由表
[R1]display ipv6 routing-table protocol isis
分析:R1没有收到去往R5环回口的ipv6路由,原因为默认isis的ipv4和ipv6是共用一棵树,全网先运行ipv4的ISIS,先确定了R1去往R5走R2。当Ipv6的isis运行时,默认复用ipv4的路径。也从R2总。而R2由于没有运行ipv6,导致R1收不到从R2发过来的去往R5环回口的路由。
解决办法:开启isis 多拓扑
R1-R5
isis 1
ipv6 enable topology ipv6 //开启ipv6多拓扑
R1再查看ipv6路由表
[R1]display ipv6 routing-table protocol isis
R1查看isis的LSDB
display isis lsdb verbose
1.2、ISIS TLV简单总结
129 - 描述上层协议是什么(ipv4或者ipv6等) - Hello包
232 - 描述下一跳地址(Link local地址) - Hello包描述linklocal 下一跳、LSP描述GUA地址下一跳
236 - 描述路由前缀信息 - LSP描述前缀
229 - 单拓扑还是多拓扑 - Hello包
22 - 描述ipv4拓扑信息(我连接对面哪个路由器) - LSP
222 - 描述ipv6拓扑信息(我连接对面哪个路由器)- LSP
1.2、BGP+
底层全网运行isisv6(见上文,省略)
注:因为开启了ipv6 isis多拓扑,所以R1去往R5环回口从下面走
R1
bgp 100
peer 2001:5::5 as-number 100
peer 2001:5::5 connect-interface LoopBack0
ipv6-family unicast
undo synchronization
peer 2001:5::5 enable
R5
interface LoopBack1
ipv6 enable
ipv6 address 2001:5::55/128
bgp 100
peer 2001:1::1 as-number 100 //指定邻居
peer 2001:1::1 connect-interface LoopBack0 //更新源地址改为loop口地址
ipv6-family unicast
undo synchronization
network 2001:5::55 128 //宣告环回口路由
peer 2001:1::1 enable //激活ipv6 bgp邻居
R1查看收到的mp-bgp路由
[R1]display bgp ipv6 routing-table
注:但ping不通,因为中间R3,R4没运行bgp+,没路由是黑洞
抓包查看open报文:AFI=2,SAFI=1
2、IPv6 隧道技术
2.1、ipv6手工隧道
2.1.1、ipv6 gre手工隧道
需求:左侧R1、R2运行ospfv3
右侧R4、R5运行isis ipv6
中间R2、R3、R4运行ipv4 ospf
R2、R4之间使用GRE封装,实现R2、R4之间tunnel口ipv6地址可以互访
R2、R4之间也运行isis ipv6,实现R1 、R5 loopback口可以互访
2.1.1.1、 ipv6、ipv4基础配置(省略)
2.1.1.2、 R1、R2运行ospfv3
R1
ospfv3 1
router-id 1.1.1.1
interface GigabitEthernet0/0/0
ospfv3 1 area 0.0.0.0
interface LoopBack0
ospfv3 1 area 0.0.0.0
R2
ospfv3 1
router-id 2.2.2.2
interface GigabitEthernet0/0/0
ospfv3 1 area 0.0.0.0
R2验证ospfv3邻居关系和ospfv3路由(R1 loopback路由)
2.1.1.3、 R4、R5运行ISIS ipv6
R4
isis 1
is-level level-2
cost-style wide
network-entity 49.0001.0000.0000.0004.00
ipv6 enable topology standard //激活isis ipv6能力,默认单拓扑
interface GigabitEthernet0/0/1
isis ipv6 enable 1
R5
isis 1
is-level level-2
cost-style wide
network-entity 49.0001.0000.0000.0005.00
ipv6 enable topology standard
interface GigabitEthernet0/0/1
isis ipv6 enable 1
interface LoopBack0
isis ipv6 enable 1
R4验证isis ipv6邻居关系和isis ipv6路由(R5 loopback接口)
display isis lsdb 0000.0000.0005.00-00 verbose
2.1.1.4、 R2、R3、R4运行ospf(省略)
注意:R2、R4 loopback接口要激活进ospf,为了tunnel口真实通信ipv4地址使用
2.1.1.5、 R2、R4之间建立GRE隧道
R2
interface Tunnel0/0/1 //建立虚拟tunnel接口
ipv6 enable
ipv6 address 2001:24::2/64 //配置tunnel口ipv6地址
tunnel-protocol gre //接口封装gre
source 2.2.2.2 //真实通信源ipv4地址
destination 4.4.4.4 //真实通信目的ipv4地址
R4
interface Tunnel0/0/1
ipv6 enable
ipv6 address 2001:24::4/64
tunnel-protocol gre
source 4.4.4.4
destination 2.2.2.2
R2、R4之间验证tunnel口连通性
抓包查看gre封装
2.1.1.6、 R2、R4运行isis ipv6(略)
2.2.2、ipv6 6 to 4手工隧道
需求:
- 左侧R1、R2运行ospfv3
- 右侧R4、R5运行isis ipv6
- 中间R2、R3、R4运行ipv4 ospf
- R2、R4之间使用6to4手工隧道,实现R2、R4之间tunnel口ipv6地址可以互访
- R2、R4之间也运行isis ipv6,实现R1 、R5 loopback口可以互访
- 接口配置、ospfv3、isis ipv6、R2做ospfv3、isis双向引入配置省略
2.2.2.1、ipv6 to ipv4隧道配置
R2
interface Tunnel0/0/2
ipv6 enable
ipv6 address 2001:24::2/64
tunnel-protocol ipv6-ipv4 //封装ipv6地址到ipv4地址里面
source 2.2.2.2 //真实通信ipv4源地址
destination 4.4.4.4 //真实通信ipv4目的地址
isis ipv6 enable 1
R4
interface Tunnel0/0/2
ipv6 enable
ipv6 address 2001:24::4/64
tunnel-protocol ipv6-ipv4
source 4.4.4.4
destination 2.2.2.2
isis ipv6 enable 1
2.2.2.2、验证连通性
R2、R4验证tunnel口连通性
R2接口抓包查看ipv6 to ipv4的tunnel封装
2.1.3、 ipv6 to ipv4自动隧道
2.1.3.1、ipv6 to ipv4自动隧道配置
R2
interface Tunnel0/0/3
ipv6 enable
ipv6 address 2002:202:202:24::2/64 //tunnel口的ipv6地址必须对应真实通信源ipv4地址
tunnel-protocol ipv6-ipv4 6to4 //6 to 4 tunnel的自动隧道模式
source 2.2.2.2
R4
interface Tunnel0/0/3
ipv6 enable
ipv6 address 2002:404:404:24::4/64
tunnel-protocol ipv6-ipv4 6to4
source 4.4.4.4
R2尝试ping R4 tunnel接口
不通?因为两边tunnel接口ipv6地址不是同一网段(为了对应自己的真实通信ipv4地址)
解决办法:R2、R4分别使用静态路由将流量导入tunnel口为出接口
2.1.3.2、R2、R4部署静态路由
R2
ipv6 route-static 2002:: 16 Tunnel 0/0/3 //去往对面tunnel 口ipv6地址的路由
ipv6 route-static 2001:: 16 2002:404:404:24::4 //去往对面R5 loopback口路由
注:A、去往对端tunnel口ipv6地址时:
必须写路由,且必须写出接口,写出接口把去往对端tunnel口的流量导入本端tunnel口,就会根据本端tunnel口的source ipv4地址和需要访问的对端tunnel口ipv6地址抠出destnation ipv4地址。实现通信
B、去往对端Tunnel口身后的路由时,必须写下一跳地址。因为需要数据转发过来是通过查找路由表的下一跳ipv6地址中抠出需要访问的真实ipv4 tunnel 目的地址
R4
ipv6 route-static 2002:: 16 Tunnel 0/0/3 //包含对面tunnel口和R1 loopback口 ipv6地址
ipv6 route-static 2001:: 16 2002:202:202:24::2 //去往对面R1 loopback口路由
抓包查看icmpv6通信数据包
2.1.3.3、验证tunnel口连通性
2.1.3.4、R2、R4默认路由发布
R2、R4分别向自己的站点内部发布ipv6默认路由
R2
ospfv3 1
default-route-advertise always //R2向ospfv3发布默认路由(给R1)
R4
isis 1
ipv6 default-route-advertise always //R4向isis发布默认路由(给R5)
2.1.3.5、R1、R5验证连通性
2.1.3.6、6to4自动隧道总结
A、注意tunnel口ipv6地址规划
ipv6 to ipv4的自动隧道主要是依赖tunnel接口的ipv6地址能够与真实通信的tunnel source ipv4地址有对应关系。
此处注意:TMD必须用2002开头的地址做ipv6地址…否则不触发隧道流量。
B、tunnel接口互访的静态路由
两端tunnel口一般都不是相同的ipv6网段。所以必须在两端写静态路由才能实现tunnel口互相能访问。
此处注意:tunnel 口地址互相通信时,静态路由必须写出接口(写下一跳就没有意义了,相当于去往A、从A走)
C、tunnel接口设备去往对端tunnel口设备身后的静态路由
Tunnel接口设备写去往对端tunnel身后的静态路由时,必须写下一跳地址,因为此处流量过来是根据静态路由的下一跳地址来抠出tunnel口的真实ipv4目的ip地址的
此处注意:必须TMD写下一跳,写出接口。巨诡异的现象
D、ipv6 to ipv4的自动隧道,由于是根据访问数据包目的ipv6地址抠出tunnel口的真实通信ipv4地址。所以不支持动态路由协议。FF02::5什么的无法抠出tunnel真实通信目的ipv4地址