一、路由泄露
1、默认情况Level 1不会学到Level2的明细路由,L2可以学到L1的明细路由
2、FIB数据转发,路由负载,通过随机数据中的五元组hash,hash值决定数据走哪条链路
R1设备ping和telnet通过抓包查看走的都是S1/0/0接口
抓包进行过滤;ip.addr==12.1.1.1 && ip.addr==20.20.20.20
3、在L1-L2设备做路由泄露
[R4-isis-1]import-route isis level-2 into level-1 //将L2层级路由渗透到L1层级
此时R4做完路由泄露后,R1到达20.20.20.20的路由下一跳到达R4,从R1 G0/0/0接口转发
我们把R4的路由泄露配置去掉,然后配置R1的S1/0/0接口cost为20
[R1-Serial1/0/0]isis cost 20
此时R1的默认路由下一跳为R4:
如果把接口R1的G0/0/0 down掉,此时R1的默认路由下一跳为R2
[R1-GigabitEthernet0/0/0]shutdown
[R1-Serial1/0/0]isis cost ?
INTEGER<1-63> Cost value//默认情况是narrow的cost-style,可以改为wide cost-style.
我们把R1的串口cost配置去掉还原,然后我们在R2和R4同时做路由泄露,此时我们发现到SW2 的 lo0 20.20.20.20路由负载
[R4-isis-1]import-route isis level-2 into level-1
[R2-isis-1]import-route isis level-2 into level-1
我们在SW1 配置 lo1 开启ISIS
[SW1-LoopBack1]ip address 20.20.20.21 32
[SW1-LoopBack1]isis enable
此时我们在R1可以查看20.20.20.21的路由负载:
R2和R4配置过滤,在R1可以收到20.20.20.20的路由过滤掉20.20.20.21的路由
[R4-isis-1]import-route isis level-2 into level-1 filter-policy 2000
[R2-isis-1]import-route isis level-2 into level-1 filter-policy 2000
[R2]acl 2000
[R2-acl-basic-2000]rule 10 permit source 20.20.20.20 0
查看IS-IS路由:U-Up/Down Bit Set,用于不同Level之间的路由防环!已被标记的路由不会再传回原理的区域!
二、路由渗透-L1到L2的控制
[R1-LoopBack1]ip address 1.1.1.1 32//增加一个环回口
[R1-LoopBack1]isis enable
我们再R2和R4配置过滤
[R2-isis-1]import-route isis level-1 into level-2 filter-policy acl-name L1TOL2 tag 100
[R4-isis-1]import-route isis level-1 into level-2 filter-policy acl-name L1TOL2 tag 100
[R2]acl name L1TOL2
[R2-acl-adv-L1TOL2]rule 5 permit ip source 11.1.1.1 0
[R4]acl name L1TOL2
[R4-acl-adv-L1TOL2]rule 5 permit ip source 11.1.1.1 0
此时我们在SW1查看ISIS路由已经过滤掉1.1.1.1的路由,仅允许11.1.1.1路由:(R2和R4的直连路由除外,也可以理解为ABR的直连路由除外)
我们配置为所有设备cost-style为wide方式
[R1-isis-1]cost-style wide//R1-R4及SW1都配置,否则路由计算有问题
配置cost-style为wide方式后SW1可以查看到带有管理TAG100的11.1.1.1路由:
[SW1-LoopBack0]isis tag-value 20202020//针对该接口的路由增加管理TAG202020,生成路由的时候直接增加TAG,不需要引入外部路由的时候增加TAG
我们在R1的lo0 接口的路由增加管理TAG 6666
[R1-LoopBack0]isis tag-value 6666
此时我们再SW1上查看的Lo0 接口路由TAG仍然为R2和R4配置路由过滤增加的TAG值: