OVS 和 IPFIX :: 为什么我的网桥只导出网桥到收集器的流?

网络工程 ipfix ovs
2022-03-01 13:18:22

我是 OVS 的新手,并试图让 IPFIX 在我的 OVS 网桥上工作。我正在构建上一篇文章中的重要信息:

如何让 ipfix 与 openvswitch 一起工作?

好消息是我的 OVS 开关可以将 IPFIX 流导出到我的收集器。坏消息是交换机没有导出我想要的流。交换机没有导出描述我的测试主机之间流量的流记录,而是仅导出描述交换机和收集器之间流量的记录……这是我不感兴趣的流量。

简单描述一下我的概念验证环境:我有一个带有三个 VM 的 OVS 交换机;两个测试主机和一个收集器:

root@OVSHost# ovs-vsctl list bridge
_uuid               : 2fb2fa30-e1ed-4cbf-a365-7462e5f83cbc
...
name                : "myBridge"
...
ports               : [1940fd00-2dcb-4c85-a077-bae1653d9841, 279e489d-a940-4056-b753-2213fd46d5fd,
31258106-589b-40b9-94c9-a29711991a91, ee38080d-3446-4760-a297-801c5ffe76bb]
root@OVSHost#

我将首先承认我不知道哪些端口支持测试主机,哪些支持收集器。我在收集器 VM 上设置了 libIPFIX(一个免费的 IPFIX 收集器)。最后,我通过运行以下两个命令在我的 OVS 网桥上启用了 IPFIX 导出:

ovs-vsctl clear bridge myBridge ipfix
ovs-vsctl -- set Bridge myBridge ipfix=@i -- --id=@i create IPFIX targets=\"192.168.2.2:4739\" obs_domain_id=123 obs_point_id=456 sampling=5

上述命令到位后,我看到流记录到达我的收集器。但仔细观察后,我意识到我看到的流量描述了网桥 (192.168.2.1) 和收集器 (192.168.2.2) 之间的流量。这是一个这样的记录,使用我为故障排除而编写的 python 脚本处理:

   RECORD 123, using Template 284
     138(observationPointId:4)            456
     61(flowDirection:1)                  0
     4(protocolIdentifier:1)              17
     17)  8(sourceIPv4Address:4)          192.168.2.1
     18)  12(destinationIPv4Address:4)    192.168.2.2
     19)  7(sourceTransportPort:2)        37512
     20)  11(destinationTransportPort:2)  4739

起初,我认为我的收集器软件一定是配置错误,但后来我在收集器 VM 上运行 tshark 并看到了同样的情况。(编辑使其简洁):

root@6bfcec0a4bd8:/# tshark -f 'port 4739' -d udp.port==4739,cflow -V -i eth1
Capturing on 'eth1'
Frame 64: 314 bytes on wire (2512 bits), 314 bytes captured (2512 bits) on interface 0
...
Ethernet II, Src: 32:fa:b2:2f:bf:4c (32:fa:b2:2f:bf:4c), Dst: 82:9e:f8:b2:e7:27 (82:9e:f8:b2:e7:27)
...
Internet Protocol Version 4, Src: 192.168.2.1, Dst: 192.168.2.2
...
User Datagram Protocol, Src Port: 37512, Dst Port: 4739
...
Cisco NetFlow/IPFIX
        Flow 1
            Observation Point Id: 456
            IfName: myBridge
            Protocol: UDP (17)
            SrcAddr: 192.168.2.1
            DstAddr: 192.168.2.2
            SrcPort: 37512 (37512)
            DstPort: 4739 (4739)

明白了吗?我的网桥似乎在报告 IPFIX 导出本身的流量信息。这很好……

…除了我 100% 的流记录看起来像上面那样。当我在两个测试主机之间运行测试流量时,我从来没有看到一条描述该流量的记录。绝不。就像网桥仅在流描述了流向收集器的流量并忽略所有其他流量时才导出流数据。

所以在这一点上,我假设我用来从 OVS 网桥导出流量的命令只是导出与网桥收集器流量相关的记录?我可以修改这些命令以包含或专注于测试主机吗?

0个回答
没有发现任何回复~