为什么需要路由引入?
不同的路由协议之间需要相互学习到对方的路由信息。
基础地址配置这些就不细说了。直接讲rip跟ospf之间的命令。
基础rip跟ospf配置
R1:
R2:
R3:
R4:
做完基础配置可以检查相应直连信息能不嫩ping通。
做完基础rip跟ospf命令配置可以查看路由表R2,R3都能学到相应路由条目
同一路由协议之间可以互通,不同协议之间不同互通。
此时需要引入路由。首先把ospf引入rip也叫重分发redistribute
R3(config)#router ospf 1
R3(config-router)#redistribute rip subnets
引入进来R4就会学到外部路由以0E2开头的路由条目。
同理rip引入ospf
R3(config)#router rip
R3(config-router)#redistribute ospf 1 metric 3(要加上花销值,ospf引入rip里面是无穷大)
R1就会学到相应的路由条目,这个时候整个路就通了。
此时查看R2上的路由表,发现它学到R1的1.1.1.1是以OE2开头的,证明它是从R4学到的1.1.1.1而不是R1上通过rip学到的。此时就有可能出现环路问题。
解决环路的两种方法
方法一:过滤路由,也就是给重分发加上一个tag,再利用route-map,distribute-list过滤掉。
在R3上:
R3(config)#router ospf 1
R3(config-router)#redistribute rip subnets tag 10
在R2上(因为cisco packet tracer 7.3版本不支持route-map,所以后面的几条命令不能在虚拟机上完成了):
route-map tag deny 10
match tag 10
route-map tag permit 20
route ospf 1
distribute-list route-map tag in(过滤掉)
在这些操作都完成之后R2就会学到以R开头的路由条目而不是以OE2
方法二:修改AD值(ospf的AD值110,rip的AD值120,它会学到AD值小的)
在R2上把rip值改小(或者把ospf改大)
把rip改小
R2(config)#router rip
R2(config-router)#dis
R2(config-router)#distance ?
<1-255> Administrative distance
R2(config-router)#distance 100 ?
A.B.C.D IP Source address
<cr>
R2(config-router)#distance 100 12.1.1.1 0.0.0.0
此时R2就会重新学到以R开头的路由
把ospf改大
router ospf 1
distance ospf ex 130//或者#distance 130 4.4.4.4 0.0.0.0