
EVE-NGの環境でWAN回線をエミュレートする方法
以前紹介した
でネットワーク回線の品質が悪い環境を再現する方法を紹介します。
元ネタは、
です。NETemのというノードを追加します。NETemは
NETemは、広域ネットワークの特性をエミュレートしてネットワークプロトコルをテストする機能を提供するネットワークエミュレーションツール です。最新バージョンでは、遅延、パケットロス、パケット重複、バースト、輻輳、パケット順序変更などのエミュレーションをサポートしています。
です。
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.0VPC2
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以上になります。