文档首页/ 虚拟私有云 VPC/ 用户指南/ 流量镜像/ 流量镜像配置示例/ 将源弹性网卡的出/入方向TCP流量镜像到其他VPC内的目的弹性网卡
更新时间:2024-11-22 GMT+08:00
分享

将源弹性网卡的出/入方向TCP流量镜像到其他VPC内的目的弹性网卡

方案架构

当您需要将镜像源(弹性网卡)和指定实例通信产生的出/入方向TCP流量,镜像到其他VPC内的镜像目的(弹性网卡)时,您可以参考本文的配置示例。如图1所示,镜像源ECS-source和镜像目的ECS-target分别位于VPC-A和VPC-B中,由于不同VPC默认网络隔离,需要先使用对等连接连通两个VPC之间的网络。本示例中,通过镜像会话将VPC-A内的ECS-source和VPC-B内的ECS-test-B之间的互访流量,镜像到VPC-B内的ECS-target中,不需要镜像VPC-A内的ECS-source和ECS-test-A之间的互访流量,则您创建1个镜像会话可以实现需求。本示例中,在镜像会话mirror-session-01进行如下配置:
  • 镜像源是ECS-source的弹性网卡-s,表示需要镜像弹性网卡-s出方向和入方向的TCP流量。
  • 镜像目的是ECS-target的弹性网卡-t,表示将弹性网卡-s的TCP流量镜像到弹性网卡-t中。
  • 镜像会话的筛选条件mirror-filter-01中,出方向和入方向需要分别添加以下规则:
    • 两条出方向规则:规则1不采集ECS-source去往ECS-test-A的TCP流量,规则2采集ECS-source去往ECS-test-B的TCP流量。
    • 两条入方向规则:规则1不采集ECS-test-A进入ECS-source的TCP流量,规则2采集ECS-test-B进入ECS-source的TCP流量。
图1 镜像出/入方向TCP流量到其他VPC内的镜像目的

约束与限制

关于流量镜像的使用限制,具体请查看流量镜像的使用限制

资源规划说明

本示例中,虚拟私有云VPC和子网、弹性公网IP以及弹性云服务器ECS等资源只要位于同一个区域内即可,可用区可以任意选择,无需保持一致。

以下资源规划详情仅为示例,您可以根据需要自行修改。

表1 镜像出/入方向TCP流量资源规划总体说明

资源类型

资源数量

说明

虚拟私有云VPC和子网

VPC:2

子网:2

本示例中,共需要2个VPC,配置说明如下:
  • VPC名称:请根据实际情况设置,本示例分别为VPC-A和VPC-B。
  • IPv4网段:请根据实际情况设置,本示例VPC-A为192.168.0.0/16、VPC-B为10.0.0.0/16。
  • 子网名称:请根据实际情况设置,本示例共2个子网,VPC-A内的子网为Subnet-A01、VPC-B内的子网为Subnet-B01。
  • 子网IPv4网段:请根据实际情况设置,本示例Subnet-A01为192.168.0.0/24,Subnet-B01为10.0.1.0/24。

弹性云服务器ECS

4

