Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:在源地址上配置基于过滤器的转发

此示例说明如何配置基于过滤器的转发 (FBF),有时也称为基于策略的路由 (PBR)。过滤器对数据包进行分类,以确定其在入口路由设备中的转发路径。

IP 版本 4 (IPv4) 和 IP 版本 6 (IPv6) 支持基于过滤器的转发。

要求

此示例不需要除设备初始化之外的特殊配置。

概述

在此示例中,当客户拥有由不同 ISP 提供的互联网连接但共享一个通用接入层时,我们使用 FBF 进行服务提供商选择。使用共享介质(如电缆调制解调器)时,通用接入层上的机制会查看第 2 层或第 3 层地址,并区分客户。当公共接入层结合使用第 2 层交换机和单个路由器实施时,您可以使用基于过滤器的转发。

使用 FBF 时,会考虑在接口上接收的所有数据包。每个数据包都通过具有匹配条件的过滤器。如果满足过滤器的匹配条件,并且您创建了路由实例,则 FBF 将应用于数据包。数据包将根据路由实例中指定的下一跃点进行转发。对于静态路由,下一跃点可以是特定的 LSP。

注:

为 FBF 配置的接口不支持源类使用过滤器匹配和单播逆向路径转发检查。

要配置 FBF,请执行以下操作:

  • 在入口设备上创建匹配过滤器。要指定匹配过滤器,请在 filter filter-name 层次结构级别包含语句 [edit firewall] 。将通过过滤器的数据包与一组规则进行比较,以便对其进行分类并确定其在一个集中的成员资格。分类后,数据包将转发到过滤器描述语言的接受操作指定的路由表。然后,路由表将数据包转发到与表中的目标地址条目对应的下一跃点。

  • 创建路由实例,用于指定数据包转发到的路由表,以及数据包在层次结构级别转发到的目标 [edit routing-instances] 。例如:

  • 创建 RIB 组,以将接口路由与基于过滤器的转发 (FBF) 中使用的转发路由实例共享。这一部分配置用于解析路由实例中安装的路由,以直接连接该接口上的下一跃点。在层次结构级别创建路由表组 [edit routing-options]

此示例显示了一个数据包过滤器,该过滤器根据数据包的源地址将客户流量定向到域 SP1 或 SP2 中的下一跃点路由器。

如果数据包有分配给 SP1 客户的源地址,则使用 sp1-route-table.inet.0 路由表进行基于目标的转发。如果数据包的源地址分配给了 SP2 客户,则使用 sp2-route-table.inet.0 路由表进行基于目标的转发。如果数据包与上述任一条件不匹配,则过滤器会接受该数据包,并使用标准 inet.0 路由表进行基于目标的转发。

拓扑

图 1 显示了此示例中使用的拓扑。

在设备 P1 上,输入过滤器用于对从设备 PE3 和设备 PE4 接收的数据包进行分类。数据包会基于源地址进行路由。源地址在 10.1.1.0/24 和 10.1.2.0/24 网络中的数据包将路由到设备 PE1。源地址在 10.2.1.0/24 和 10.2.2.0/24 网络中的数据包将路由到设备 PE2。

图 1: 基于过滤器的转发基于过滤器的转发

为了建立连接,所有接口上均配置了 OSPF。出于演示目的,在路由设备上配置了环路接口地址,以表示云中的网络。

CLI 快速配置 部分显示拓扑中所有设备的整个配置。本节 在设备 P1 上配置基于过滤器的转发 显示入口路由设备设备 P1 的分步配置。

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层次结构级别的 CLI 中 [edit]

设备 P1

设备 P2

设备 PE1

设备 PE2

设备 PE3

设备 PE4

在 P1 上配置防火墙过滤器

逐步过程

以下示例要求您在配置层次结构中的各个级别上导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置主路由器或交换机上的防火墙过滤器:

  1. 为 SP1 客户配置源地址。

  2. 配置在接收具有指定源地址的数据包时采取的操作;它们将被记录,并传递到 sp1-route-表路由实例,以便通过 sp1-route-table.inet.0 路由表进行路由。

  3. 为 SP2 客户配置源地址。

  4. 配置在接收具有指定源地址的数据包时采取的操作;它们将被记录,并传递到 sp2-route-表路由实例,以便通过 sp2-route-table.inet.0 路由表进行路由。

  5. 配置从任何其他源地址接收数据包时要采取的操作;它们将使用默认的 IPv4 单播路由表 inet.0 接受并路由。

在设备 P1 上配置基于过滤器的转发

逐步过程

以下示例要求您在配置层次结构中的各个级别上导航。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置路由实例:

  1. 配置接口。

  2. classify-customers 防火墙过滤器分配给路由器接口 fe-1/2/0.0 作为输入数据包过滤器。

  3. 使用路由协议或静态路由配置连接。

    最佳做法是禁用管理接口上的路由。

  4. 创建防火墙过滤器中引用的 classify-customers 路由实例。转发实例类型支持基于过滤器的转发,其中接口与实例不关联。

  5. 为每个路由实例定义一个默认路由,以将流量转发到指定的下一跃点(本示例中为 PE1 和 PE2)。

  6. 将路由表关联以形成路由表组。第一个路由表 inet.0 是主路由表,其他路由表是辅助路由表。主路由表确定路由表组(在本例中为 IPv4)的地址系列。

  7. 指定 OSPF 配置中的 fbf 组路由表组,以便将 OSPF 路由安装到三个路由表中。

  8. 完成后提交配置。

结果

通过发出 show interfaces、 、 show firewallshow protocolsshow routing-instances、 和show routing-options命令来确认您的配置。

验证

确认配置工作正常。

使用指定源地址进行 Ping

目的

通过网络发送一些 ICMP 数据包,以测试防火墙过滤器。

行动

  1. ping运行命令,对设备 PE1 上的 lo0.0 接口执行 ping 操作。

    此接口上配置的地址为 172.16.1.1。

    指定源地址 10.1.2.1,即在设备 PE3 上的 lo0.0 接口上配置的地址。

  2. 运行命令,对 ping 设备 PE2 上的 lo0.0 接口执行 ping 操作。

    此接口上配置的地址为 172.16.2.2。

    指定源地址 10.2.1.1,即在设备 PE4 上的 lo0.0 接口上配置的地址。

含义

发送这些 ping 会激活防火墙过滤器操作。

验证防火墙过滤器

目的

确保防火墙过滤器操作生效。

行动

  1. show firewall log 设备 P1 上运行命令。