示例:通过配置基于接口的固定分类对来自远程设备的所有流量进行分类
此示例显示了基于传入接口的固定分类配置。固定分类可以基于物理接口(如 ATM 或千兆以太网接口)或逻辑接口(如以太网 VLAN、帧中继 DLCI 或 MPLS 隧道)。
要求
为了验证此过程,此示例使用流量生成器。流量生成器可以是基于硬件的,也可以是基于服务器或主机上运行的软件。
运行 Junos OS 的设备上广泛支持此过程中的功能。此处展示的示例在运行 Junos OS 12.1 版的 SRX 系列防火墙上经过测试和验证。SRX 系列防火墙配置为作为路由器运行。
如果要对 SRX 系列防火墙执行测试,则可能需要将设备配置为在测试环境中作为不安全的路由器运行。通常不会在生产环境中执行这些操作。
概述
固定接口分类器是对所有数据包从特定接口到转发类进行分类的最简单的方法。这通常用于边缘路由器,对从远程路由器或服务器到特定转发类和队列的所有流量进行分类。固定接口分类器只需查看数据包到达的入口接口,并将该接口上接收的所有流量分配给特定的服务等级。
固定接口分类器无法设置本地有意义的数据包丢失优先级,这用于重写规则和丢弃配置文件。所有固定接口分类符的隐式数据包丢失优先级均较低。
固定接口分类器不足以满足接口接收属于多个服务等级的流量的情况。但是,当基于接口的分类与其他分类流程结合使用时,它很有用。基于入站接口的过滤可以提高分类的粒度,例如,当与基于代码点标记的过滤相结合时。接口标记流程与代码点标记分类相结合,可以使单个代码点标记具有不同的含义,具体取决于接收数据包的接口。如果您想将固定接口分类器和代码点分类器组合在一起,这实际上就是多域分类器。
更精细的固定接口分类器替代方案
在 Junos OS 中,您可以使用多域分类器组合基于接口的分类和代码点分类,如下所示:
[edit firewall family inet filter MF_CLASSIFIER term 1] from { dscp ef; interface ge-0/0/0.0; } then forwarding-class Voice;
以下瞻博网络学习字节视频详细介绍了分类器。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。
设备 R1
set interfaces ge-0/0/0 description to-R2 set interfaces ge-0/0/0 unit 0 family inet address 10.30.0.1/30 set interfaces ge-0/0/1 description to-host set interfaces ge-0/0/1 unit 0 family inet address 172.16.50.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 passive set protocols ospf area 0.0.0.0 interface lo0.0 passive
设备 R2
set interfaces ge-0/0/0 unit 0 family inet address 10.30.0.2/30 set interfaces ge-0/0/1 unit 0 family inet address 10.40.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set class-of-service forwarding-classes queue 0 BE-data set class-of-service forwarding-classes queue 1 Premium-data set class-of-service forwarding-classes queue 2 Voice set class-of-service forwarding-classes queue 3 NC set class-of-service interfaces ge-0/0/0 unit 0 forwarding-class Voice
设备 R3
set interfaces ge-0/0/0 unit 0 family inet address 10.50.0.1/30 set interfaces ge-0/0/1 unit 0 family inet address 10.40.0.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要启用默认 DSCP 行为聚合分类器:
-
配置设备接口。
[edit interfaces] user@R2# set ge-0/0/0 unit 0 family inet address 10.30.0.2/30 user@R2# set ge-0/0/1 unit 0 family inet address 10.40.0.1/30 user@R2# set lo0 unit 0 family inet address 192.168.0.2/32
-
配置内部网关协议 (IGP) 或静态路由。
[edit protocols ospf area 0.0.0.0] user@R2# set interface ge-0/0/0.0 user@R2# set interface ge-0/0/1.0 user@R2# set interface lo0.0 passive
-
配置一组转发类。
[edit class-of-service forwarding-classes] user@R2# set queue 0 BE-data user@R2# set queue 1 Premium-data user@R2# set queue 2 Voice user@R2# set queue 3 NC
-
将到达 ge-0/0/0.0 的所有流量映射到语音队列。
[edit class-of-service interfaces ge-0/0/0 unit 0] user@R2# set forwarding-class Voice
结果
在配置模式下,输入和 show class-of-service
命令以确认show interfaces
您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以更正配置。
user@R2# show interfaces ge-0/0/0 { unit 0 { family inet { address 10.30.0.2/30; } } } ge-0/0/1 { unit 0 { family inet { address 10.40.0.1/30; } } } lo0 { unit 0 { family inet { address 192.168.0.2/32; } } }
user@R2# show protocols ospf { area 0.0.0.0 { interface ge-0/0/0.0; interface ge-0/0/1.0; interface lo0.0 { passive; } } }
user@R2# show class-of-service forwarding-classes { queue 0 BE-data; queue 1 Premium-data; queue 2 Voice; queue 3 NC; } interfaces { ge-0/0/0 { unit 0 { forwarding-class Voice; } } }
完成设备配置后,请从配置模式进入 commit
。
验证
确认配置工作正常。
验证固定接口分类器
目的
验证在设备 R2 的入口接口上是否启用了固定接口分类器。请记住,尽管分类器对传入数据包进行操作,但您可以在传出(出口)接口上查看生成的队列分配。
行动
清除设备 R2 出口接口上的接口统计信息。
user@R2> clear interface statistics ge-0/0/1
使用数据包生成器将 TCP 数据包发送到设备 R2 下游的设备。
此示例使用数据包生成器运行。
root@host> sudo hping3 10.40.0.2 -c 25 –fast HPING 10.40.0.2 (eth0 10.40.0.2): NO FLAGS are set, 40 headers + 0 data bytes len=46 ip=10.40.0.2 ttl=62 id=8619 sport=0 flags=RA seq=0 win=0 rtt=1.9 ms len=46 ip=10.40.0.2 ttl=62 id=8620 sport=0 flags=RA seq=1 win=0 rtt=2.8 ms len=46 ip=10.40.0.2 ttl=62 id=8621 sport=0 flags=RA seq=2 win=0 rtt=1.9 ms len=46 ip=10.40.0.2 ttl=62 id=8623 sport=0 flags=RA seq=3 win=0 rtt=1.8 ms len=46 ip=10.40.0.2 ttl=62 id=8624 sport=0 flags=RA seq=4 win=0 rtt=7.1 ms len=46 ip=10.40.0.2 ttl=62 id=8625 sport=0 flags=RA seq=5 win=0 rtt=1.8 ms len=46 ip=10.40.0.2 ttl=62 id=8626 sport=0 flags=RA seq=6 win=0 rtt=1.8 ms len=46 ip=10.40.0.2 ttl=62 id=8627 sport=0 flags=RA seq=7 win=0 rtt=1.9 ms len=46 ip=10.40.0.2 ttl=62 id=8628 sport=0 flags=RA seq=8 win=0 rtt=2.0 ms len=46 ip=10.40.0.2 ttl=62 id=8634 sport=0 flags=RA seq=9 win=0 rtt=7.4 ms len=46 ip=10.40.0.2 ttl=62 id=8635 sport=0 flags=RA seq=10 win=0 rtt=1.8 ms len=46 ip=10.40.0.2 ttl=62 id=8636 sport=0 flags=RA seq=11 win=0 rtt=2.0 ms len=46 ip=10.40.0.2 ttl=62 id=8637 sport=0 flags=RA seq=12 win=0 rtt=7.8 ms len=46 ip=10.40.0.2 ttl=62 id=8639 sport=0 flags=RA seq=13 win=0 rtt=7.0 ms len=46 ip=10.40.0.2 ttl=62 id=8640 sport=0 flags=RA seq=14 win=0 rtt=1.8 ms len=46 ip=10.40.0.2 ttl=62 id=8641 sport=0 flags=RA seq=15 win=0 rtt=7.2 ms len=46 ip=10.40.0.2 ttl=62 id=8642 sport=0 flags=RA seq=16 win=0 rtt=2.1 ms len=46 ip=10.40.0.2 ttl=62 id=8643 sport=0 flags=RA seq=17 win=0 rtt=2.0 ms len=46 ip=10.40.0.2 ttl=62 id=8644 sport=0 flags=RA seq=18 win=0 rtt=7.3 ms len=46 ip=10.40.0.2 ttl=62 id=8645 sport=0 flags=RA seq=19 win=0 rtt=1.7 ms len=46 ip=10.40.0.2 ttl=62 id=8646 sport=0 flags=RA seq=20 win=0 rtt=7.1 ms len=46 ip=10.40.0.2 ttl=62 id=8647 sport=0 flags=RA seq=21 win=0 rtt=2.0 ms len=46 ip=10.40.0.2 ttl=62 id=8648 sport=0 flags=RA seq=22 win=0 rtt=1.7 ms len=46 ip=10.40.0.2 ttl=62 id=8649 sport=0 flags=RA seq=23 win=0 rtt=1.8 ms len=46 ip=10.40.0.2 ttl=62 id=8651 sport=0 flags=RA seq=24 win=0 rtt=1.8 ms
在设备 R2 上,验证语音队列是否在递增。
user@R2> show interfaces extensive ge-0/0/1 | find "queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 BE-data 0 0 0 1 Premium-data 0 0 0 2 Voice 25 25 0 3 NC 3 3 0 Queue number: Mapped forwarding classes 0 BE-data 1 Premium-data 2 Voice 3 NC ...
意义
输出显示,在通过设备 R2 上的 ge-0/0/0 接口发送 25 个数据包后,语音队列已递增 25 个数据包。