遗憾的是 EX4200(或任何 EX)无法做到这一点。您需要一个单独的 VLAN 逻辑单元,该单元具有自己的 VLAN 计数器。例如,这适用于瞻博网络 MX 路由器,但不适用于 EX。
但是,您可以做的是使用防火墙过滤器计算数据包和字节数。
我在这里有一个工作示例,用于 VLAN 14、571、572。您当然可以使用任何 VLAN ID。
这是过滤器:
防火墙{
家庭以太网交换{
过滤VLAN计数器{
特定于接口;
术语 vlan-14 {
从 {
dot1q-标签 14;
}
然后 {
接受;
计数 vlan-14;
}
}
术语 vlan-571 {
从 {
dot1q-tag 571;
}
然后 {
接受;
计数 vlan-571;
}
}
术语 vlan-572 {
从 {
dot1q-tag 572;
}
然后 {
接受;
计数 vlan-572;
}
}
期限默认{
然后接受;
}
}
}
}
如您所见,我们为要计算的每个 VLAN 都有一个单独的术语,并default
在末尾有一个术语。这很重要,因为如果没有最后一项,其他 VLAN 的流量将被丢弃。的interface-specific
关键字告诉以生成针对每个接口独立的计数器的开关。
您可以将此过滤器应用于您的接口:
设置接口 ae0.0 系列以太网交换过滤器输入 vlan-counters
设置接口 ae0.0 系列以太网交换过滤器输出 vlan-counters
之后,您可以在show firewall
输出中看到计数器。请注意,它们具有特定于接口的扩展:
过滤器:vlan-counters-ae1.0-i
计数器:
名称字节数据包
vlan-14-ae1.0-i 7474383 8504
vlan-571-ae1.0-i 0 0
vlan-572-ae1.0-i 0 0
过滤器:vlan-counters-ae1.0-o
计数器:
名称字节数据包
vlan-14-ae1.0-o 2651051 4919
vlan-571-ae1.0-o 2057853 14731
vlan-572-ae1.0-o 644 10
最后但并非最不重要的 SNMP 部分。
上面显示的数据包和字节计数器在 SNMPJUNIPER-FIREWALL-MIB::jnxFWCounterPacketCount
和JUNIPER-FIREWALL-MIB::jnxFWCounterByteCount
树下可见。
例如:
$ snmpget -v2c -cpublic 10.1.2.3 'JUNIPER-FIREWALL-MIB::jnxFWCounterByteCount."vlan-counters-ae1.0-o"."vlan-571-ae1.0-o".counter
瞻博网络防火墙 MIB::jnxFWCounterByteCount."vlan-counters-ae1.0-o"."vlan-571-ae1.0-o".counter = Counter64: 298848
如果您的程序不理解 OID 的编码形式,您可以使用 snmptranslate 实用程序将其转换为数字形式:
$ snmptranslate -On 'JUNIPER-FIREWALL-MIB::jnxFWCounterByteCount."vlan-counters-ae1.0-o"."vlan-571-ae1.0-o".counter'
.1.3.6.1.4.1.2636.3.5.2.1.5.21.118.108.97.110.45.99.111.117.110.116.101.114.115.45.97.101.49.46.48.45.111.16.118.108.97.110.45.53.55.49.45.97.101.49.46.48.45 .111.2