如何监控VLAN流量?

网络工程 思科 转变 VLAN snmp 纳米
2021-08-01 15:54:47

我们已经迁移到一个新的 ISP,该 ISP 为我们提供多种服务(Internet+VoIP+VoD)并且将每个服务分别划分在一个 vlan 100,101,102 中。现在我正在寻找一种解决方案来监控每个服务并测量每个 vlan 上的带宽。我知道我们在 L3 SVI 接口上没有计数器。我虽然端口通道子接口有计数器可操作但没有。

我们在 4500-X 上接收 3 个 vlan/服务并将它们中继到 vlan 604 到 CMTS。vlan 260 用于 IPTV 多播。

总之,我使用 cacti 来监控接口上的带宽,我需要一种类似的方法来在 vlan 上执行此操作。

也许 Netflow 可以解决这个问题,但在投资之前,我希望您能找到一个更简单的解决方案,如 Cacti。

这里的拓扑

============4500-X==================
!----------ingress - From ISP-----------------
sw-4500-X#sh run int te1/1/15 
Building configuration...

Current configuration : 171 bytes
!
interface TenGigabitEthernet1/1/15
 description Po from ISP 
 switchport trunk allowed vlan 100-102
 switchport mode trunk
 channel-group 5 mode active
end

sw-4500-X#sh run int te2/1/15
Building configuration...

Current configuration : 171 bytes
!
interface TenGigabitEthernet2/1/15
 description Po from ISP 
 switchport trunk allowed vlan 100-102
 switchport mode trunk
 channel-group 5 mode active
end

!----------egress port to CMTS------------------
sw-4500-X#sh run int te1/1/1
Building configuration...

Current configuration : 192 bytes
!
interface TenGigabitEthernet1/1/1
 description link Po1 -> CMTS (te2/0/0)
 switchport trunk allowed vlan 260,706
 switchport mode trunk
 load-interval 30
 channel-group 1 mode on
end

sw-4500-X#sh run int te2/1/1
Building configuration...

Current configuration : 192 bytes
!
interface TenGigabitEthernet2/1/1
 description link Po1 -> CMTS (te1/0/0)
 switchport trunk allowed vlan 260,706
 switchport mode trunk
 load-interval 30
 channel-group 1 mode on
end

编辑 :

这里是 snmpwalk 的输出

[root@unix ~]# snmpwalk -v 2c -c rw_community <IP-4500-x> IF-MIB::ifName
....
IF-MIB::ifName.168 = STRING: VLAN-100  
IF-MIB::ifName.169 = STRING: VLAN-101   
IF-MIB::ifName.170 = STRING: Vl100  
IF-MIB::ifName.171 = STRING: VLAN-102  
IF-MIB::ifName.172 = STRING: Vl101  
IF-MIB::ifName.173 = STRING: Vl102  
...

[root@unix ~]# snmpwalk -v 2c -c rw_community <IP-4500-x> IF-MIB::ifName.168
IF-MIB::    IFName.168 = STRING: VLAN-100
[root@unix ~]# snmpwalk -v 2c -c rw_community <IP-4500-x>     IF-MIB::    IFHCInUcastPkts.168
IF-MIB::    IFHCInUcastPkts.168 = No Such Instance currently exists at this OID
[root@unix ~]# snmpwalk -v 2c -c rw_community <IP-4500-x>     IF-MIB::    IFHCOutUcastPkts.168
IF-MIB::    IFHCOutUcastPkts.168 = No Such Instance currently exists at this OID
[root@unix ~]# snmpwalk -v 2c -c rw_community <IP-4500-x>     IF-MIB::    IFHCInOctets.168
IF-MIB::    IFHCInOctets.168 = No Such Instance currently exists at this OID
[root@unix ~]# snmpwalk -v 2c -c rw_community <IP-4500-x>     IF-MIB::    IFHCOutOctets.168
IF-MIB::    IFHCOutOctets.168 = No Such Instance currently exists at this OID

但是如果我尝试使用 .170 我得到

