对接收的路由应用路由过滤器
在路由协议中应用路由策略相关的过滤器,过滤接收的路由。
应用环境
网络中,各设备交互路由信息的时候,需要根据实际需要对路由进行选择性地接收。在定义了路由策略相关的过滤器(地址前缀列表、ACL、Route-Policy等)后,需要在协议中引入这些过滤器。应用各协议中的filter-policy命令引用ACL或地址前缀列表,对接收的路由进行过滤,仅接收满足条件的部分路由。
过滤接收路由的命令是filter-policy import。对于距离矢量协议和链路状态协议,filter-policy命令的操作过程是不同的:
距离矢量协议
距离矢量协议是基于路由表生成路由的。因此过滤器会影响从邻居接收的路由和向邻居发布的路由。
链路状态协议
链路状态路由协议是基于链路状态数据库来生成路由的,filter-policy不影响链路状态通告或链路状态数据库的完整性,因此在接收和发布时的影响是不同的。
在接收路由时,filter-policy只能决定哪些路由从协议路由表安装到本地核心路由表,即只影响本地核心路由表,不影响协议路由表;
BGP具有强大的过滤功能,BGP相关的策略配置请参见“BGP配置”。
在路由协议RIP、OSPF、IS-IS、BGP中,都有相应的filter-policy和import-route命令及其应用,请参见各章节中相关配置。
配置RIP对接收的路由进行过滤
通过指定访问控制列表和地址前缀列表,可以配置入口或出口过滤策略,对接收和发布的路由进行过滤。在接收路由时,还可以指定只接收来自某个邻居的RIP报文。
背景信息
设备提供路由信息过滤功能,通过指定访问控制列表和地址前缀列表,可以通过指定ACL号和IP前缀列表来配置入口或出口过滤策略,对接收和发布的路由进行过滤。
在接收路由时,还可以指定只接收来自某个邻居的RIP报文。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令rip [ process-id ],创建RIP进程并进入RIP视图。
- 配置过滤接收的路由信息。
根据实际情况选择其中之一:
- 匹配基本ACL:
- 执行命令filter-policy { acl-number | acl-name acl-name } import [ interface-type interface-number ]。
- 执行命令quit,返回系统视图。
- 执行命令acl { name basic-acl-name { basic | [ basic ] number basic-acl-number } | [ number ] basic-acl-number } [ match-order { config | auto } ],进入ACL视图。
执行命令rule [ rule-id ] [ name rule-name ] { deny | permit } [ fragment-type { fragment | non-fragment | non-subseq | fragment-subseq | fragment-spe-first } | source { source-ip-address { source-wildcard | 0 | src-netmask } | any } | time-range time-name | vpn-instance vpn-instance-name ] *,配置ACL规则。
对于命名型ACL,使用rule命令配置过滤规则时,只有source参数指定的源地址范围和time-range参数指定的时间段对配置规则有效。
使用路由协议下的Filter-Policy策略过滤路由时:如果ACL规则的动作是permit时,则该路由被系统接收或发布;
如果ACL规则的动作是deny时,则该路由不会被系统接收或发布;
如果路由的网段不在ACL规则指定的范围内,则该路由默认不被系统接收或发布;
如果ACL中不存在规则,那么引用该ACL的路由策略中涉及的所有路由不被系统接收或发布;
路由过滤可分为黑名单和白名单方式:
当ACL规则的匹配顺序为配置方式时,系统根据规则编号从小到大的顺序进行匹配。
黑名单方式可以在同一个ACL中先配置动作是deny的编号较小的规则,用于过滤掉不希望被系统接收或发布的路由,然后再配置动作是permit的编号较大的规则,用于接收或发布其他路由。
白名单方式可以在同一个ACL中先配置动作是permit的编号较小的规则,用于允许希望被系统接收或发布的路由,然后再配置动作是deny的编号较大的规则,用于过滤掉其他不希望被系统接收或发布的路由。
匹配地址前缀列表:
执行命令filter-policy ip-prefix ip-prefix-name import [ interface-type interface-number ]。
- 匹配基本ACL:
- 执行命令commit,提交配置。
配置OSPF对接收的路由进行过滤
通过对需要下发到RM的OSPF路由设置路由信息的过滤条件,只有通过过滤的路由才被添加到路由表中。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令ospf [ process-id ],进入OSPF进程视图。
- 配置过滤接收的路由信息。
根据实际情况选择其中之一:
- 匹配基本ACL:
- 执行命令filter-policy { acl-number | acl-name acl-name } import。
- 执行命令quit,返回系统视图。
- 执行命令acl { name basic-acl-name { basic | [ basic ] number basic-acl-number } | [ number ] basic-acl-number } [ match-order { config | auto } ],进入ACL视图。
执行命令rule [ rule-id ] [ name rule-name ] { deny | permit } [ fragment-type { fragment | non-fragment | non-subseq | fragment-subseq | fragment-spe-first } | source { source-ip-address { source-wildcard | 0 | src-netmask } | any } | time-range time-name | vpn-instance vpn-instance-name ] *,配置ACL规则。
对于命名型ACL,使用rule命令配置过滤规则时,只有source参数指定的源地址范围和time-range参数指定的时间段对配置规则有效。
使用路由协议下的Filter-Policy策略过滤路由时:如果ACL规则的动作是permit时,则该路由被系统接收或发布;
如果ACL规则的动作是deny时,则该路由不会被系统接收或发布;
如果路由的网段不在ACL规则指定的范围内,则该路由默认不被系统接收或发布;
如果ACL中不存在规则,那么引用该ACL的路由策略中涉及的所有路由不被系统接收或发布;
路由过滤可分为黑名单和白名单方式:
当ACL规则的匹配顺序为配置方式时,系统根据规则编号从小到大的顺序进行匹配。
黑名单方式可以在同一个ACL中先配置动作是deny的编号较小的规则,用于过滤掉不希望被系统接收或发布的路由,然后再配置动作是permit的编号较大的规则,用于接收或发布其他路由。
白名单方式可以在同一个ACL中先配置动作是permit的编号较小的规则,用于允许希望被系统接收或发布的路由,然后再配置动作是deny的编号较大的规则,用于过滤掉其他不希望被系统接收或发布的路由。
匹配地址前缀列表:
执行命令filter-policy ip-prefix ip-prefix-name import。
- 匹配基本ACL:
- 执行命令commit,提交配置。
配置IS-IS对接收的路由信息进行过滤
通过配置IS-IS对接收的路由是否加入IP路由表,来控制加入IP路由表的IS-IS路由数量,减少IP路由表的规模。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令isis [ process-id ],进入IS-IS视图。
- 配置过滤接收的路由信息。
根据实际情况选择其中之一:
- 匹配基本ACL:
- 执行命令filter-policy { acl-number | acl-name acl-name } import。
- 执行命令quit,返回系统视图。
- 执行命令acl { name basic-acl-name { basic | [ basic ] number basic-acl-number } | [ number ] basic-acl-number } [ match-order { config | auto } ],进入ACL视图。
执行命令rule [ rule-id ] [ name rule-name ] { deny | permit } [ fragment-type { fragment | non-fragment | non-subseq | fragment-subseq | fragment-spe-first } | source { source-ip-address { source-wildcard | 0 | src-netmask } | any } | time-range time-name | vpn-instance vpn-instance-name ] *,配置ACL规则。
对于命名型ACL,使用rule命令配置过滤规则时,只有source参数指定的源地址范围和time-range参数指定的时间段对配置规则有效。
使用路由协议下的Filter-Policy策略过滤路由时:如果ACL规则的动作是permit时,则该路由被系统接收或发布;
如果ACL规则的动作是deny时,则该路由不会被系统接收或发布;
如果路由的网段不在ACL规则指定的范围内,则该路由默认不被系统接收或发布;
如果ACL中不存在规则,那么引用该ACL的路由策略中涉及的所有路由不被系统接收或发布;
路由过滤可分为黑名单和白名单方式:
当ACL规则的匹配顺序为配置方式时,系统根据规则编号从小到大的顺序进行匹配。
黑名单方式可以在同一个ACL中先配置动作是deny的编号较小的规则,用于过滤掉不希望被系统接收或发布的路由,然后再配置动作是permit的编号较大的规则,用于接收或发布其他路由。
白名单方式可以在同一个ACL中先配置动作是permit的编号较小的规则,用于允许希望被系统接收或发布的路由,然后再配置动作是deny的编号较大的规则,用于过滤掉其他不希望被系统接收或发布的路由。
匹配地址前缀列表:
执行命令filter-policy ip-prefix ip-prefix-name import。
- 匹配基本ACL:
- 执行命令commit,提交配置。