1.路由控制工具
匹配工具1:访问控制列表
(1)通配符
当进行IP地址匹配的时候,后面会跟着32位掩码位,这32位称为通配符。
通配符,也是点分十进制格式,换算成二进制后,“0”表示“匹配”,“1”表示“不匹配”。通配符中的1或者0可以不连续。
具体看下这2条规则:
rule 5: 拒绝源IP地址为10.1.1.1报文通过——因为通配符为全0,所以每一位都要严格匹配,因此匹配的是主机IP地址10.1.1.1;
rule 15:允许源IP地址为10.1.1.0/24网段地址的报文通过——因为通配符:0.0.0.11111111,后8位为1,表示不关心,因此10.1.1.xxxxxxxx 的后8位可以为任意值,所以匹配的是10.1.1.0/24网段。
例子:如果要精确匹配192.168.1.1/24这个IP地址对应的网段地址,通配符是多少?
可以得出:网络位需要严格匹配,主机位无所谓,因此通配符为“0.0.0.255”。
两个特殊的通配符:
当通配符全为0来匹配IP地址时,表示精确匹配某个IP地址;
当通配符全为1来匹配0.0.0.0地址时,表示匹配了所有IP地址。
(2)ACL的分类与基本ACL
对于使用ACL进行路由匹配的场景,用户只能使用基本ACL。
(3)ACL的匹配机制
(4)ACL的匹配顺序及匹配结果
(5)常用匹配举例
(6)基本ACL的基础配置命令
匹配工具2:IP前缀列表
(7)IP-Prefix的匹配机制
(8)IP-Prefix的匹配示例
(9)IP-Prefix的基础配置命令
(10)IP-Prefix的配置举例(1)
Case1说明:
这种情况属于单节点的精确匹配,只有目的地址,掩码完全相同的路由才会匹配成功,而且节点的匹配模式为Permit,所以路由10.1.1.0/24被Permit,属于匹配成功并被Permit,其他路由由于未匹配成功被Deny。
Case2说明:
这种情况属于单节点的精确匹配,但节点的匹配模式为deny,所以路由10.1.1.0/24还是被Deny,属于匹配成功但被Deny,其他路由则属于未匹配成功被默认Deny。
(11)IP-Prefix的配置举例(2)
Case1说明:这种情况属于多节点的精确匹配。
路由10.1.1.0/24在匹配index 10时,满足匹配条件,但匹配模式是deny,属于匹配成功但被Deny。
路由10.1.1.1/32在匹配index 10时,不满足匹配条件,则继续匹配index 20,此时匹配成功,且index 20的匹配模式是permit,属于匹配成功并被Permit。
其他路由由于都不符合index 10和20的条件,属于未匹配成功被默认Deny。
Case2说明:
此时greater-equal-value=26,less-equal-value=32。配置时,需满足mask-length<=greater-equal-value<=less-equal-value,否则配置不成功。
(12)IP-Prefix的配置举例(3)
Case1说明:
此时greater-equal-value=8,less-equal-value=32,前8个bit与10.0.0.0相同,掩码长度在8-32之间的路由全部被匹配。
Case2说明:
对于index 10,greater-equal-value=24,less-equal-value=32,前24个bit与10.1.1.0相同,所有掩码长度在24到32的路由全部被Deny;
对于index 20,greater-equal-value=0,less-equal-value=32,前16个bit与10.1.0.0相同,掩码长度在16到32的路由被匹配,此时只有10.1.0.0/16被匹配,剩下的被默认deny。
2.路由控制实现
策略工具1:Filter-Policy
(1)Filter-Policy在距离矢量路由协议中的应用
距离矢量协议是基于路由表生成路由的,因此过滤器会影响从邻居接收的路由和向邻居发布的路由。
如果要过滤掉上游设备到下游设备的路由,只需要在上游设备配置filter-policy export或者在下游设备上配置filter-policy import。
(2)Filter-Policy在链路状态路由协议中的应用
OSPF把网络中所泛洪的LSA存储到自己的LSDB中,并且运行SPF算法,计算出一颗以自己为根,无环的最短路径树,
Filter-Policy对OSPF计算出来的路由(加载到路由表之前)进行过滤,而不会对LSA进行过滤。
上面的实例以OSPF为例,展示了Filter-Policy在链路状态中的应用。
(3)Filter-Policy的基础配置命令(1)
(4)Filter-Policy的基础配置命令(2)
(5)Filter-Policy的基础配置命令(3)
(6)OSPF中使用Filter-Policy
OSPF的路由信息记录在LSDB中,filter-policy import命令实际上是对OSPF计算出来的路由进行过滤,不是对发布和接收的LSA进行过滤。
filter-policy export命令通过指定protocol或process-id对特定的某一种协议或某一进程的路由进行过滤。
如果没有指定protocol和process-id,则OSPF将对所有引入的路由信息进行过滤。
(7)IS-IS中使用Filter-Policy
IS-IS的路由表项需要被成功下发到IP路由表中,才能用来指导IP报文转发。
如果IS-IS路由表中有到达某个目的网段的路由,但是并不希望将该路由下发到IP路由表中,可以使用filter-policy import命令结合基本ACL、IP-Prefix、路由策略等方式,只将部分IS-IS路由下发到IP路由表中。
(8)BGP中使用Filter-Policy
策略工具2:Route-Policy
(9)
当使用Route-Policy时,Node的值小的节点先进行匹配。
一个节点匹配成功后,路由将不再匹配其他节点。全部节点匹配失败后,路由将被过滤。
(10)实验环境
ACL过滤(问法一样多种问法,会把路由、ACL、ip-prefix、route-policy里面参数修改,要清楚怎么算的)
1、R1向R2发布路由的时候调用路由策略,问R2的路由表中此时能看到哪些路由?(写出掩码)
先查看此时AR2的路由表中有哪些路由
acl number 2000
rule 5 permit source 1.1.1.1 0
acl number 2001
rule 5 deny source 3.3.3.3 0
ip ip-prefix e1 index 10 permit 10.1.1.0 24
ip ip-prefix e2 index 10 deny 172.21.0.0 16
route-policy bgp permit node 10
if-match acl 2001
route-policy bgp deny node 20
if-match acl 2002
route-policy bgp permit node 30
if-match ip-prefix e1
route-policy bgp permit node 40
if-match ip-prefix e2
第一种情况的结果:
不存在任何路由信息,因为acl 2002不存在,所以在route-policy的第2个节点相当于不存在匹配项,即node 20匹配所有条目信息且动作为拒绝
(11)Route-Policy的组成
(12)Route-Policy的匹配顺序
(13)Route-Policy的基础配置命令(1)
(14)Route-Policy的基础配置命令(2)
apply子句用来为路由策略指定动作,用来设置匹配成功的路由的属性。在一个节点中,如果没有配置apply子句,则该节点仅起过滤路由的作用。如果配置一个或多个apply子句,则通过节点匹配的路由将执行所有apply子句。
小结:1.路由控制工具有ACL和IP前缀列表,策略工具有Filter-Policy和Route-Policy。
2.在距离矢量路由协议中,设备之间传递的是路由信息,如果需要对这种路由信息进行某种过滤,可以使用Filter-Policy实现。(距离矢量协议是基于路由表生成路由的)
3.在链路状态路由协议中,各路由设备之间传递的是LSA信息,然后设备根据LSA汇总的LSDB信息计算出路由表。但是Fiter-Policy只能过滤路由信息,无法过滤LSA。
3.Filter-Policy命令只会对本地的路由表产生影响,不会将匹配的路由加入到路由表,不会影响本地设备的LSP的扩散和LSDB的同步。
4.当网络中同时部署了IS-IS和其他路由协议时,如果已经在边界设备上引入其他路由协议的路由,缺省情况下,该设备将把引入的全部 外部路由发布给IS-IS邻居。如果只希望将引入的部分外部路由发布给邻居,可以使用Filter-Policy export命令实现。
5.Route-Policy是一种策略工具,用于过滤路由信息,以及为过滤后的路由信息设置路由属性
3.路由控制案例
(1)对接收的路由进行过滤
通过Filter-Policy进行路由过滤,只影响本地的路由表,因此R3可以正常学习到192.168.1.0/24网段的路由。