本示例中,共需要4个ECS,配置说明如下:
  • 名称:根据实际情况设置,本示例分别为ECS-source、ECS-target、ECS-test-A和ECS-test-B。
  • 实例规格类型:本示例中镜像源ECS-source使用通用计算增强型c7t,当前仅支持部分规格ECS的弹性网卡作为镜像源,具体请参见流量镜像的使用限制。其他ECS的规格类型不做限制。
  • 镜像:请根据实际情况设置,本示例为公共镜像(Huawei Cloud EulerOS 2.0 标准版 64位)。
  • 系统盘:通用型SSD盘,40GB。
  • 数据盘:本示例未选购数据盘,请您根据实际业务需求选购数据盘。
  • 网络:
    • 虚拟私有云:选择您的虚拟私有云,本示例ECS-source和ECS-test-A为VPC-A、ECS-target和ECS-test-B为VPC-B。
    • 子网:选择子网,本示例ECS-source和ECS-test-A为Subnet-A01、ECS-target和ECS-test-B为Subnet-B01。
  • 安全组:本示例中,4个ECS属于同一个安全组Sg-X,需要确保表2中的规则均已正确添加即可。
    如果ECS属于不同的安全组,则除了分别在不同安全组配置表2中的规则外,还需要添加以下规则:
    • 如果访问镜像源的测试ECS和镜像源ECS属于不同安全组,比如ECS-test-A属于Sg-X,ECS-source属于Sg-A,则需要在Sg-A和Sg-X中额外添加表3中的规则,允许ECS-test-A和ECS-source流量互访。ECS-test-B同理。
    • 如果镜像源ECS和镜像目的ECS属于不同安全组,比如ECS-source属于Sg-A,ECS-target属于Sg-B,则需要在Sg-B中额外添加表4中的规则,允许来自镜像源封装的UDP协议报文访问镜像目的的4789端口。
  • 弹性公网IP:选择“暂不购买”。
  • 私有IP地址:ECS-source为192.168.0.230,ECS-target为10.0.1.97,ECS-test-A为192.168.0.161,ECS-test-B为10.0.1.156

弹性公网IP

1

  • 计费模式:请根据情况选择计费模式,本示例为按需计费。
  • EIP名称:请根据实际情况设置,本示例为EIP-A。
  • EIP地址:EIP地址系统随机分配,本示例为124.X.X.187。

VPC对等连接

1

  • 名称:请根据实际情况设置,本示例为Peering-AB。
  • 本端VPC:请根据实际情况设置,本示例为VPC-A,网段为192.168.0.0/16。
  • 账户:本示例中VPC-A和VPC-B属于同一个账户,选择“当前账户”。

    如果您的两个VPC属于不同账号,则流量镜像不支持跨账号使用。

  • 对端项目:保持默认选择。
  • 对端VPC:请根据实际情况设置,本示例为VPC-B,网段为10.0.0.0/16。
  • 对等连接路由,请根据实际情况设置,本示例路由规划详情请参见表5

筛选条件

1

  • 名称:请根据实际情况设置,本示例为mirror-filter-01。
  • 入方向规则:添加2条入方向规则,规则详情请参见表6
    • 规则1:表示不采集VPC-A内所有实例进入镜像源ECS-source的TCP流量。ECS-test-A属于VPC-A,本示例中不采集ECS-test-A进入ECS-source的TCP流量。
    • 规则2:表示采集VPC-B内所有实例进入镜像源ECS-source的TCP流量。ECS-test-B属于VPC-B,本示例中采集ECS-test-B进入ECS-source的TCP流量。
  • 出方向规则:添加2条出方向规则,规则详情请参见表6
    • 规则1:表示不采集镜像源ECS-source去往VPC-A内所有实例的TCP流量。ECS-test-A属于VPC-A,本示例中不采集ECS-source去往ECS-test-A的TCP流量。
    • 规则2:表示采集镜像源ECS-source去往VPC-B内所有实例的TCP流量。ECS-test-B属于VPC-B,本示例中采集ECS-source去往ECS-test-B的TCP流量。

镜像会话

1

  • 镜像会话基本信息:
    • 名称:请根据实际情况设置,本示例为mirror-session-01。
    • 优先级:请根据实际情况设置,本示例为1。
    • VXLAN网络标识:请根据实际情况设置,本示例为1。
    • 镜像报文长度:请根据实际情况设置,本示例为96。
    • 是否开启:开启,镜像会话开启后,才会监控镜像源的网络流量。
  • 关联筛选条件:请根据实际情况设置,本示例为mirror-filter-01。
  • 关联镜像源:请根据实际情况设置,本示例为ECS-source的弹性网卡,私有IP地址为192.168.0.230。
  • 关联镜像目的:
    • 类型:云服务器网卡
    • 网卡:请根据实际情况设置,本示例为ECS-target的弹性网卡,私有IP地址为10.0.1.97。
表2 安全组Sg-X规则说明

