1.1配置格式;
ipv6 route 目的网段 出接口或者下一跳
1.2 注意事项:
如果只指定出接口,那么以太网是没法通信的,因为指定出接口需要发送arp请求包,
在ipv6中是没有arp的,但是在点对点接口中可以使用出接口
下一跳可以是接口配置地址,也可以是Link Local地址
如果选择Link Local地址,必须跟出口,因为路由表中无法查询到FE80路由
Note:
如果没有开启ipv6 unicast-routing(单播路由功能),只能去往邻居路由器直连接口
也就是说没有路由转发功能
1.3 IPV6只指定了出接口
Router(config)#ipv6 route 5::5/128 ethernet 0/0
我配置一条静态路由,只指定了出接口
在去ping 这个网段的时候,因为没有下一跳,所以不知道 这个网段的目的mac,
这时我们的设备会发出请求 NS请求,目的ip地址就是5::5的组播请求地址,
mac就是转换的组播mac
对方设备收到之后,发现这个NS数据包不是给我这个网段的,直接忽略不会回复
;因为 FF02本地链路有效的原因,不会传递给其他链路,只要不是这个接口有的地址,都不会回复
1.4当ipv6配置了下一跳
Router(config)#ipv6 route 5::5/128 2001:45::5
答案是 路由器先使用NS获取下一跳的mac地址,然后将这个数据封装,目的mac为下一跳的mac,
直接发出去
1.5 为什么在IPv4网络中可以指定出接口?
ip route 5.5.5.5 255.255.255.255 ethernet0/1
当在ipv4中直接指定出接口,我们去尝试ping这个地址,时,设备会发送arp请求
arp请求的目的mac就是广播,内容是 5.5.5.5这个mac是多少?
当下一跳设备收到后,发现自己路由表中有这个路由,于是也发了一个arp请求给下一个下一跳设备
于是下一跳设备AR3回复了这个arp请求告诉了自己接口的mac,
AR2收到了这个5.5.5.5的mac
他就放心了,直接把自己接口的mac发给了ar1
ipv6 unicast-routing ;开启ipv6单播路由功能
ipv6 router rip [tag] ;创建进程,与进程号
Interface E0/0
ipv6 rip [tag] enable ;开启RIP
ipv6 rip [tag] default-information originate ;注入默认路由
ipv6 rip [tag] summary-address ;手工汇总
ipv6 rip [tag] metric-offset [1-16] ;偏移列表
redistribute eigrp 90 metric 1 ;重分布命令
Tag相当于RIP进程号,本地有效(类似于OSPF的Process ID)
RIP Ng不存在自动汇总的问题,因为IPv6没有主类路由
RIP Ng Metric计算与IPv4有区别,路由在收到后叠加跳数,并且始发跳数为1
3.1 方法1–进程创建
ipv6 unicast-routing
ipv6 router ospf [id] ;创建ospf并且创建进程号
router-id [x.x.x.x] ;配置前必须指定Router-iD,并且是一个有效的ipv4地址
interface [int] ;进入接口
ipv6 ospf [id] area [area id] ;接口开启ospf 进程与区域号
ipv6 ospf network [type] ;网络类型
ipv6 ospf neighbor [link local address] ;手动建立邻居--必须使用 link local地址建立
3.2 方法2–OSPFV3
ipv6 unicast-routing
router ospfv3[id] ;创建ospfv3功能
address-family ipv6 unicast ;进入ipv6地址簇
router-id [x.x.x.x] ;设置router-iD
interface [int]
ospfv3 [id] [ipv4 | ipv6] area [area id] ;宣告进程及区域
ospfv3 1 ipv6 network [type] ;设置网络类型
ospfv3 1 ipv6 priority +数值 ;DR优先级
ospfv3 1 ipv6 neighbor [link local address] ;手工建邻居
3.3 重分布的配置
address-family ipv6 unicast ;进入ipv6地址簇
redistribute eigrp 90 metric 1 metric-type 1 include-connected ;重分布 EIGRP
3.4 查看命令
show ospfv3 neighbor ;查看邻居
show ospfv3 interface brief ;查看协议接口开启情况
4.1 方法1–进程配置
ipv6 unicast-routing
ipv6 router eigrp [as num]
eigrp router-id [x.x.x.x] ;配置一个ipv4格式的 Route ID
no shutdown ;可能需要开启EIGRP
interface [int]
ipv6 eigrp [as num] ;在接口下启用EIGRP 进程就可以了
no ipv6 split-horizon eigrp [as num] ;ipv6中关闭接口水平分割的命令
4.2 方法2–使用命名式
ipv6 unicast-routing
router eigrp [word] ;起个进程名字
address-family ipv6 unicast autonomous-system [as num] ;进入 ipv6地址簇,创建AS
eigrp router-id 4.4.4.4 ;创建 route-ID
以上命配置完毕路由器邻居就建立成功了
因为所有启用ipv6功能的直连接口默认启用EIGRP
如果想不宣告EIGRP那么需要通过进程进入接口shudown
af-interface[int] ;在地址簇里进入接口
passive-interface ;设置被动接口
no split-horizon ;关闭水平分割
shutdown ;直接关闭相当于不宣告进进程了
4.3 重分布配置;
topology base ;需要在地址簇下进入地址图
redistribute ospf 110 metric 1000 100 255 1 1500 ;重分布配置
一定要设置 5k值
无需添加 tubnets 选项,因为ipv6中没有主类
4.4 查看命令
show ipv6 eigrp interfaces ;查看某些接口开启协议情况
show ipv6 eigrp neighbors ;查看邻居
4.5 重分布注意事项;
路由重分布与IPv4基本保持一致,但是默认不携带直连网段,
需要通过配置才能保证直连路由可以被重分布
例如:
ipv6 router ospf [process id]
redistribute eigrp 100 include-connected ;重分布时是后面添加 includ-connected才可以
5.1 方案1,使用ipv6建立ipv6邻居
ipv6 unicast-routing
router bgp [as num]
no bgp default ipv4-unicast ;关闭ipv4单播路由功能
neighbor [ipv6 address] remote-as [as num] ;指定ipv6的邻居
neighbor [ipv6 address] update-source [int] ;更新源
address-family ipv6 unicast ;进入ipv6地址簇
neighbor [ipv6 address] activate ;激活邻居
*如果不关闭ipv4单薄功能,那么ipv6还能帮助建立ipv4邻居,并且还能传送路由ipv4路由
但是如果使用ipv6帮助传递ipv4地址路由,需要用Route-map修改下一跳
否则ipv4地址的下一跳是 ipv6地址最高位的32bits换算的点分十进制地址
对于高版本镜像-如果使用ipv6建邻居,默认不会建立ipv4邻居
对于其他版本镜像-如果使用ipv6建邻居,如果不关闭ipv4单播可能会建立ipv4邻居
5.2 方案2;使用ipv4地址建立ipv6邻居
ipv6 unicast-routing
router bgp [as num]
neighbor [ipv4 address] remote-as [as num] ;对端ipv4地址
neighbor [ipv4 address] update-source [int] ;更新源
no bgp default ipv4-unicast ;关闭ipv4单薄路由功能
address-family ipv6 unicast ;进入ipv6地址簇
neighbor [ipv4 address] activate ;激活ipv6邻居
neighbor [ipv4 address] route-map [name] out ;配置Route-map 出方向
route-map [name] permit 10
set ipv6 next-hop [ipv6 address] ;修改下一跳为 本端接口ipv6地址
如果不修改下一跳,那么对于IPv6的路由下一跳是ipv4的地址,这是不被允许的
所以路由表中会显示一个ipv4与ipv6兼容的ip地址,但是这个地址早被IANA收回了
::FFFF:192.168.1.1是ipv6与ipv4的下一跳兼容地址
R2#show bgp ipv6 unicast summary ;查看邻居关系
R2#show bgp ipv6 unicast ;查看单播路由
5.3 IPv4配置的特殊方案–使用ipv6地址建立ipv4邻居
router bgp 1
bgp router-id [ipv4 address] ;配置router-ID
neighbor [ipv6 address] remote-as 100 ;建立邻居
!
address-family ipv4 ;进入ipv4地址簇
neighbor [IPV6 address] activate ;激活邻居
network 1.1.1.0 mask 255.255.255.0 ;宣告网段
neighbor [ipv6 address] route-map next-hop out ;对邻居设备使用route-map out方向
!
route-map cisco permit 10 ;创建route-map
set ip next-hop [ipv4 address] ;修改下一跳为本地
如下图 ,如果不修改下一跳那么ipv4路由的下一跳将是一个ipv6的地址,但是这是不被允许的
Note :BGP中对于下一跳是直连接口的路由,默认会改成他的link-locl地址