在 Cumulus Linux 交换机上配置 ERSPAN

问题

本文适用于以下问题

  • SPAN 目标不可用。
  • 接口类型或多种类型阻止使用笔记本电脑作为 SPAN 目标。

控制平面必须处理此数据,这会影响目标交换机的 CPU。

环境

  • Cumulus Linux,所有版本

解决方案

正常的 ERSPAN 设置规则适用;有关详细信息,请参阅网络故障排除章节

  1. 为 SPAN 源创建规则;例如

    cumulus@switch:~$ cat /etc/cumulus/acl/policy.d/span.rules
    [iptables]
    -A FORWARD --in-interface swp50 -j ERSPAN --src-ip 192.168.0.1 --dst-ip 192.168.0.2
    -A FORWARD --out-interface swp50 -j ERSPAN --src-ip 192.168.0.1 --dst-ip 192.168.0.2
    
  2. 安装规则

    cumulus@switch:~$ sudo cl-acltool -i
    
  3. 验证您已安装 SPAN 规则

    cumulus@switch:~$ cl-acltool -L all | grep SPAN
    41229 4368K ERSPAN all -- swp50 any anywhere anywhere ERSPAN src-ip:192.168.0.1 dst-ip:192.168.0.2
    17540 1126K ERSPAN all -- any swp50 anywhere anywhere ERSPAN src-ip:192.168.0.1 dst-ip:192.168.0.2
    

目标交换机不期望 ERSPAN 数据包,因此会生成 ICMP 目标不可达数据包作为结果。您进行的任何捕获都包含这些数据包。

要删除这些数据包,请将如下 ACL 添加到目标交换机

cumulus@switch:~$ cat /etc/cumulus/acl/policy.d/span.rules
[iptables]
-A OUTPUT --out-interface swp3 -p icmp --icmp-type destination-unreachable -j DROP