見出し画像

EVE-NGの環境でWAN回線をエミュレートする方法

以前紹介した

でネットワーク回線の品質が悪い環境を再現する方法を紹介します。
元ネタは、

です。NETemのというノードを追加します。NETemは

NETemは、広域ネットワークの特性をエミュレートしてネットワークプロトコルをテストする機能を提供するネットワークエミュレーションツール です。最新バージョンでは、遅延、パケットロス、パケット重複、バースト、輻輳、パケット順序変更などのエミュレーションをサポートしています。

Packet loss, Latency and Jitter on EVE-NG

です。

NETemのインストール

元の記事では、apt installでインストールできることになっていますが、この方法ではインストールできません。

ここからパッケージ(deb形式)をダウンロードしてインストールします。

# wget https://www.eve-ng.net/repo/pool/main/e/eve-ng-addons-netem/eve-ng-addons-netem_2.0.3-61_amd64.deb
# dpkg -i eve-ng-addons-netem_2.0.3-61_amd64.deb

です。

NETTemノードの追加

インストールできたらEVE-NGのラボにNETemノードを追加できるようになります。ノードのLinuxを選択するとImageにlinux-neyemがあるはずです。

これを選択して、名前を適当に変更sい、Ethernetsの数を2に変更して追加します。

VPCを2台追加

動作を確認するために仮想PC(VPC)を2台追加してNETemノードを経由して接続します。

VPCとNETemノードを起動

EVE-NGのラボ画面からVPCと NETemノードをstartさせます。

VPCにIPアドレスを設定

VPCにipアドレスを設定します。

VPC1

VPCS> ip 192.168.3.1
Checking for duplicate address...
VPCS : 192.168.3.1 255.255.255.0

VPC2

VPCS> ip 192.168.3.2
Checking for duplicate address...
VPCS : 192.168.3.2 255.255.255.0


PINGで確認

NETemノードに何も設定していない時は、

VPCS> ping 192.168.3.1

84 bytes from 192.168.3.1 icmp_seq=1 ttl=64 time=0.855 ms
84 bytes from 192.168.3.1 icmp_seq=2 ttl=64 time=0.861 ms
84 bytes from 192.168.3.1 icmp_seq=3 ttl=64 time=1.028 ms
84 bytes from 192.168.3.1 icmp_seq=4 ttl=64 time=0.882 ms
84 bytes from 192.168.3.1 icmp_seq=5 ttl=64 time=0.715 ms

のぐらいでPINGの応答が返ると思います。応答時間が1mSec以下です。

NETemの設定

NETemノードをクリックするとVNC Vieweが起動すると思います。

login がユーザー名:eve、パスワード:eveでログインすれば、

のような設定画面が表示されるはずです。ここでWAN回線の品質を設定できます。eth0からeth1と逆方向の設定を個別にできるようになっていますがデフォルトでは両方向同じになるSymetricになっています。
設定可能なのは、帯域(Bandwidth)、遅延(Delay)、パケットロス(Loss)です。上下の矢印キーでメニューを選択できます。リターンキーで設定を変更できます。TABキーで<OK>ボタンに移動できます。

パケットロス10%

eth0->eth1が選択された状態でリターンキーを押して、Packet Lossに10と入力してリターンキーを押します。

VPCのPINGで確認すると

VPCS> ping 192.168.3.1

192.168.3.1 icmp_seq=1 timeout
84 bytes from 192.168.3.1 icmp_seq=2 ttl=64 time=0.704 ms
192.168.3.1 icmp_seq=3 timeout
84 bytes from 192.168.3.1 icmp_seq=4 ttl=64 time=0.829 ms
84 bytes from 192.168.3.1 icmp_seq=5 ttl=64 time=1.082 ms

タイムアウトが発生します。パケットは届かないのです。

遅延10mSec

同じようにDelay(遅延)を10に設定します。

PINGで確認すると

VPCS> ping 192.168.3.1

84 bytes from 192.168.3.1 icmp_seq=1 ttl=64 time=20.868 ms
84 bytes from 192.168.3.1 icmp_seq=2 ttl=64 time=21.094 ms
84 bytes from 192.168.3.1 icmp_seq=3 ttl=64 time=20.741 ms
84 bytes from 192.168.3.1 icmp_seq=4 ttl=64 time=21.028 ms
84 bytes from 192.168.3.1 icmp_seq=5 ttl=64 time=21.071 ms

両方向で10mSe遅延する設定なので応答時間が20mSec以上になります。

助手の猫さん

ここから先は

216字
ネットワークエンジニアに必要なネットワーク管理の技術を習得するための方法についての情報を発信します。 マガジンを買った方からの質問は要望は歓迎します。

ネットワークエンジニアになりたい人に役立つかもしれない情報を発信するためのマガジンです。 何かの資格試験に合格するための役には立たないとお…

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。