方向

策略

类型

协议端口

源地址/目的地址

描述

入方向

允许

IPv4

TCP: 22

源地址:0.0.0.0/0

放通安全组内ECS的SSH(22)端口,用于远程登录Linux ECS。

入方向

允许

IPv4

TCP: 3389

源地址:0.0.0.0/0

放通安全组内ECS的RDP(3389)端口,用于远程登录Windows ECS。

入方向

允许

IPv4

全部

源地址:当前安全组Sg-X

针对IPv4,用于安全组内ECS之间网络互通。

入方向

允许

IPv6

全部

源地址:当前安全组Sg-X

针对IPv6,用于安全组内ECS之间网络互通。

出方向

允许

IPv4

全部

目的地址:0.0.0.0/0

针对IPv4,用于安全组内ECS访问外部,允许流量从安全组内ECS流出。

出方向

允许

IPv6

全部

目的地址:::/0

针对IPv6,用于安全组内ECS访问外部,允许流量从安全组内ECS流出。

本示例中,入方向源地址设置为0.0.0.0/0表示允许所有外部IP远程登录云服务器,如果将22或3389端口暴露到公网,可能存在网络安全风险,建议您将源IP设置为已知的IP地址,比如设置为您的本地PC地址。

表3 安全组Sg-A和Sg-X规则说明(允许ECS流量互访)

安全组

方向

策略

类型

协议端口

源地址

描述

Sg-A

入方向

允许

IPv4

TCP: 1234

本示例放通ECS-test-A所在安全组的流量

安全组:Sg-X

针对IPv4,允许来自ECS-test-A的TCP协议报文访问镜像源ECS-source的1234端口。

Sg-X

入方向

允许

IPv4

TCP: 全部

本示例放通ECS-source所在安全组的流量

安全组:Sg-A

针对IPv4,允许来自镜像源ECS-source的TCP协议报文访问ECS-test-A的全部端口。

表4 安全组Sg-B规则说明

方向

策略

类型

协议端口

源地址

描述

入方向

允许

IPv4

UDP: 4789

镜像源的地址,本示例为ECS-source的私有IP地址:

192.168.0.230/32

针对IPv4,允许来自镜像源ECS-source封装的UDP协议报文访问镜像目的ECS-target的4789端口。

表5 VPC对等连接路由

虚拟私有云

路由表

目的地址

下一跳

描述

VPC-A

rtb-VPC-A(默认路由表)

本示例为VPC-B的网段:

10.0.0.0/16

对等连接:Peering-AB

本端VPC-A到对端VPC-B的去程路由。

VPC-B

rtb-VPC-B(默认路由表)

本示例为VPC-A的网段:

192.168.0.0/16

对等连接:Peering-AB

对端VPC-B到本端VPC-A的回程路由。

表6 筛选条件的入方向和出方向规则

方向

优先级

协议

策略

类型

源地址

源端口范围

目的地址

目的端口范围

入方向

1

TCP

不采集

IPv4

报文的来源地址,本示例为VPC-A的网段:

192.168.0.0/16

全部

报文的目的地址,本示例为VPC-A的网段:

192.168.0.0/16

全部

入方向

2

TCP

采集

IPv4

报文的来源地址,本示例为VPC-B的网段:

10.0.0.0/16

全部

报文的目的地址,本示例为ECS-source的私有IP地址:

192.168.0.230/32

本示例为ECS-source的1234端口:

1234-1234

出方向

1

TCP

不采集

IPv4

报文的来源地址,本示例为VPC-A的网段:

192.168.0.0/16

全部

报文的目的地址,本示例为VPC-A的网段:

192.168.0.0/16

全部

出方向

2

TCP

采集

IPv4

报文的来源地址,本示例为ECS-source的私有IP地址:

192.168.0.230/32

全部

报文的目的地址,本示例为VPC-B的网段:

10.0.0.0/16

本示例为ECS-test-B的1234端口:

1234-1234

操作流程

