路由过滤示例
过滤器的匹配方式
要描述过滤器的匹配方式,请考虑以下网关设置:
default_import_route_filter: permit
import_route_filters
- 1 -
permit 10.10.0.0/19
- 2 -
deny 10.10.0.0/16 ge 18 le 30
- 3 -
deny 120.120.154.0/24
- 1 -
default_export_route_filter: deny
export_route_filters
permit 10.10.0.0/18
导入路径
对于此示例,来自客户内部部署网络的路由将通过 import_route_filters
来确定直接链路是否学习这些路由。 我们先来了解一下路由过滤器:
Route filter 1
Action: permit
Address: 10.10.0.0
Mask length: 19
Minimum matching length (ge): 19
Maximum matching length (le): 19
Route filter 2
Action: deny
Address 10.10.0.0
Mask length: 16
Minimum matching length (ge): 18
Maximum matching length (le): 30
Route filter 3
Action: deny
Address 120.120.154.0
Mask length: 24
Minimum matching length (ge): 24
Maximum matching length (le): 24
考虑一个内部网络,该网络通过以下路由与一条直接链路相连:
- 路由 1-
10.10.0.0/16
- 路由 2-
10.10.0.0/18
- 路由 3-
10.10.0.0/19
- 路由 4-
120.120.154.0/24
- 路由 5-
10.10.128.0/18
只有路由 1 - 10.10.0.0/16
和路由 3 - 10.10.0.0/19
由直接链路学习并向附加的虚拟连接发布。
- 路由 1-
10.10.0.0/16
与任何导入过滤器都不匹配。- 路由按地址和掩码长度与过滤器 2 匹配,但
ge
选项会更改前缀匹配规范,不包括路由 1 的掩码/16
。 - 缺省导入过滤器确定如何处理此路由,即
permit
。
- 路由按地址和掩码长度与过滤器 2 匹配,但
- 路由 2 -
10.10.0.0/18
仅与导入过滤器 2 匹配。- 过滤器 2 的
ge
和le
选项会更改前缀匹配规范,以包含具有掩码/18
的路由 2。 - 过滤器 2 的操作为
deny
,因此将不会学习路由 2。
- 过滤器 2 的
- 路由 3-
10.10.0.0/19
与导入过滤器 1 和 2 匹配。- 路由按地址和掩码长度与过滤器 1 匹配。 过滤器 1 没有
ge
或le
值,因此只有确切的掩码长度匹配。 - 过滤器 2 的
ge
和le
选项会更改前缀匹配规范,以包含具有掩码/19
的路由 2。 - 过滤器 1 在列表中位于过滤器 2 之前,优先级更高。 该过滤器操作设置为
permit
,因此会传递和学习该路径。
- 路由按地址和掩码长度与过滤器 1 匹配。 过滤器 1 没有
- 路由 4-
120.120.154.0/24
与过滤器 3 完全匹配。- 过滤器 3 的操作设置为
deny
,因此路由 4 没有被学习。
- 过滤器 3 的操作设置为
- 路由 5 与规则 2 (
deny 10.10.0.0/16 ge 18 le 30
) 匹配,因此路由 5 被拒绝。 将前缀移动到18
的子网将扩展10.10.128.0/18
的地址。
导出路径
在此示例中,从任何虚拟连接学习到的直接链接路由都会通过 export_route_filters
来确定直接链接是否将其广告到客户的内部网络。
首先要了解路由筛选器:
Route filter 1
Action: permit
Address 10.10.0.0
Mask length: 18
Minimum matching length (ge): 18
Maximum matching length (le): 18
考虑使用具有以下路径的虚拟连接的直接链路:
- 路由 1-
10.10.0.0/18
- 路由 2-
10.10.0.0/19
只有路由 1 - 10.10.0.0/18
被宣传到客户的内部网络。
- 在导出过滤器 1 上路由 1-
10.10.0.0/18
个匹配项。- 过滤器 1 的操作设置为
permit
,因此路由 1 会被广告。
- 过滤器 1 的操作设置为
- 路由 2-
10.10.0.0/19
与任何导出过滤器都不匹配。- 缺省导出过滤器确定如何处理此路由,即
deny
。 - 事实上,除了路由 1 之外,其他任何路由都不会发布广告。 没有其他路由与
export
列表中的过滤器匹配。
- 缺省导出过滤器确定如何处理此路由,即
高级匹配示例
与其为连续的子网配置多个路由过滤器,还不如配置一个带有摘要路由的过滤器,并限定与连续子网匹配的最大和最小匹配长度。
没有与长度值匹配的最小值 (GE) 或最大值 (LE)
带有前缀 192.168.64.0/18
的路由过滤器只匹配单个子网 192.168.64.0/18
。
与长度值匹配的等于最小值 (GE) 和最大值 (LE)
带有前缀 192.168.0.0/16
、GE 18
和 LE 18
的路由过滤器匹配以下子网:
192.168.0.0/18
192.168.64.0/18
192.168.128.0/18
192.168.192.0/18
匹配长度值的不等最小值 (GE) 和最大值 (LE)
带有前缀 192.168.0.0/16
、GE 18
和 LE 19
的路由过滤器匹配以下子网:
192.168.0.0/18
192.168.64.0/18
192.168.128.0/18
192.168.192.0/18
192.168.0.0/19
192.168.32.0/19
192.168.64.0/19
192.168.96.0/19
192.168.128.0/19
192.168.160.0/19
192.168.192.0/19
192.168.224.0/19
只指定了最小(GE)匹配长度
前缀为 192.168.0.0/30
, GE 30
的路由过滤器匹配以下子网(最大匹配长度为 32
):
192.168.0.0/30
192.168.0.0/31
192.168.0.2/31
192.168.0.0/32
192.168.0.1/32
192.168.0.2/32
192.168.0.3/32
只指定最大 (LE) 匹配长度
带有前缀 192.168.0.0/16
和 LE 19
的路由过滤器匹配以下子网(最小匹配长度为 16
):
192.168.0.0/16
192.168.0.0/17
192.168.128.0/17
192.168.0.0/18
192.168.64.0/18
192.168.128.0/18
192.168.192.0/18
192.168.32.0/19
192.168.64.0/19
192.168.96.0/19
192.168.128.0/19
192.168.160.0/19
192.168.192.0/19
192.168.224.0/19