そもそも NEEDLEWORK って?という人はコチラからどうぞ。
【NEEDLEWORK 仮想】テスト環境はどう構築したら良い?
ネットワークテスト自動化アプライアンスである NEEDLEWORK の仮想アプライアンスについて、Hyper-V 上へのインストールが完了していること(※)を前提として、そこから NEEDLEWORK 端末でどのようにテスト実行環境を構築したら良いのか、について記載します。
(※)NEEDLEWORK インストール用 PowerShell スクリプトを実行した状態
なお、ここでは重要ポイントのみ記載するため、全体の手順については公式の事前準備マニュアルを確認してください。
テスト用インターフェースの追加
PowerShell スクリプトによって NEEDLEWORK のインストールを実施した直後の時点では、NEEDLEWORK の仮想マシンにはインターフェースとして管理用インターフェースのみが作成されている状態となっています。
ここからテスト用インターフェース(テスト対象の FW などと接続するためのインターフェース)を追加する必要があります。
USB LAN アダプタの用意
テスト用インターフェースを NEEDLEWORK に追加するためには、NEEDLEWORK がインストールされている端末に有線 LAN アダプタが必要です。
最近のノート PC では有線 LAN アダプタが無いものも多く、またテスト用インターフェースは最低 2 ポート必要なため、USB LAN アダプタを使用することになります。
公式の動作環境情報によると、推奨されている USB LAN アダプタの仕様は以下の通りです。
USB LAN アダプタ推奨仕様
- リンクレート:1Gbps
- チップ:ASIX AX88179
- USB規格:USB 3.2 Gen 1×1(USB 3.1 Gen 1/USB3.0)以上
松田が動作確認して正常動作を確認できた USB LAN アダプタは以下の通りです。
※ポリシーテストでの正常動作を確認
- UGREEN LAN Switch 有線LANアダプター USB3.0 to RJ45 有線LAN
- BUFFALO 有線LANアダプター LUA4-U3-AGTE-NBK
- TP-Link 有線LANアダプタ ギガビット イーサネット
また、推奨仕様外の 100Mbps の Realtek のアダプタですが以下でもポリシーテストについては正常に動作することを確認しています。
ASIX 製チップのアダプタについては、現時点ではドライバーバージョンとして 1.20.7.0 が推奨されています。
テスト用インターフェース追加スクリプトの実行
NEEDLEWORK の VM イメージをダウンロードした際に一緒にダウンロードできる、テスト用インターフェース追加スクリプトがあるため、これを使用して NEEDLEWORK の仮想マシンにインターフェースを追加します。
スクリプトを実行する前に、USB LAN アダプタを端末に接続し、さらにケーブルを接続して UP させておく必要があります。そうでなければスクリプト実行時にアダプタが検出されません。
スクリプトを実行すると、以下のように UP 状態のアダプタが検出され、使用するアダプタを指定することになります。
トランスクリプトが開始されました。出力ファイル: C:\Users\user01\Documents\90_job\06_softwater\NEEDLEWORK\AddTestInterface_Log_20220315211159
ネットワークアダプタ情報を取得中です。
仮想スイッチ情報を取得中です。(10分程度かかる場合があります)
現在テスト用インターフェースとして指定できるネットワークアダプタです。
Name Status InterfaceDescription
---- ------ --------------------
VMware Network Adapter VMnet1 Up VMware Virtual Ethernet Adapter for VMnet1
VMware Network Adapter VMnet8 Up VMware Virtual Ethernet Adapter for VMnet8
イーサネット 8 Up ASIX AX88179 USB 3.0 to Gigabit Ethernet Adapter #2
イーサネット 11 Up ASIX AX88179 USB 3.0 to Gigabit Ethernet Adapter #3
イーサネット Up Intel(R) Ethernet Connection (2) I219-V
Wi-Fi 3 Up TP-Link Wireless MU-MIMO USB Adapter
テスト用インターフェースとして使用するネットワークアダプタ名(Name)を指定してください。:
上の「イーサネット 8」と「イーサネット 11」が USB LAN アダプタです。
例として、「イーサネット 8」を指定します。すると、以下のように作成するスイッチ名を問われます。
テスト用インターフェースとして使用するネットワークアダプタ名(Name)を指定してください。: イーサネット 8
新たに作成するスイッチ名を入力してください。:
このスイッチとは、Hyper-V における仮想スイッチのことです。指定したスイッチ名の仮想スイッチ(外部ネットワーク設定)が作成され、その仮想スイッチに指定したアダプタが紐づけられることになります。
ここでは例としてスイッチ名を TestSW01
とします。すると以下のように処理が進みます。
テスト用インターフェースとして使用するネットワークアダプタ名(Name)を指定してください。: イーサネット 8
新たに作成するスイッチ名を入力してください。: TestSW01
vSwitchを作成しています...
VMNetworkAdapterを作成しています...
VLANを構成しています...
テスト用インターフェースの作成が完了しました。
--作成オブジェクト---
VMSwitch: TestSW01
Testinterface: TestInterface_TestSW01
PhysicalInterface: イーサネット 8
-----
終了するには何かキーを押してください。
上のログにもある通り、NEEDLEWORK の仮想マシンに対しては、TestInterface_TestSW01
という名前のインターフェースが追加されます。
スクリプト実行後の Hyper-V の設定を見てみます。
まず、仮想スイッチですが以下のようにスクリプト実行中に指定した名前のスイッチが作成されています。外部ネットワーク設定で、アダプタとしてはスクリプト実行中に指定したアダプタが設定されています。