[root@unix ~]# snmpwalk -v 2c -c rw_community <IP-4500-x> IF-MIB:ifHCInUcastPkts.170
IF-MIB::ifHCInUcastPkts.170 = Counter64: 0
[root@unix ~]# snmpwalk -v 2c -c rw_community <IP-4500-x> IF-MIB:ifHCOutOctets.170
IF-MIB::ifHCOutOctets.170 = Counter64: 325414481

这让我又问了一个问题:为什么在同一接口(VLAN-100 和 Vl100)中有这种差异?

我的主要问题仍未得到解答,因为我得到的 OID 用于接口上的数据包和字节计数器。

我想得到的是某些 vlan 上的带宽测量。到目前为止,我只将 Netflow 视为一种可能的解决方案。

编辑2:

我正在尝试添加 Cacti,但遇到了一些问题。

添加接口 vlan100 时显示的图形:

仙人掌

如何添加这样的接口并进行计算以显示正确的流量图??正如迈克·彭宁顿 (Mike Pennington) 所建议的

3个回答

Vlan100Vlan101Vlan102轮询ifHCInUcastPktsifHCOutUcastPktsifHCInOctets和 ifHCOutOctets。您可以通过步行找到这些 SVIifIndexifName

这让我又问了一个问题:为什么在同一接口(VLAN-100 和 Vl100)中有这种差异?

  • VLAN-100是实际 layer2 vlan 的虚拟接口;没有与之关联的 IP 地址,因此它不能拥有您尝试轮询的计数器
  • Vlan100 是 SVI,这就是为什么您可以获得 IP 计数器

我的主要问题仍未得到解答,因为我得到的 OID 用于接口上的数据包和字节计数器。

这就是 SNMP 将为您提供的有关带宽的全部内容;地球上的每个 SNMP 监控站(例如cactiObserviumGraphite)都从这些相同的字节计数器(即ifHCInOctets / ifHCOutOctets)中导出接口带宽图

我想得到的是某些 vlan 上的带宽测量。到目前为止,我只将 Netflow 视为一种可能的解决方案。

欢迎您使用任何您喜欢的工具。但是,我不确定简单地切换到 Netflow 有什么帮助...... NMS 系统(无论它们说的是 SNMP 还是 Netflow)都是复杂的野兽......

尝试在 SVI 下添加counter命令(请参阅此处了解更多信息,特别是“了解 L3 接口计数器”部分)。

例如:

 Cisco#config t
 Cisco(config)#interface vlan 100
 Cisco(config-if)#counter ?
   ipv4  Enable IPv4 statistic counters
   ipv6  Enable IPv6 statistic counters
   <cr>
 Cisco(config-if)#counter
 Cisco(config-if)#end

结合迈克的出色答案,这可能就是您想要的。

迈克的回答非常有效,如果这更适合您,我会同意。

我基于您问题的两点来回答这个问题 1) 您没有监控 vlan 流量的方法,但您想监控它们(三个 vlan - 100、101 和 102) 2)您确实有监控的方法接口流量

我想建议为此使用SPAN(交换端口分析器)功能。 http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4500/12-2/25ew/configuration/guide/conf/span.html#wp1044290 这是怎么回事。

场景 1 您将 Span 端口目的地保留在不同的交换机中,并且希望收集来自不同交换机的流量。

1) 创建三个新的 vlan - 200、201 和 202。这将纯粹用于 SPAN 目的。

2) 在您想要收集流量的任何交换机中,将 SPAN 源配置为 vlan(100 或 101 或 102)流量并将 SPAN 目的地配置为相应的配对 vlan(200、201 或 202)

3) 您必须在从源交换机到需要进行监控的目标交换机的所有交换机中创建这些 vlan 200、201 和 202

4) 在目的交换机上,将三个端口配置在对应的vlan 200、201、202中。

5) 将 RSPAN 的源配置为 vlan(200、201 和 202),并将目标配置为您刚刚配置的相应接口。

6) 监控这些接口,就像您使用您的工具监控任何其他接口一样。

场景 2 您只想监控通过一台交换机(特别是您的 4500 交换机)的流量, 在这种情况下,它要简单得多。此解决方案特定于 4500。 http://www.cisco.com/c/en/us/support/docs/switches/catalyst-6500-series-switches/10570-41.html#anc30

上面的链接告诉您如何监控 4500 中中继上的特定 vlan。

希望这是有用的。