交换与路由练习(十二、route-map)

    xiaoxiao2021-03-26  12

    要求:

    在路由重分布中使用route-map控制分布到ospf进程中的路由条目,分析说明每个路由条目是由哪条语句允许或过滤的。

    一、实现方法

    (1)  配置端口ip和环回接口。

    1R1路由器配置端口ip和3个环回接口

    R 1(config)# interface [type][slot/number]         

    R 1(config-if)#ip address[address] [subnet-mask]

    R 1(config-if)#no shutdown

    R 1(config-if)#exit

         

     2 R2配置端口ip

    R2(config)# interface [type][slot/number]              

    R2(config-if)#ip address [address][subnet-mask]

    R2(config-if)#no shutdown

    R2(config-if)#exit

    (2)  配置拓扑中的各个路由器所要运行的OSPF路由协议。

    R1和R2上配置OSPF协议

    R *(config)# router ospf 1             

    R *(config-router)#network [network] [wildcard-mask]area [area-id]

    R *(config-router)#end

    (3)  使用如下route-map将去往环回接口的路由按照需求通告到ospf进程中并分析。

    1access-list 1 为空

    route-map test permit 10

    match ip address 1

    配置:R1(config)# route-map [name] [permit|deny] [语句号]

               R1(config-route-map)# match ip add [ACLnumber]

               R1(config-route-map)#set metric [度量值]

                   R1(config)# router ospf 1           

    R1(config-router)# redistribute connected subnets route-map[name]

    R1(config-router)#end

    结果分析:

    因为ACL为空,所以route-map放行所有,重分布所有,R2的路由表里面有1.1.1.1、2.2.2.2和3.3.3.3网段的路由条目。

                         2access-list 1 permit 1.1.1.0 0.0.0.255

                           route-map test permit 10

    match ip address 1

    配置:R1(config)#access-list[listnumber 1-99] [permit| deny]  [sourceaddress] [wildcard mask]

    R1(config)# route-map [name][permit|deny] [语句号]

                R1(config-route-map)# match ip add [ACLnumber]

                R1(config-route-map)#set metric [度量值]

                    R1(config)# router ospf 1         

    R1(config-router)# redistribute connected subnets route-map[name]

    R1(config-router)#end

    结果分析:

    因为ACL中只有1.1.1.0网段,此网段被抓取,且ACL为允许,route-map test match这个ACL,也为允许,两者都为允许,所以这条路由条目permit,被重分布,R2的路由表里面有1.1.1.1网段的路由条目。而2.2.2.2和3.3.3.3网段,因为route-map只对于已经抓取的网络进行是否重分布的操作,这两个网段没有被抓取,所以route-map不会对其操作,R2的路由表里面没有2.2.2.2和3.3.3.3网段的路由条目。

                         3access-list 1 deny 1.1.1.0 0.0.0.255

    route-map test permit 10

    match ip address 1

    配置:R1(config)#access-list[listnumber 1-99] [permit| deny]  [sourceaddress] [wildcard mask]

    R1(config)# route-map [name][permit|deny] [语句号]

                R1(config-route-map)# match ip add [ACLnumber]

                R1(config-route-map)#set metric [度量值]

                    R1(config)# router ospf 1         

    R1(config-router)# redistribute connected subnets route-map[name]

    R1(config-router)#end

    结果分析:

    因为ACL中拒绝了1.1.1.0网段,所以这个网段交给下一条route-map语句操作,但是当前下一条route-map语句是隐式拒绝所有,所以1.1.1.1网段被拒绝,没有被重分布,R2的路由表里面没有1.1.1.1网段的路由条目。而2.2.2.2和3.3.3.3,因为route-map只对于已经抓取的网络进行是否重分布的操作,这两个网段没有被抓取,所以route-map不会对其操作,R2的路由表里面没有2.2.2.2和3.3.3.3网段的路由条目。

                         4access-list 1 deny 1.1.1.1 0.0.0.255

    access-list 1 permit any

    route-map test permit 10

    match ip address 1

    配置:R1(config)#access-list[list number 1-99] [permit| deny] [source address] [wildcard mask]

    R1(config)# route-map [name][permit|deny] [语句号]

                R1(config-route-map)# match ip add [ACLnumber]

                R1(config-route-map)#set metric [度量值]

                    R1(config)# router ospf 1         

    R1(config-router)# redistribute connected subnets route-map[name]

    R1(config-router)#end

    结果分析:

    因为ACL中拒绝了1.1.1.1网段,所以这个网段交给下一条route-map语句操作,但是当前下一条route-map语句是隐式拒绝所有,所以1.1.1.1网段被拒绝,没有被重分布,R2的路由表里面没有1.1.1.1网段的路由条目。由access-list1 deny 1.1.1.1 0.0.0.255和access-list 1 permit any可知,2.2.2.2和3.3.3.3网段被抓取。因为route-map只对于已经抓取的网络进行是否重分布的操作,所以route-map将抓取到的这两个网段进行重分布,R2的路由表上有这两个的路由条目。

                         5access-list 1 permit 1.1.1.1 0.0.0.255

    route-map test deny 10

    match ip address 1

    配置:R1(config)#access-list[list number 1-99] [permit| deny] [source address] [wildcard mask]

    R1(config)# route-map [name][permit|deny] [语句号]

                R1(config-route-map)# match ip add [ACLnumber]

                R1(config-route-map)#set metric [度量值]

                    R1(config)# router ospf 1         

    R1(config-router)# redistribute connected subnets route-map[name]

    R1(config-router)#end

    结果分析:

    因为ACL只负责抓取网段,且ACL为允许,所以此时抓取了1.1.1.1网段,但最终是由route-map决定是否将抓取到的网段重分布。因为route-map test deny 10,route-map拒绝重分布,所以最终1.1.1.1网段重分布,R2的路由表里面没有1.1.1.0网段的路由条目。而2.2.2.2和3.3.3.3,因为route-map只对于已经抓取的网络进行是否重分布的操作,这两个网段没有被抓取,所以route-map不会对其操作,R2的路由表里面没有2.2.2.2和3.3.3.3网段的路由条目。

                         6access-list 1 permit 1.1.1.1 0.0.0.255

    route-map test deny 10

    match ip address 1

    route-map test permit 20

    配置:R1(config)#access-list[list number 1-99] [permit| deny] [source address] [wildcard mask]

    R1(config)# route-map [name][permit|deny] [语句号]

                R1(config-route-map)# match ip add [ACLnumber]

                R1(config-route-map)#set metric [度量值]

                    R1(config)# router ospf 1         

    R1(config-router)# redistribute connected subnets route-map[name]

    R1(config-router)#end

    结果分析:

    因为ACL只负责抓取网段,且ACL为允许,所以此时抓取了1.1.1.1网段,但最终是由route-map决定是否将抓取到的网段重分布。因为route-map test deny 10,route-map拒绝重分布,所以最终1.1.1.1网段未重分布,R2的路由表里面没有1.1.1.1网段的路由条目。又因为route-maptest permit 20并没有match,不调用ACL,所以与ACL为空一样,route-map放行所有,重分布所有。但因为route-map的执行也是有顺序的,由permit/deny后的数字决定,数字越小越先执行,所以拒绝重分布1.1.1.1网段优先于放行所有,所以R2的路由表里面没有1.1.1.1网段的路由条目,但有2.2.2.2和3.3.3.3网段的路由条目。

                         7access-list 1 deny 1.1.1.1 0.0.0.255

    route-map test deny 10

    match ip address 1

    route-map test permit 20

    配置:R1(config)#access-list[list number 1-99] [permit| deny] [source address] [wildcard mask]

    R1(config)# route-map [name][permit|deny] [语句号]

                R1(config-route-map)# match ip add [ACLnumber]

                R1(config-route-map)#set metric [度量值]

                    R1(config)# router ospf 1         

    R1(config-router)# redistribute connected subnets route-map[name]

    R1(config-router)#end

    结果分析:

    因为ACL中拒绝了1.1.1.1网段,所以这个网段交给下一条route-map语句操作,因为下一条route-map test permit 20并没有match,不调用ACL,所以与ACL为空一样,route-map放行所有,重分布所有。所以R2的路由表里面有1.1.1.1、2.2.2.2和3.3.3.3网段的路由条目。

                         8access-list 1 permit 1.1.1.1 0.0.0.255

    access-list 2 permit 2.2.2.20.0.0.255

    access-list 3 deny 3.3.3.3 0.0.0.255

    route-map test deny 10

    match ip address 1

    route-map test permit 20

    match ip address 2

    route-map test permit 30

    match ip address 3

    配置:R1(config)#access-list[listnumber 1-99] [permit| deny]  [sourceaddress] [wildcard mask]

    R1(config)# route-map [name][permit|deny] [语句号]

                R1(config-route-map)# match ip add [ACLnumber]

                R1(config-route-map)#set metric [度量值]

                    R1(config)# router ospf 1         

    R1(config-router)# redistribute connected subnets route-map[name]

    R1(config-router)#end

    结果分析:

    因为ACL只负责抓取网段,且第一条ACL为允许,所以此时抓取了1.1.1.1网段,但最终是由route-map决定是否将抓取到的网段重分布。因为route-map test deny 10,route-map拒绝重分布,所以最终1.1.1.1网段未重分布,R2的路由表里面没有1.1.1.1网段的路由条目。因为第二条ACL中只有2.2.2.2网段,此网段被抓取,且ACL为允许,route-map test match这个ACL,也为允许,两者都为允许,所以这条路由条目permit,被重分布,R2的路由表里面有2.2.2.2网段的路由条目。因为第三条ACL中拒绝了3.3.3.3网段,所以这个网段交给下一条route-map语句操作,但是当前下一条route-map语句是隐式拒绝所有,所以3.3.3.3网段被拒绝,没有被重分布,R2的路由表里面没有3.3.3.3网段的路由条目。所以R2的路由表里面没有1.1.1.1和3.3.3.3网段的路由条目,但有2.2.2.2网段的路由条目。

    分析

    (1)  在配置OSPF时,network通告的一定是网段,而不是某个端口。

    (2)   

    route-map

    ACL

    permit

    deny

    permit

    路由条目permit

    deny

    deny

    交给下一条route-map语句操作

    交给下一条route-map语句操作

    (3)  ACL只负责抓取路由条目,route-map来决定是否重分布,route-map只操作被抓取的网段。

    (4)  route-map有执行顺序,序号小的先执行;一个route-map中可有多条语句;最后有一条隐式拒绝所有(除了在上面的route-map中明确允许或拒绝的网段,最终都会被隐式拒绝掉)。

    (5)  重分布的是网络,不是语句。

    (6)  route-map没有match和set语句,不会调用ACL,所以与ACL为空的效果一样,route-map会放行所有。

    转载请注明原文地址: https://ju.6miu.com/read-650121.html

    最新回复(0)