trex仿真

EMU简介

目标是实现客户端 L2-3 协议,即 ARP、IPv6、ND、MLD、IGMP,以模拟客户端和服务器的规模。
主要属性
• 快速的客户端创建/拆卸。一个线程约 3K/秒。
• 活动客户端/命名空间的数量仅受服务器内存的限制。
• 每秒数据包 (PPS) 范围为 3-5 MPPS。
• 通过 JSON-RPC 公开的 Python 2.7/3.0 客户端 API。
• 交互式支持 - 与 TRex 控制台集成。
• 模块化设计。每个插件都是自包含的,可以单独进行测试。
• TRex-EMU 支持以下协议:
ARP、IPv6、ND、MLD、IGMP、DHCP4、SLAAC、DHCP6、DOT1Q、NETFLOOD

EMU实列

IPV4

防火墙接口配置

Trex配置
1.接口配置 :

这里只讲一写stack这个参数的作用,别的基本配置就好,前面应该已经说了 。
这个参数表示使用linux自带协议栈,使用ipv6相关的时候需要用到,应为trex协议栈还不支持ipv6.

  1. ./t-rex-64 -i -c 1 --software –emu启动服务端

  2. 新建窗口进入控制台 ./trex-console –emu

  3. 查看配置文件

  4. 执行emu_load_profile -f emu/simple_icmp.py -t --ns 1 --clients 30

  5. 查看客服端信息

  6. 防火墙查看

DHCPv4

防火墙DHCPV4配置
7. 防火墙配置好dhcp服务器

Trex配置
1./t-rex-64 -i -c 1 --software –emu启动服务端
2.新建窗口进入控制台 ./trex-console –emu
3.查看基本联通性,这个时候防火墙已经学到我们配置的接口IP了 。

我这里只使用了一个接口,所有只有一个地址 。
8. trex配置文件

  1. Trex控制台执行emu_load_profile -f emu/simple_dhcp.py -t --ns 1 --clients 100 100为客户端数量 ns 表示接口数量。

  2. 查看模拟数量

  3. 防火墙查看租约是否成功。

排错

常规配置服务器,这里有一个坑就是如果该接口上存在多个ipv4地址ipv4dhcp网关地址需要放在第一位,否则不生效,dhcp无法使用 。

*** Warning - Port 0 destination is unresolved ***
*** Warning - Port 1 destination is unresolved ***
表示占用的接口配置的网关地址不可达

SLAAC

防火墙配置

TREX配置

1.查看配置文件

  1. .进入控制台trex执行命令
    emu_load_profile -f emu/simple_ipv6.py -t --ns 1 --clients 10 --clients 客户端数量
    3.防火墙查看邻居表查看获取的地址

4.Trex查看获取地址情况
emu_show_client_info -p 0 --mac 00:00:00:70:00:01 –json

排错
虚拟机的情况下虚拟交换机需要开启如下配置,不然学不到邻居

DHCPv6

防火墙配置

Trex配置
1.进入控制台执行service
2.开启混杂模式 portattr --prom on --mult on
3.配置文件

3.开启仿真emu_load_profile -f emu/simple_dhcpv6.py -t --ns 1 --clients 10
4.查看配置

5.防火墙查看地址获取情况

排错

  1. 邻居表是否建立起来,没有邻居的话抓包会发现防火墙不回回advertise,因为找不到从那个接口发包。
  2. 防火墙回advertise但是收不到客服端的request。客服端接口没有开启混杂模式。

802.1q

防火墙配置

  1. 配置认证服务器这里使用本地认证

2.配置认证

Trex配置
1.修改配置

这里用户名密码都是test+第几个用户,比如第二个就是test2 test2
Flags设置协议

2.控制台

3.防火墙查看认证

排错
1.防火墙没有日志打印,原因时没有开启混杂模式
2.防火墙日志报不支持的协议是因为flag字段需要设置成1
3.用户名密码错误是配置文件里面没有修改用户名密码

Netflow

命令 :emu_load_profile -f emu/simple_ipfix.py
效果 :

おすすめ

転載: blog.csdn.net/qq_38595432/article/details/118395793