Red Hat Training

A Red Hat training course is available for RHEL 8

第 18 章 端口镜像

网络管理员可以使用端口镜像来复制从一个网络设备传递给另一个网络设备的入站和出站网络流量。管理员使用端口镜像来监控网络流量并收集网络数据:

  • 调试网络问题并调整网络流
  • 检查并分析网络流量以排除网络问题
  • 检测入侵

18.1. 使用 nmcli 对网络接口进行镜像(mcli)

您可以使用 NetworkManager 配置端口镜像。以下流程通过将流量控制(tc)规则和过滤添加 enp1 s0 网络接口将 enp 1s0 的网络流量镜像到 enp7 s0 的网络流量。

先决条件

  • 用于将网络流量镜像到的网络接口。

流程

  1. 添加您要从中镜像网络流量的网络连接配置集:

    # nmcli connection add type ethernet ifname enp1s0 con-name enp1s0 autoconnect no
  2. 为带有 handle '10:' 的出口(outgoing)流量附加 prio qdisc 为 enp1s0。附加了 'prio' qdisc,没有子目录允许附加过滤器。

    # nmcli connection modify enp1s0 +tc.qdisc "root prio handle 10:"
  3. 为入口流量添加 qdisc,并带有 handle 'ffff:'。

    # nmcli connection modify enp1s0 +tc.qdisc "ingress handle ffff:"
  4. 要匹配入口和出口 qdiscs 上的数据包,并将其镜像(mirror)到另一个接口,请添加以下过滤器。

    # nmcli connection modify enp1s0 +tc.tfilter "parent ffff: matchall action mirred egress mirror dev mirror-of-enp1s0"
    
    # nmcli connection modify enp1s0 +tc.tfilter "parent 10: matchall action mirred egress mirror dev mirror-of-enp1s0"

    matchall 过滤器与所有数据包匹配, mirred 操作会将数据包重定向到目的地。

  5. 激活连接:

    # nmcli connection up enp1s0

验证步骤

  1. 安装 tcpdump 工具程序:

    # yum install tcpdump
  2. 查看目标设备中镜像的流量(mirror-of-enp1s0):

    # tcpdump -i enp7s0

其它资源