将源弹性网卡和指定实例通信产生的出/入方向TCP流量,镜像到其他VPC内的弹性网卡,流程如图2所示。

图2 镜像出/入方向TCP流量到其他VPC内的镜像目的

步骤一:创建云服务资源

  1. 创建2个VPC和2个子网。

    具体方法请参见创建虚拟私有云和子网

  2. 创建4个ECS。

    具体方法请参见自定义购买ECS

  3. 申请弹性公网IP。

    具体方法请参见购买弹性公网IP

步骤二:创建VPC对等连接

创建VPC对等连接,连通VPC-A和VPC-B之间的网络,具体方法请参见创建相同账户下的对等连接

对等连接创建完成,需要在VPC-A和VPC-B的路由表分别添加连通去程和回程的路由,两端VPC才可以通信,本示例的路由规划详情请参见表5

步骤三:创建筛选条件和镜像会话

  1. 创建1个筛选条件。

    具体方法请参见创建筛选条件

  2. 创建1个镜像会话,关联筛选条件、镜像源以及镜像目的。

    具体方法请参见创建镜像会话

步骤四:安装NC工具模拟数据流量

本文使用NC工具模拟数据流量,NC工具是一个通过TCP/UDP协议在网络中读写数据的工具,常用于网络端口测试等,需要在ECS-source、ECS-test-A和ECS-test-B中安装NC工具。

  1. 在ECS-source中安装NC工具。
    1. 下载NC工具需要连接公网,将EIP绑定至ECS-source。

      具体方法请参见绑定弹性公网IP

    2. 远程登录ECS-source。

      ECS有多种登录方法,具体请参见登录弹性云服务器

    3. 依次执行以下命令,安装NC工具。

      sudo yum update

      回显类似如下信息:
      [root@ecs-source ~]# sudo yum update
      HCE 2.0 base                                                                                                                                                 55 MB/s | 6.1 MB     00:00    
      HCE 2.0 updates                                                                                                                                              98 MB/s |  14 MB     00:00    
      Last metadata expiration check: 0:00:01 ago on Tue 10 Sep 2024 05:54:28 PM CST.
      Dependencies resolved.
      Nothing to do.
      Complete!

      sudo yum install nc

      回显类似如下信息,请根据回显提示输入y,并按回车。
      [root@ecs-source ~]# sudo yum install nc
      Last metadata expiration check: 0:00:12 ago on Tue 10 Sep 2024 05:54:28 PM CST.
      Dependencies resolved.
      ...
      Install  2 Packages
      
      Total download size: 6.1 M
      Installed size: 25 M
      Is this ok [y/N]: y
      Downloading Packages:
      ...    
      Importing GPG key 0xA8DEF926:
       Userid     : "HCE <support@huaweicloud.com>"
       Fingerprint: C1BA 9CD4 9D03 A206 E241 F176 28DA 5B77 A8DE F926
       From       : http://repo.huaweicloud.com/hce/2.0/updates/RPM-GPG-KEY-HCE-2
      Is this ok [y/N]: y
      ...
      Installed:
        libssh2-1.10.0-2.r10.hce2.x86_64                                                               nmap-2:7.92-2.r4.hce2.x86_64                                                              
      
      Complete!
    4. ECS-source的NC工具安装完成后,解绑EIP。

      具体方法请参见解绑弹性公网IP

  2. 参考1.a~1.d,在ECS-test-A中安装NC工具,并解绑EIP。
  3. 参考1.a~1.d,在ECS-test-B中安装NC工具,并解绑EIP。
  4. EIP解绑后,删除EIP。

    本示例中不再需要使用EIP,因此删除EIP,具体方法请参见解绑弹性公网IP。如果不删除EIP,则EIP会持续计费。

步骤五:验证镜像会话是否对ECS-source和ECS-test-A互访的流量生效

