LoginSignup
3
4

More than 1 year has passed since last update.

CML2を使いこなす。(その13:トラフィックジェネレータの準備)

Last updated at Posted at 2021-09-11

はじめに

CML2をネットワーク設計の検証で使っていると、ACLやNATが想定通りに動くかどうかを確認したり、一連の流れのパケットを送信して確認したりしたいことがあるかと思います。

CML2には疑似トラフィックを生成できるトラフィックジェネレータが導入されているため、今回はトラフィックジェネレータTRexを使用するまでの準備を行っていこうと思います。

TRex使用前の準備

TRexを使うためにはいくつか準備が必要となるため、準備を行っていきます。

TRex Stateless Guiのインストール

TRexはラボに配置するノードとして実装されており、トラフィックを流したい場所に配置して使うことで任意のパケットをネットワーク上に流せます。

トラフィックの生成にはTRex Stateless Guiというクライアントソフトを使って生成する必要があるので、以下ページよりダウンロード&インストールします。(インストール手順は割愛)

TRex 2.82の導入

2021年9月現在、ノードイメージが含まれるReference platformのISOファイルの最新はrefplat_p-20210511-fcs.isoとなり、このISOファイルにはTRex 2.88が含まれています。

但し、現状最新となるTRex Stateless Gui v4.5.6ではTRex 2.88が使用する最新のJavaバージョンに対応しておらず、使えません。

そのため、1つ前のReference platformのISOファイルとなるrefplat_p-20201110-fcs.isoに入っているTRex 2.82を別途導入します。

refplat_p-20201110-fcs.isoのダウンロード

CiscoMy Accountのページから「All Release」→「2.1」→「CML-Personal 2.1.1」にある、refplat_p-20201110-fcs.isoをダウンロードします。

My Accountにたどり着けない場合は過去の以下記事を参照。

TRex 2.82の登録

ダウンロードしたrefplat_p-20201110-fcs.isoをマウントすると、「/[マウントパス]/virl-base-images/alpine-3-12-trex282」にQCOW2イメージがあるため、CML2の「TOOLS」→「Node and Image Definitions」→「IMAGE DEFINITIONS」からImage Definitionsを作成します。

尚、Node Definitionsは既に実装済みのTRexNode Definitionsを選択するため、新たに作成は不要です。

Image Definitionsの設定は実装済みのTRexImage Definitionsを参考に、以下のようにしました。

General

項目名 カスタムイメージの設定
ID alpine-3-12-trex282
Label TRex 2.82
Description TRex 2.82 (based on Alpine 3.12)
Disk Image alpine-3-12-trex282.qcow2
Node Definition TRex

Linux Native Simulation

項目名 カスタムイメージの設定
Memory -
CPUs -
CPU Limit -
Data Disk Size -
Boot Disk Size -

もしImage Definitionsの作成方法が分からなければ前回の記事を参照してください。

TRex 2.82の指定

TRexを使うため、適当なラボを作成して、TRexを配置しておきます。

何もしなければ最新バージョンのTRexが起動してしまいますが、今回のように1つのNode Definitionsに複数のImage Definitionsが結びついている場合、配置したノードの「SIMULATE」→「Image Definition」の「i」を選択すると、起動する際のバージョンを選択できます。

capture_04092021_112538.jpg

ひとまず起動はせず、Image DefinitionからTRex 2.82の選択だけ行っておきます。

capture_04092021_112832.jpg

TRexのネットワーク構成

TRexノードのインタフェースは3ポートまで使用できますが、以下表のようにクライアントからTRex Stateless Guiで接続するインタフェースはeth0、生成したトラフィックを送信するインタフェースはeth1eth2と決められています。

そのため、ラボに配置する際には接続するインタフェースを間違えないようにしましょう。

インタフェース名 用途
eth0 TRex Stateless Gui接続用
eth1 生成トラフィック送信用1
eth2 生成トラフィック送信用2

TRexへの接続

前述の通りトラフィックの生成はクライアントにインストールされているTRex Stateless Guiを使って生成するため、クライアントからTRexに接続する必要があることから、クライアントからラボ内部に接続しなければなりません。

そのため、External Connectorブリッジモードで配置しておきます。

ブリッジモードへの設定は以下参照。

また、TRexはアドレスをDHCPでもらう必要があるので、ブリッジネットワーク側でDHCPサーバを用意しておきます。

TRex起動後、コンソール画面を確認すると、以下のようにアドレスが表示されるため、クライアントから表示されているアドレスで接続を行います。

capture_04092021_192807.jpg

クライアントから先ほどインストールしたTRex Stateless Guiを起動し、「File」→「Connect」の「Connections」にアドレスを入力して「Connect」を選択することでTRexに接続できます。

capture_06092021_072526.jpg

画面下の「Log View」にエラーが表示されず、「Connected」と表示されれば接続完了です。

コンソールからの操作

先ほどアドレス確認するために開いたTRexのコンソールを見ると、画面下のバーに以下のようなメニューが表示されています。

下バー.jpg

それぞれ以下のようなメニューとなっており、それぞれ「Ctrl + B」を押した後、「番号」を入力することで画面を切り替えることができます。

番号 メニュー 説明
0 SHELL アドレス情報の表示
1 SCAPY TRexのOS操作
2 TREX 統計情報の表示
  • SHELLメニュー画面
    capture_07092021_083646.jpg

  • SCAPYメニュー画面
    capture_07092021_083715.jpg

  • TREXメニュー画面
    capture_07092021_083753.jpg

(おまけ)TRex管理ポートのアドレス固定方法

コンソールからSCAPYメニュー画面にログインすればOS操作ができるので、OS操作でIPアドレスを固定することでDHCPサーバが存在しなくてもアドレスを割り振ることができます。

ちなみにTRexAlpine Linuxで動作しているため、アドレス固定の他にもOS操作を行いたい場合は、Alpine Linuxのコマンド操作である程度のことを行うことが可能です。

/etc/network/interfacesの修正

IPアドレスを固定するには/etc/network/interfacesの設定を変更する必要があります。

デフォルトだと以下のようにDHCPの設定となっています。

変更前/etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        hostname localhost

viでアドレスなど変更した例。

変更後/etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        hostname localhost
        address 172.24.0.100
        netmask 255.255.255.0
        gateway 172.24.0.1

ネットワークサービス再起動

設定したら以下コマンドでネットワークサービスを再起動させます。

ネットワークサービスの再起動
/etc/init.d/networking restart

ipコマンドやコンソール接続した際の画面上でアドレスが変更されていれば成功です。

おわりに

今回はTRexを使用するための準備まで行いました。

次回はTRex Stateless Guiを使用して実際にトラフィックを生成してみようと思います。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4