1.路由选择工具
路由选择工具,只能匹配,不调用就不会生效
1.1 ACL
- 访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等
- ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过
ACL的结构:
ACL的分类
基于ACL标识方法的划分
- 数字型ACL
- 命名型ACL
基于ACL定义方式的划分
- 基本ACL(编号范围2000-2999)
- 高级ACL(编号范围3000-3999)
- 二层ACL(编号范围4000-4999)
- 用户ACL(编号范围6000-6031)
ACL的匹配顺序
配置顺序(config):按ACL规则的编号(rule-id)按照从小到大的顺序进行匹配
自动排序(auto):使用“深度优先”的原则进行匹配,常用ACL的匹配顺序如下
IPV6 ACL
IPv6 ACL对根据配置的规则对IPv6报文进行分类,其实现原理和ACL基本相同。
ACL6的分类
ACL末尾的规则
- 末尾加rule permit ip, 相当于permit any,就是说出来匹配完规则之后,其他的流量IP流量也能够被匹配放行
- 末尾什么都不加,只匹配你需要的源或目的IP,其他IP不做任何动作。
- 末尾加rule deny ip,相当于deny any,就是说出来匹配完规则之后,其他的流量IP流量也能够被匹配拒绝
插播一下小的知识点,如果说想在两条规则之间插一条规则,但是这两条规则的编号又是连续的,比如说rule1和rule2,想在这两条规则之间插入一条规则该怎么办,可以通过更改步长来解决这个问题,不过这种办法只能在auto自动排序模式下使用
配置前:
acl number 2000
rule 1 permit source 1.1.1.1 0
rule 2 permit source 1.1.1.2 0配置后:
step 10
rule 10 permit source 1.1.1.1 0
rule 20 permit source 1.1.1.2 0
1.2 IP-Prefix
- 用于过滤IP前缀,能同时匹配前缀号和掩码长度
- 不能用于数据包过滤,只能匹配路由
- 缺省情况下,存在最后一条默认匹配模式为deny
- 当引用的前缀过滤列表不存在时,默认匹配模式为permit
IP-Prefix的结构
- ip-prefix FILTER index 10 permit 1.1.1.0 24 greater-equal 26 less-equal 32 //首先先是匹配路由为1.1.1.0/24位的路由,只有满足这个条件之后才回去匹配后面的掩码范围,greater-equal 26的意思是大于或等于26位掩码的意思,less-equal 32是小于或等于32位的意思,总结的来说,对于1.1.1.0这条路由,前面的1.1.1必须要一样,至于后面的主机位,要符合满26到32位的条件就可以了
- ip ip-prefix FILTER index 10 permit 1.1.1.0 24 less-equal 32 //掩码范围在24-32之间的网络1.1.1.0才能permit
- ip ip-prefix FILTER index 10 permit 1.1.1.0 24 greater-equal 26 //掩码范围在26-32之间的网络1.1.1.0才能permit
IPV6-Prefix的结构
- [Huawei] ip ipv6-prefix abc permit :: 0 greater-equal 32 less-equal 64 //允许掩码长度在32位到64位之间的地址通过
- [Huawei] ip ipv6-prefix abc deny 3FFE:D00:: 32 less-equal 128 //拒绝前缀为3FFE:D00::/32,且掩码的范围为32~128的地址通过
- [Huawei] ip ipv6-prefix p3 index 10 deny :: 96 match-network //配置名为p3的地址前缀列表,拒绝::1 96~128位掩码范围的地址通过
1.3 as-path-filter AS
BGP的路由信息中,包含一个自治系统路径域。As-path-filter就是针对自治系统路径域指定匹配条件。AS路径过滤器仅应用于BGP协议。
常用的正则表达式
as-path-filter AS的结构
- ip as-path-filter 10 permit .* //匹配所有的AS-PATH属性
- ip as-path-filter 10 permit _100$ //匹配从AS100发起的路由
- ip as-path-filter 10 permit ^100_ //匹配从AS100接收的路由
- ip as-path-filter 10 permit _100|200$ //匹配从AS100或200发起的路由
1.4 Community-Filter
BGP的路由信息中,可以携带一个或多个团体属性,团体属性过滤器就针对团体属性域指定匹配条件
Community-Filter的结构
ip community-filter 1 permit no-export //匹配community属性为no-export
2. 路由策略
2.1 route-policy
主要用于路由过滤和路由属性设置等,从而影响流量所经过的路径,操纵的对象是路由表
route-policy的结构这里就不细讲了,在ip的博客中有具体的描述到
路由策略的原理
2.2 filter-policy
可以接收指定的路由,从而优化路由表项
filter-policy在OSPF中的应用
Filter-policy Import
- 对接收的路由设置过滤策略,只有通过过滤策略的路由才被添加到路由表中,没有通过过滤策略的路由不会被添加进路由表,但不影响对外发布出去
- OSPF的路由信息记录在LSDB中,filter-policy import命令实际上是对OSPF计算出来的路由进行过滤,不是对发布和接收的LSA进行过滤
Filter-policy export
- 通过命令import-route引入外部路由后,为了避免路由环路的产生,通过filter-policy export命令对引入的路由在发布时进行过滤,只将满足条件的外部路由转换为Type5、7 LSA并发布出去
filter-policy在IS-IS中的应用
Filter-policy Import
- IS-IS的路由表项需要被成功下发到IP路由表中,才能用来指导IP报文转发。如果IS-IS路由表中有到达某个目的网段的路由,但是并不希望将该路由下发到IP路由表中,可以使用该命令结合基本ACL、IP-Prefix、路由策略等方式,只将部分IS-IS路由下发到IP路由表中
Filter-policy export
- 当网络中同时部署了IS-IS和其他路由协议时,如果已经在边界设备上引入了其他路由协议的路由,缺省情况下,该设备将把引入的全部外部路由发布给IS-IS邻居。如果只希望将引入的部分外部路由发布给邻居,可以使用filter-policy export命令实现
filter-policy在BGP中的应用
Filter-policy Import
- 该命令可以对BGP设备全局接收的路由进行过滤,决定是否将路由添加到BGP路由表中
Filter-policy export
- filter-policy export命令用于对设备全局发布的路由信息进行过滤
- 对于通过import-route (BGP)命令引入的路由,配置了这个命令后,BGP会在引入这些路由之前就进行过滤,只有通过过滤的路由才能加入BGP本地路由表,并被BGP发布
3. 策略路由
传统的路由转发原理是首先根据报文的目的地址查找路由表,然后进行报文转发。而策略路由使网络管理者不仅能够根据报文的目的地址,而且能够根据报文的源地址、报文大小和链路质量等属性来制定策略路由,以改变数据包转发路径,满足用户需求,策略路由在不改变路由表的情况下可以影响报文的转发,因为如果布置了策略路由之后,路由器的转发就依靠策略路由的路由表来转发
策略路由的分类
本地策略路由
- 本地策略路由仅对本机下发的报文进行处理,对转发的报文不起作用
接口策略路由
- 接口策略路由只对转发的报文起作用,对本地下发的报文(比如本地的Ping报文)不起作用
智能策略路由
- 智能策略路由是基于业务需求的策略路由,通过匹配链路质量和网络业务对链路质量的需求,实现智能选路
本地策略路由的匹配顺序
路由策略和策略路由的区别
其实最基本的区别就是路由策略操纵的对象是路由表,通过更改路由表影响路由的选路,策略路由就是通过调用策略路由然后构成一个策略路由的路由表,然后路由器的转发是依靠策略路由表去进行转发而不是依靠本地路由表,操纵的对象是转发平面