続いて仮想マシン NEEDLEWORK の設定ですが、以下の通りネットワークアダプタが追加され、スクリプトで作成された仮想スイッチが設定されています。

このように、スクリプトを実行すると仮想マシン NEEDLEWORK のインターフェースが一つ追加されます。
追加するインターフェースの数分だけスクリプトを実行することになります。
※テスト用インターフェースの最大数は 3 です
なお、USB ポートが 2 ポートしかない端末だとしても、NEEDLEWORK のインターフェースを 3 つ作成することが可能です。USB LAN アダプタを別のアダプタに差し替えてスクリプトを実行すれば OK です。NEEDLEWORK のインターフェースを 3 つ作成しておけば、3 つの USB LAN アダプタの内、任意の 2 つを端末に接続して NEEDLEWORK でテストを実行する、といったことができます。
使用する USB LAN アダプタを変更したい場合
使用する USB LAN アダプタを変更したい場合は、Hyper-V の仮想スイッチ設定を変更することで対応できます。
仮想スイッチの設定画面で以下赤枠の部分のドロップダウンリストから、変更後のアダプタを指定すれば OK です。インターフェース追加用スクリプトを再実行せずともテストはできました。

ライセンスアクティベート
ポリシーテストを実行するためにはライセンスアクティベートする必要があるため、テスト用インターフェース追加後にライセンスアクティベートを行います。
Hyper-V マネージャーで NEEDLEWORK を起動し、ホストマシンにてブラウザで「http://192.0.2.1:8080/
」にアクセスするとダッシュボード画面を表示できます。
ダッシュボード画面左上のメニューから [ライセンス管理] を選択します。

ライセンス管理画面で、あらかじめ取得したライセンスを選択し、アップロードします。

この後は NEEDLEWORK がクラウドのライセンスサーバと通信してライセンスアクティベートが実施されます。
手動でのライセンスアクティベート
手動でのライセンスアクティベートは任意のタイミングで実施できます。アクティベートをすると次のアクティベートまでの期限が 7 日にリセットされるため、アクティベートできるタイミングで実施しておくと良いかもしれません。
方法は、ライセンス管理画面で [アクティベート] をクリックするだけです。

以下画像のようにアクティベート期限が 7 日にリセットされ、緑チェックマークが表示されればアクティベート成功です。

USB LAN アダプタの接続構成はどうしたら良い?
公式の動作環境情報によると、アダプタの接続構成について以下の記載があります。
- USB LANアダプタとの接続にUSBハブを接続する構成には対応していません。
つまり、端末の USB ポートと USB LAN アダプタは以下のように直接接続する必要があると考えられます。

確かに上の構成で正常にポリシーテストが実施できることを確認しました。
ここで、試しに以下の 2 つの構成でポリシーテストを実施してみました。
- 片方の USB LAN アダプタを USB ハブを挟んで接続した構成

- USB ハブに 2 つの USB LAN アダプタを接続した構成

※使用した USB ハブ: UGREEN USB3.0 ハブ 4ポート拡張
結果として、上記 2 つのどちらの構成でもポリシーテストは正常に実施できました。ポリシーテストについては問題なさそうですが、推奨外の構成のため正常動作は保証できません。また、スループットテストやセッションテストには悪影響がありそうな気がします。
管理アクセスはリモート端末からも可能
NEEDLEWORK へ管理アクセスし、ダッシュボード画面を表示するためには、NEEDLEWORK がインストールされている端末にて「http://192.0.2.1:8080/
」にアクセスすれば、管理インターフェースからアクセス可能です。
さらに、NEEDLEWORK がインストールされている端末とネットワーク疎通性がある別の端末からもアクセスすることが可能です。
というのも、NEEDLEWORK をインストールするためのスクリプトで、実はポートフォワーディングの設定も同時にされるため、NEEDLEWORK がインストールされている端末に対して 8080 ポート宛に http アクセスすることで、NEEDLEWORK に管理アクセスできます。

これを利用して、NEEDLEWORK 端末はテスト対象機器の近くに置いておいて、テスト実行操作はリモート端末から実施するということも可能です。
NEEDLEWORK の管理画面にアクセスできない場合
NEEDLEWORK の仮想マシンを起動しても、NEEDLEWORK の管理画面にアクセスできず、また NEEDLEWORK から Ping 応答もないという状況に何度か遭遇しています。
特に、ホストマシンに USB LAN アダプタを接続していない状態か、または接続していても LAN ケーブルを接続していない場合にこの事象になる確率が高い気がします。
この場合は、ホストマシンに USB LAN アダプタを接続し、LANケーブルを接続して UP 状態にしてから NEEDLEWORK を起動しなおすと、NEEDLEWORK 管理画面にアクセスできるようになることが多いです。
以上の結果から、NEEDLEWORK を起動する前に USB LAN アダプタの接続および LAN ケーブルを接続して UP 状態にしておくことをお勧めします。
参考資料