本示例中,将验证镜像会话不采集相同VPC内,ECS-source和ECS-test-A互访的流量。

  1. 执行以下操作,建立ECS-source和ECS-test-A之间的TCP连接。

    本示例在ECS-source向ECS-test-A发送TCP报文,查看ECS-test-A是否可以收到该报文。

    1. 在ECS-source中,执行以下命令,开启1234端口的监听。

      nc -l 镜像源ECS-source的监听端口

      命令示例:

      nc -l 1234

      此处回显为空,表示监听已正常开启。

    2. 在ECS-test-A中,执行以下命令,建立ECS-source和ECS-test-A之间的TCP连接。

      nc 镜像源ECS-source的私有IP地址 镜像源ECS-source的监听端口

      命令示例:

      nc 192.168.0.230 1234

      此处回显为空,表示TCP连接已建立。

    3. 在ECS-source中,输入任意信息(比如hello),并按回车,测试TCP连接是否建立成功。
      [root@ecs-source ~]# nc -l 1234
      hello
    4. 在ECS-test-A中,查看是否收到来自ECS-source的信息。
      回显类似如下信息,可正常收到信息,表示TCP连接建立成功。
      [root@ecs-test-a ~]# nc 192.168.0.230 1234
      hello
  2. 执行以下操作,测试ECS-source去往ECS-test-A的出方向TCP报文,是否可以镜像到ECS-target。
    当镜像源ECS-source实时向ECS-test-A发送TCP报文时,通过TCPDUMP工具,查看镜像目的ECS-target是否可以获取到该报文的数据包,如果获取不到,则表示出方向的不采集规则配置生效。
    1. 远程登录ECS-target。

      ECS有多种登录方法,具体请参见登录弹性云服务器

    2. 在ECS-target中,执行以下命令,查看镜像目的对应的网卡名称。

      ifconfig

      回显类似如下信息,本示例中镜像目的对应的网卡名称为eth0。
      [root@ecs-target ~]# ifconfig
      eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 10.0.1.97  netmask 255.255.255.0  broadcast 10.0.1.255
              inet6 fe80::f816:3eff:fea0:a101  prefixlen 64  scopeid 0x20<link>
              ether fa:16:3e:a0:a1:01  txqueuelen 1000  (Ethernet)
              RX packets 103445  bytes 119352826 (113.8 MiB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 34118  bytes 15630293 (14.9 MiB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      ...
    3. 在ECS-target中,执行以下命令,通过TCPDUMP工具观察数据包获取情况。

      tcpdump -i 镜像目的对应的网卡名称 udp port 4789 -nne

      命令示例:

      tcpdump -i eth0 udp port 4789 -nne

      回显类似如下信息:
      [root@ecs-target ~]# tcpdump -i eth0 udp port 4789 -nne
      dropped privs to tcpdump
      tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    4. 在ECS-source中,输入任意信息(比如to testa),并按回车,向ECS-test-A发送TCP报文。
      回显类似如下信息:
      [root@ecs-source ~]# nc -l 1234
      hello
      to testa
    5. 在ECS-test-A中,查看是否收到来自ECS-source的信息。
      回显类似如下信息,可正常收到信息。
      [root@ecs-test-a ~]# nc 192.168.0.230 1234
      hello
      to testa
    6. 在ECS-target中,查看是否可以获取到报文的数据包。

      回显类似如下信息,可以看到TCPDUMP工具启动后,没有获取到ECS-source发送至ECS-test-A的信息to testa对应的数据包,表示出方向的不采集规则设置成功。

      [root@ecs-target ~]# tcpdump -i eth0 udp port 4789 -nne
      dropped privs to tcpdump
      tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
  3. 执行以下操作,测试ECS-test-A进入ECS-source的入方向TCP报文,是否可以镜像到ECS-target。

    当ECS-test-A实时向镜像源ECS-source发送TCP报文时,通过TCPDUMP工具,查看镜像目的ECS-target是否可以获取到该报文的数据包,如果获取不到,则表示入方向的不采集规则配置生效。

    1. 在ECS-test-A中,输入任意信息(比如testa to source),并按回车,向ECS-source发送TCP报文。

      回显类似如下信息:

      [root@ecs-test-a ~]# nc 192.168.0.230 1234
      hello
      to testa
      testa to source
    2. 在ECS-source中,查看是否收到来自ECS-test-A的信息。
      回显类似如下信息,可正常收到信息。
      [root@ecs-source ~]# nc -l 1234
      hello
      to testa
      testa to source
    3. 在ECS-target中,查看是否可以获取到报文的数据包。

      回显类似如下信息,可以看到TCPDUMP工具启动后,没有获取到ECS-test-A发送至ECS-source的信息testa to source对应的数据包,表示入方向的不采集规则设置成功。

      [root@ecs-target ~]# tcpdump -i eth0 udp port 4789 -nne
      dropped privs to tcpdump
      tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes

步骤六:验证镜像会话是否对ECS-source和ECS-test-B互访的流量生效

本示例中,将验证镜像会话采集不同VPC内,ECS-source和ECS-test-B互访的流量。

  1. 执行以下操作,建立ECS-source和ECS-test-B之间的TCP连接。

    本示例在ECS-test-B向ECS-source发送TCP报文,查看ECS-source是否可以收到该报文。

    1. 在ECS-test-B中,执行以下命令,开启1234端口的监听。

      nc -l ECS-test-B的监听端口

      命令示例:

      nc -l 1234

      此处回显为空,表示监听已正常开启。

    2. 在ECS-source中,执行以下命令,建立ECS-source和ECS-test-B之间的TCP连接。

      nc ECS-test-B的私有IP地址 ECS-test-B的监听端口

      命令示例:

      nc 10.0.1.156 1234

      此处回显为空,表示TCP连接已建立。

    3. 在ECS-test-B中,输入任意信息(比如hello),并按回车,测试TCP连接是否建立成功。
      [root@ecs-test-b ~]# nc -l 1234
      hello
    4. 在ECS-source中,查看是否收到来自ECS-test-B的信息。
      回显类似如下信息,可正常收到信息,表示TCP连接建立成功。
      [root@ecs-source ~]# nc 10.0.1.156 1234
      hello
  1. 执行以下操作,测试ECS-source去往ECS-test-B的出方向TCP报文,是否可以镜像到ECS-target。

    当镜像源ECS-source实时向ECS-test-B发送TCP报文时,通过TCPDUMP工具,查看镜像目的ECS-target是否可以获取到该报文的数据包,如果可以获取到,则表示出方向的采集规则配置生效。

    1. 远程登录ECS-target。

      ECS有多种登录方法,具体请参见登录弹性云服务器

    2. 在ECS-target中,执行以下命令,查看镜像目的对应的网卡名称。

      ifconfig

      回显类似如下信息,本示例中镜像目的对应的网卡名称为eth0。
      [root@ecs-target ~]# ifconfig
      eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 10.0.1.97  netmask 255.255.255.0  broadcast 10.0.1.255
              inet6 fe80::f816:3eff:fea0:a101  prefixlen 64  scopeid 0x20<link>
              ether fa:16:3e:a0:a1:01  txqueuelen 1000  (Ethernet)
              RX packets 103445  bytes 119352826 (113.8 MiB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 34118  bytes 15630293 (14.9 MiB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
      ...
    3. 在ECS-target中,执行以下命令,通过TCPDUMP工具观察数据包获取情况。

      tcpdump -i 镜像目的对应的网卡名称 udp port 4789 -nne

      命令示例:

      tcpdump -i eth0 udp port 4789 -nne

      回显类似如下信息:
      [root@ecs-target ~]# tcpdump -i eth0 udp port 4789 -nne
      dropped privs to tcpdump
      tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
    4. 在ECS-source中,输入任意信息(比如to testb),并按回车,向ECS-test-B发送TCP报文。
      回显类似如下信息:
      [root@ecs-source ~]# nc 10.0.1.156 1234
      hello
      to testb
    5. 在ECS-test-B中,查看是否收到来自ECS-source的信息。
      回显类似如下信息,可正常收到信息。
      [root@ecs-test-b ~]# nc -l 1234
      hello
      to testb
    6. 在ECS-target中,查看是否可以获取到报文的数据包。

      回显类似如下信息,可以看到TCPDUMP工具启动后,获取到ECS-source发送至ECS-test-B的信息to testb对应的数据包,时间为17:28:48.772658,表示出方向的采集规则设置成功。其中,vni 1为镜像会话mirror-session-01的标识,表示通过mirror-session-01,ECS-target可成功获取到数据包,数据包内容分为两部分,一部分是流量镜像封装的VXLAN报文,一部分是原始报文,详细说明请参见表6

      [root@ecs-target ~]# tcpdump -i eth0 udp port 4789 -nne
      dropped privs to tcpdump
      tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
      17:28:48.772658 fa:16:3e:6e:42:80 > fa:16:3e:a0:a1:01, ethertype IPv4 (0x0800), length 125: 192.168.0.230.32821 > 10.0.1.97.4789: VXLAN, flags [I] (0x08), vni 1
      fa:16:3e:7e:d6:bc > fa:16:3e:d1:6b:5d, ethertype IPv4 (0x0800), length 75: 192.168.0.230.44906 > 10.0.1.156.1234: Flags [P.], seq 935460393:935460402, ack 4279496885, win 502, options [nop,nop,TS val 1414482596 ecr 3323401462], length 9
  2. 执行以下操作,测试ECS-test-B进入ECS-source的入方向TCP报文,是否可以镜像到ECS-target。

    当ECS-test-B实时向镜像源ECS-source发送TCP报文时,通过TCPDUMP工具,查看镜像目的ECS-target是否可以获取到该报文的数据包,如果可以获取到,则表示入方向的采集规则配置生效。

    1. 在ECS-test-B中,输入任意信息(比如testb to source),并按回车,向ECS-source发送TCP报文。
      回显类似如下信息:
      [root@ecs-test-b ~]# nc -l 1234
      hello
      to testb
      testb to source
    2. 在ECS-source中,查看是否收到来自ECS-test-B的信息。
      回显类似如下信息,可正常收到信息。
      [root@ecs-source ~]# nc 10.0.1.156 1234
      hello
      to testb
      testb to source
    3. 在ECS-target中,查看是否可以获取到报文的数据包。
      回显类似如下信息,可以看到TCPDUMP工具启动后,获取到ECS-test-B发送至ECS-source的信息testb to source对应的数据包,时间为17:30:26.193420,表示入方向的采集规则设置成功。其中,vni 1为镜像会话mirror-session-01的标识,表示通过mirror-session-01,ECS-target可成功获取到数据包,数据包内容分为两部分,一部分是流量镜像封装的VXLAN报文,一部分是原始报文,详细说明请参见表6
      [root@ecs-target ~]# tcpdump -i eth0 udp port 4789 -nne
      dropped privs to tcpdump
      tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
      17:28:48.772658 fa:16:3e:6e:42:80 > fa:16:3e:a0:a1:01, ethertype IPv4 (0x0800), length 125: 192.168.0.230.32821 > 10.0.1.97.4789: VXLAN, flags [I] (0x08), vni 1
      fa:16:3e:7e:d6:bc > fa:16:3e:d1:6b:5d, ethertype IPv4 (0x0800), length 75: 192.168.0.230.44906 > 10.0.1.156.1234: Flags [P.], seq 935460393:935460402, ack 4279496885, win 502, options [nop,nop,TS val 1414482596 ecr 3323401462], length 9
      17:30:26.193420 fa:16:3e:6e:42:80 > fa:16:3e:a0:a1:01, ethertype IPv4 (0x0800), length 116: 192.168.0.230.32821 > 10.0.1.97.4789: VXLAN, flags [I] (0x08), vni 1
      fa:16:3e:7e:d6:bc > fa:16:3e:d1:6b:5d, ethertype IPv4 (0x0800), length 66: 192.168.0.230.44906 > 10.0.1.156.1234: Flags [.], ack 17, win 502, options [nop,nop,TS val 1414580016 ecr 3323563970], length 0

相关文档