ip实验:双点双向路由引入
实验目的: ospf和isis双向的无故障的全网互通。
实验思路:在ar2和ar4进行双向引入外部路由,使用一系列的方法,做到访问每个路由都是无次优路径,或者环路。
前提配置:如图,将ospf,isis配通,ar5上有一个loop接口配置上。
1,在ar2.ar4进行双点双向路由引入(是将全局路由表中的所有的ISIS路由引入OSPF中,或者相反,当然也有命令进行个性化的引入)
[ar2-isis-1]import-route ospf
[ar2-ospf-1]import-route isis
[ar4-isis-1]import-route ospf
[ar4-ospf-1]import-route isis
2,在ar5引入固定的直连的外部路由192.168.1.1
[ar5-LoopBack12]ip address 192.168.1.1
[ar5]ip ip-prefix iaa permit 192.168.1.1 32
[ar5-route-policy]dis th
route-policy IAA permit node 10
if-match ip-prefix iaa
[ar5-ospf-1]import-route direct route-policy IAA
3,那么现在所遇问题,次优路径,路由环路,外部路由删除不掉。
[ar2]dis ip routing-table 192.168.1.1(直接是次优路径)
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.1/32 ISIS-L2 15 84 D 23.1.1.2 GigabitEthernet 0/0/1
[ar1]dis ip routing-table 192.168.1.1 (存在次优路径,存在环路的可能性)
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.1/32 O_ASE 150 1 D 15.1.1.2 GigabitEthernet 0/0/2
O_ASE 150 1 D 12.1.1.2 GigabitEthernet 0/0/0
问题成因:
!----由于存在一定的时间差问题,ar4比ar2更早的收到ospf里面引入的直连外部路由,更早的进行isis的引入,当ar4收到
由ar2引入的isis的外部路由,其优先级为15,ar4率先学到,并加表。之后的ospf外部路由,由于其优先级为150,则该ospf里引入
的直连外部路由无法学习并加表。
@----接着ar2再将isis里的路由引入到ospf里面,导致ar1又从ar2方向学习到192.168.1.1的路由,导致 环路和负载。
#----当在ar5 undo掉 import-route direct后,在其上仍然存在直连路由的信息,是因为又由isis由将其直连路由信息引入到ospf
里面了。所以一直删除不掉
解决方法(1):在isis进程下配置在对方路由器引入来的,isis的外部路由不进行加表,在接收方向。
[ar2]ip ip-prefix hcie index 10 deny 192.168.1.1 32
[ar2]ip ip-prefix hcie index 20 permit 0.0.0.0 0 less-equal 32
[ar2-isis-1]filter-policy route-policy hcie import
[ar4]ip ip-prefix hcie index 10 deny 192.168.1.1 32
[ar4]ip ip-prefix hcie index 20 permit 0.0.0.0 0 less-equal 32
[ar4-isis-1]filter-policy route-policy hcie import
[ar4]dis ip routing-table 192.168.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.1/32 ISIS-L2 15 84 D 34.1.1.2 GigabitEthernet0/0/1
该方法的缺陷:
存在单点故障问题,ar和ar4访问192.168.1.1只存在一条路径,当某一条路径down了,对于对应路由器下的pc就无法访问192.168.1.1了
配置繁琐,当所引入的外部路由过多时,会导致配置臃肿。
解决方法(2):修改引入ospf外路由的优先级
在ar2,ar4路由器下的osfp1下配置
preference ase 14
[ar4]dis ip routing-table 200.1.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
200.1.1.1/32 O_ASE 14 1 D 14.1.1.1 GigabitEthernet0/0/0
该方法的缺陷:和最初所遇问题一样
最优的解决方法:
第一步:通过顺时针,逆时针打TAG的方式,只能解决路由回馈即环路问题(相比于解决方法一,ar1是正常的状态,及破除了环路,但是ar2还会是走的次优路径)
顺时针
R2:
route-policy oti deny node 10
if-match tag 200
route-policy oti permit node 20
apply tag 100(没有if-macth所以默认匹配所有)
isis 1
import-route ospf 1 route-policy oti
R4:
route-policy ito deny node 10
if-match tag 100
route-policy ito permit node 20
apply tag 200(没有if-macth所以默认匹配所有)
ospf 1
import-route isis 1 route-policy ito
逆时针:
R2:
route-policy ito deny node 10
if-match tag 400
route-policy ito permit node 20
apply tag 300(没有if-macth所以默认匹配所有)
ospf 1
import-route isis 1 route-policy ito
R4:
route-policy oti deny node 10
if-match tag 300
route-policy oti permit node 20
apply tag 400(没有if-macth所以默认匹配所有)
isis 1
import-route ospf 1 route-policy oti
<ar1>dis ip routing-table 192.168.1.1(不会在去美国买一个纪念品发现是中国制造了)
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.1/32 O_ASE 150 1 D 15.1.1.2 GigabitEthernet
0/0/2
[ar4]dis ip routing-table 192.168.1.1(由于isis里的去往192.168.1.1的优先级为15更优,所以不是ospf加表,而是isis加表,但是dis ospf routeing的结果仍然存在,只是不显现。)
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.1/32 ISIS-L2 15 84 D 34.1.1.2 GigabitEthernet
0/0/1
以上配置和filter-policy route-policy hcie import的唯一区别就是,不是在我的isis或者ospf本端下将对应路由deny的,而是本端将路由给到对端,由对端isis或者ospf在deny掉的。本端是加上表了的。所以最后的现象是,ar1路由器是所想情况,但是ar2或ar3还是其中一个是isis加表(优先级问题),还是会出现次优路径问题。相对于最初的是,对应路由不引入了。
第二步:通过在OSPF区域引入外部路由时打TAG,在R2和R2针对这部分路由修改外部优先级,可以解决次优路径问题
这个实验需要再ISIS进程中敲,因为isis默认不会携带tag属性。
[AR4-isis-1]cost-style wide //在所有ISIS路由器都需要敲,该命令的作用,让ISIS路由携带TAG属性
[AR4]display isis lsdb 0000.0000.0004.00-01 verbose
+IP-Extended 12.1.1.0 255.255.255.0 COST: 0 Tag: 400
+IP-Extended 14.1.1.0 255.255.255.0 COST: 0 Tag: 400
+IP-Extended 15.1.1.0 255.255.255.0 COST: 0 Tag: 400
+IP-Extended 100.1.1.1 255.255.255.255 COST: 0 Tag: 400
+IP-Extended 192.168.1.1 255.255.255.255 COST: 0 Tag: 400
R5:
route-policy dto permit node 10
if-match ip-prefix lo0
apply tag 500
ospf 1 router-id 5.5.5.5
import-route direct route-policy dto //目的,引入后的路由全部被标记为TAG500,方便未来针对这部分路由进行属性修改。
--------------
R2:
route-policy PRE permit node 10
if-match tag 500
apply preference 14
ospf 1 router-id 2.2.2.2
preference ase route-policy PRE 150 //为何要用TAG来抓取这部分路由,因为TAG这个标记是一劳永逸的,未来所有路由引入后都会具有相同的TAG属性
R4:
route-policy PRE permit node 10
if-match tag 500
apply preference 14
ospf 1 router-id 2.2.2.2
preference ase route-policy PRE 150//route-policy PRE匹配上的路由按照route-policy PRE的来改动,没由别route-policy PRE匹配上的,都改成150.所以没有在route-policy PRE配置兜底的,是不会冲突的。
最后结果:
[ar4]dis ip routing-table 192.168.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.1/32 O_ASE 14 1 D 14.1.1.1 GigabitEthernet 0/0/0
[ar2]dis ip routing-table 192.168.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.1.1/32 O_ASE 14 1 D 12.1.1.1 GigabitEthernet 0/0/0